pull/32/head
parent
c880a91ca0
commit
bf806a7567
@ -1,15 +1,59 @@ |
||||
package io.legado.app.ui.config |
||||
|
||||
import android.content.SharedPreferences |
||||
import android.os.Bundle |
||||
import androidx.preference.ListPreference |
||||
import androidx.preference.Preference |
||||
import androidx.preference.PreferenceFragmentCompat |
||||
import io.legado.app.R |
||||
import io.legado.app.utils.getPrefString |
||||
|
||||
|
||||
class ConfigFragment : PreferenceFragmentCompat() { |
||||
class ConfigFragment : PreferenceFragmentCompat(), Preference.OnPreferenceChangeListener, |
||||
SharedPreferences.OnSharedPreferenceChangeListener { |
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { |
||||
addPreferencesFromResource(R.xml.pref_config) |
||||
} |
||||
|
||||
override fun onResume() { |
||||
super.onResume() |
||||
preferenceManager.sharedPreferences.registerOnSharedPreferenceChangeListener(this) |
||||
} |
||||
|
||||
override fun onPause() { |
||||
preferenceManager.sharedPreferences.unregisterOnSharedPreferenceChangeListener(this) |
||||
super.onPause() |
||||
} |
||||
|
||||
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { |
||||
|
||||
|
||||
} |
||||
|
||||
override fun onPreferenceChange(preference: Preference?, newValue: Any?): Boolean { |
||||
val stringValue = newValue.toString() |
||||
|
||||
if (preference is ListPreference) { |
||||
val index = preference.findIndexOfValue(stringValue) |
||||
// Set the summary to reflect the new value. |
||||
preference.setSummary(if (index >= 0) preference.entries[index] else null) |
||||
} else { |
||||
// For all other preferences, set the summary to the value's |
||||
preference?.summary = stringValue |
||||
} |
||||
return true |
||||
} |
||||
|
||||
private fun bindPreferenceSummaryToValue(preference: Preference?) { |
||||
preference?.let { |
||||
preference.onPreferenceChangeListener = this |
||||
onPreferenceChange( |
||||
preference, |
||||
preference.context.getPrefString(preference.key, "") |
||||
) |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue