diff options
3 files changed, 16 insertions, 14 deletions
diff --git a/packages/SettingsLib/Graph/src/com/android/settingslib/graph/PreferenceGraphBuilder.kt b/packages/SettingsLib/Graph/src/com/android/settingslib/graph/PreferenceGraphBuilder.kt index 8b29b0044eea..ce66a360a99f 100644 --- a/packages/SettingsLib/Graph/src/com/android/settingslib/graph/PreferenceGraphBuilder.kt +++ b/packages/SettingsLib/Graph/src/com/android/settingslib/graph/PreferenceGraphBuilder.kt @@ -40,7 +40,6 @@ import com.android.settingslib.graph.proto.PreferenceProto import com.android.settingslib.graph.proto.PreferenceProto.ActionTarget import com.android.settingslib.graph.proto.PreferenceScreenProto import com.android.settingslib.graph.proto.TextProto -import com.android.settingslib.metadata.FloatPersistentPreference import com.android.settingslib.metadata.PersistentPreference import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.PreferenceHierarchy @@ -410,13 +409,13 @@ fun PreferenceMetadata.toProto( value = preferenceValueProto { when (metadata) { is RangeValue -> storage.getInt(metadata.key)?.let { intValue = it } - is FloatPersistentPreference -> - storage.getFloat(metadata.key)?.let { floatValue = it } else -> {} } when (metadata.valueType) { Boolean::class.javaObjectType -> storage.getBoolean(metadata.key)?.let { booleanValue = it } + Float::class.javaObjectType -> + storage.getFloat(metadata.key)?.let { floatValue = it } } } } @@ -428,12 +427,12 @@ fun PreferenceMetadata.toProto( max = metadata.getMaxValue(context) step = metadata.getIncrementStep(context) } - is FloatPersistentPreference -> floatType = true else -> {} } if (metadata is PersistentPreference<*>) { when (metadata.valueType) { Boolean::class.javaObjectType -> booleanType = true + Float::class.javaObjectType -> floatType = true } } } 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 4cc65815a78a..8e850465ef7d 100644 --- a/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt +++ b/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PersistentPreference.kt @@ -219,12 +219,3 @@ interface RangeValue : ValueDescriptor { override fun isValidValue(context: Context, index: Int) = index in getMinValue(context)..getMaxValue(context) } - -/** A persistent preference that has a boolean value. */ -interface BooleanPreference : PersistentPreference<Boolean> { - override val valueType: Class<Boolean> - get() = Boolean::class.javaObjectType -} - -/** A persistent preference that has a float value. */ -interface FloatPersistentPreference : PersistentPreference<Float> 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 b79a0c4f6381..623ea22410e5 100644 --- a/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PreferenceTypes.kt +++ b/packages/SettingsLib/Metadata/src/com/android/settingslib/metadata/PreferenceTypes.kt @@ -18,8 +18,20 @@ package com.android.settingslib.metadata import androidx.annotation.StringRes +/** A persistent preference that has a boolean value. */ +interface BooleanValuePreference : PersistentPreference<Boolean> { + override val valueType: Class<Boolean> + get() = Boolean::class.javaObjectType +} + +/** A persistent preference that has a float value. */ +interface FloatValuePreference : PersistentPreference<Float> { + override val valueType: Class<Float> + get() = Float::class.javaObjectType +} + /** Common base class for preferences that have two selectable states and save a boolean value. */ -interface TwoStatePreference : PreferenceMetadata, BooleanPreference +interface TwoStatePreference : PreferenceMetadata, BooleanValuePreference /** A preference that provides a two-state toggleable option. */ open class SwitchPreference |