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 |