CustomizeFragment.kt 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package fr.forum_thalie.tsumugi.preferences
  2. import android.os.Bundle
  3. import androidx.appcompat.app.AlertDialog
  4. import androidx.preference.*
  5. import fr.forum_thalie.tsumugi.R
  6. import fr.forum_thalie.tsumugi.preferenceStore
  7. class CustomizeFragment : PreferenceFragmentCompat() {
  8. override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
  9. setPreferencesFromResource(R.xml.customize_preferences, rootKey)
  10. val snackbarPersistent = preferenceScreen.findPreference<SwitchPreferenceCompat>("snackbarPersistent")
  11. snackbarPersistent!!.summary = if (preferenceStore.getBoolean("snackbarPersistent", false))
  12. getString(R.string.snackbarPersistent)
  13. else
  14. getString(R.string.snackbarNonPersistent)
  15. snackbarPersistent.setOnPreferenceChangeListener { preference, newValue ->
  16. if (newValue as Boolean)
  17. preference.setSummary(R.string.snackbarPersistent)
  18. else
  19. preference.setSummary(R.string.snackbarNonPersistent)
  20. true
  21. }
  22. val splitLayout = preferenceScreen.findPreference<SwitchPreferenceCompat>("splitLayout")
  23. splitLayout!!.summary = if (preferenceStore.getBoolean("splitLayout", true))
  24. getString(R.string.split_layout)
  25. else
  26. getString(R.string.not_split_layout)
  27. splitLayout.setOnPreferenceChangeListener { preference, newValue ->
  28. if (newValue as Boolean)
  29. preference.setSummary(R.string.split_layout)
  30. else
  31. preference.setSummary(R.string.not_split_layout)
  32. true
  33. }
  34. val fetchPeriod = preferenceScreen.findPreference<ListPreference>("fetchPeriod")
  35. fetchPeriod?.summaryProvider = ListPreference.SimpleSummaryProvider.getInstance()
  36. fetchPeriod?.setOnPreferenceChangeListener { _, newValue ->
  37. val builder1 = AlertDialog.Builder(context!!)
  38. if (Integer.parseInt(newValue as String) == 0)
  39. builder1.setMessage(R.string.restart_the_app)
  40. else
  41. builder1.setMessage(R.string.restart_the_app)
  42. builder1.setCancelable(true)
  43. builder1.setPositiveButton("Close" ) { dialog, _ ->
  44. dialog.cancel()
  45. }
  46. val alert11 = builder1.create()
  47. alert11.show()
  48. true
  49. }
  50. }
  51. }