CustomizeFragment.kt 2.6KB

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