diff options
3 files changed, 10 insertions, 12 deletions
diff --git a/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt b/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt index 8e850465ef7d..be705b583974 100644 --- a/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt +++ b/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt @@ -76,7 +76,7 @@ annotation class SensitivityLevel { } /** Preference interface that has a value persisted in datastore. */ -interface PersistentPreference<T> { +interface PersistentPreference<T> : PreferenceMetadata { /** * The value type the preference is associated with. @@ -93,7 +93,7 @@ interface PersistentPreference<T> { * [PreferenceScreenRegistry.getKeyValueStore]. */ fun storage(context: Context): KeyValueStore = - PreferenceScreenRegistry.getKeyValueStore(context, this as PreferenceMetadata)!! + PreferenceScreenRegistry.getKeyValueStore(context, this)!! /** Returns the required permissions to read preference value. */ fun getReadPermissions(context: Context): Permissions? = null @@ -111,7 +111,7 @@ interface PersistentPreference<T> { context, callingPid, callingUid, - this as PreferenceMetadata, + this, ) /** Returns the required permissions to write preference value. */ @@ -136,7 +136,7 @@ interface PersistentPreference<T> { value, callingPid, callingUid, - this as PreferenceMetadata, + this, ) /** The sensitivity level of the preference. */ diff --git a/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PreferenceTypes.kt b/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PreferenceTypes.kt index 623ea22410e5..fecf3e50800a 100644 --- a/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PreferenceTypes.kt +++ b/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PreferenceTypes.kt @@ -30,9 +30,6 @@ interface FloatValuePreference : PersistentPreference<Float> { get() = Float::class.javaObjectType } -/** Common base class for preferences that have two selectable states and save a boolean value. */ -interface TwoStatePreference : PreferenceMetadata, BooleanValuePreference - /** A preference that provides a two-state toggleable option. */ open class SwitchPreference @JvmOverloads @@ -40,9 +37,10 @@ constructor( override val key: String, @StringRes override val title: Int = 0, @StringRes override val summary: Int = 0, -) : TwoStatePreference +) : BooleanValuePreference /** A preference that provides a two-state toggleable option that can be used as a main switch. */ open class MainSwitchPreference @JvmOverloads -constructor(override val key: String, @StringRes override val title: Int = 0) : TwoStatePreference +constructor(override val key: String, @StringRes override val title: Int = 0) : + BooleanValuePreference diff --git a/packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceBindings.kt b/packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceBindings.kt index b82c554ea26a..65fbe2b66e77 100644 --- a/packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceBindings.kt +++ b/packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceBindings.kt @@ -66,7 +66,7 @@ interface PreferenceCategoryBinding : PreferenceBinding { } /** A boolean value type preference associated with the abstract [TwoStatePreference]. */ -interface TwoStatePreferenceBinding : PreferenceBinding { +interface BooleanValuePreferenceBinding : PreferenceBinding { override fun bind(preference: Preference, metadata: PreferenceMetadata) { super.bind(preference, metadata) @@ -78,7 +78,7 @@ interface TwoStatePreferenceBinding : PreferenceBinding { } /** A boolean value type preference associated with [SwitchPreferenceCompat]. */ -interface SwitchPreferenceBinding : TwoStatePreferenceBinding { +interface SwitchPreferenceBinding : BooleanValuePreferenceBinding { override fun createWidget(context: Context): Preference = SwitchPreferenceCompat(context) @@ -88,7 +88,7 @@ interface SwitchPreferenceBinding : TwoStatePreferenceBinding { } /** A boolean value type preference associated with [MainSwitchPreference]. */ -interface MainSwitchPreferenceBinding : TwoStatePreferenceBinding { +interface MainSwitchPreferenceBinding : BooleanValuePreferenceBinding { override fun createWidget(context: Context): Preference = MainSwitchPreference(context) |