[Catalyst] Add sensitivity level

NO_IFTTT=Catalyst only

Bug: 380457585
Flag: com.android.settings.flags.catalyst
Test: Manual
Change-Id: Ia98a925011723738e1a16cc0e0c3d703d3dbd505
This commit is contained in:
Jacky Wang
2024-11-26 14:01:42 +08:00
parent 1fd937f8ba
commit 8a97245b3d
14 changed files with 56 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ import com.android.settingslib.datastore.SettingsGlobalStore
import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.metadata.PreferenceLifecycleContext
import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.SwitchPreference import com.android.settingslib.metadata.SwitchPreference
class RemoveAnimationsPreference : class RemoveAnimationsPreference :
@@ -70,6 +71,9 @@ class RemoveAnimationsPreference :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
private class RemoveAnimationsStorage(private val context: Context) : private class RemoveAnimationsStorage(private val context: Context) :
NoOpKeyedObservable<String>(), KeyValueStore { NoOpKeyedObservable<String>(), KeyValueStore {

View File

@@ -24,6 +24,7 @@ import com.android.settingslib.datastore.NoOpKeyedObservable
import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.metadata.PreferenceLifecycleContext
import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
class DataSaverMainSwitchPreference(context: Context) : class DataSaverMainSwitchPreference(context: Context) :
MainSwitchBarMetadata, PreferenceLifecycleProvider { MainSwitchBarMetadata, PreferenceLifecycleProvider {
@@ -45,6 +46,9 @@ class DataSaverMainSwitchPreference(context: Context) :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun onStart(context: PreferenceLifecycleContext) { override fun onStart(context: PreferenceLifecycleContext) {
val listener = DataSaverBackend.Listener { context.notifyPreferenceChange(KEY) } val listener = DataSaverBackend.Listener { context.notifyPreferenceChange(KEY) }
dataSaverBackendListener = listener dataSaverBackendListener = listener

View File

@@ -37,6 +37,7 @@ import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.metadata.PreferenceLifecycleContext
import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.TwoStatePreference import com.android.settingslib.metadata.TwoStatePreference
import com.android.settingslib.preference.PreferenceBindingPlaceholder import com.android.settingslib.preference.PreferenceBindingPlaceholder
import com.android.settingslib.preference.SwitchPreferenceBinding import com.android.settingslib.preference.SwitchPreferenceBinding
@@ -82,6 +83,9 @@ class AdaptiveSleepPreference :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
private class Storage( private class Storage(
private val context: Context, private val context: Context,

View File

@@ -36,6 +36,7 @@ import com.android.settingslib.metadata.PreferenceLifecycleContext
import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.PreferenceSummaryProvider import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.SwitchPreference import com.android.settingslib.metadata.SwitchPreference
// LINT.IfChange // LINT.IfChange
@@ -76,6 +77,9 @@ class AmbientDisplayAlwaysOnPreference :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun onCreate(context: PreferenceLifecycleContext) { override fun onCreate(context: PreferenceLifecycleContext) {
val storage = SettingsSecureStore.get(context) val storage = SettingsSecureStore.get(context)
keyMappingObserver = keyMappingObserver =

View File

@@ -35,6 +35,7 @@ import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenBinding import com.android.settingslib.preference.PreferenceScreenBinding
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@@ -70,6 +71,9 @@ class AutoBrightnessScreen :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun isAvailable(context: Context) = override fun isAvailable(context: Context) =
context.resources.getBoolean( context.resources.getBoolean(
com.android.internal.R.bool.config_automatic_brightness_available com.android.internal.R.bool.config_automatic_brightness_available

View File

@@ -29,6 +29,7 @@ import com.android.settingslib.datastore.SettingsSystemStore
import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.SwitchPreference import com.android.settingslib.metadata.SwitchPreference
import com.android.settingslib.preference.SwitchPreferenceBinding import com.android.settingslib.preference.SwitchPreferenceBinding
@@ -54,6 +55,9 @@ class BatteryPercentageSwitchPreference :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun bind(preference: Preference, metadata: PreferenceMetadata) { override fun bind(preference: Preference, metadata: PreferenceMetadata) {
super.bind(preference, metadata) super.bind(preference, metadata)
preference.onPreferenceChangeListener = this preference.onPreferenceChangeListener = this

View File

@@ -34,6 +34,7 @@ import com.android.settingslib.metadata.PreferenceLifecycleContext
import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.PreferenceSummaryProvider import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.SwitchPreference import com.android.settingslib.metadata.SwitchPreference
import kotlin.math.roundToInt import kotlin.math.roundToInt
@@ -55,6 +56,9 @@ class PeakRefreshRateSwitchPreference :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun isAvailable(context: Context) = override fun isAvailable(context: Context) =
context.resources.getBoolean(R.bool.config_show_smooth_display) && context.resources.getBoolean(R.bool.config_show_smooth_display) &&
context.peakRefreshRate > DEFAULT_REFRESH_RATE context.peakRefreshRate > DEFAULT_REFRESH_RATE

View File

@@ -37,6 +37,7 @@ import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.PreferenceSummaryProvider import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.preferenceHierarchy import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenBinding import com.android.settingslib.preference.PreferenceScreenBinding
import com.android.settingslib.preference.PreferenceScreenCreator import com.android.settingslib.preference.PreferenceScreenCreator
@@ -76,6 +77,9 @@ class DarkModeScreen :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun isFlagEnabled(context: Context) = Flags.catalystDarkUiMode() override fun isFlagEnabled(context: Context) = Flags.catalystDarkUiMode()
override fun fragmentClass() = DarkModeSettingsFragment::class.java override fun fragmentClass() = DarkModeSettingsFragment::class.java

View File

@@ -32,6 +32,7 @@ import com.android.settingslib.metadata.MainSwitchPreference
import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.metadata.PreferenceLifecycleContext
import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
// LINT.IfChange // LINT.IfChange
class BatterySaverPreference : class BatterySaverPreference :
@@ -49,6 +50,9 @@ class BatterySaverPreference :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun isEnabled(context: Context) = override fun isEnabled(context: Context) =
!BatteryStatus(BatteryUtils.getBatteryIntent(context)).isPluggedIn !BatteryStatus(BatteryUtils.getBatteryIntent(context)).isPluggedIn

View File

@@ -26,6 +26,7 @@ import com.android.settingslib.datastore.SettingsSecureStore
import com.android.settingslib.datastore.SettingsStore import com.android.settingslib.datastore.SettingsStore
import com.android.settingslib.metadata.MainSwitchPreference import com.android.settingslib.metadata.MainSwitchPreference
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
// LINT.IfChange // LINT.IfChange
class AdaptiveConnectivityTogglePreference : class AdaptiveConnectivityTogglePreference :
@@ -40,6 +41,9 @@ class AdaptiveConnectivityTogglePreference :
override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Boolean?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
private class AdaptiveConnectivityToggleStorage( private class AdaptiveConnectivityToggleStorage(
private val context: Context, private val context: Context,

View File

@@ -23,6 +23,7 @@ import androidx.annotation.DrawableRes
import com.android.settings.R import com.android.settings.R
import com.android.settingslib.datastore.SettingsGlobalStore import com.android.settingslib.datastore.SettingsGlobalStore
import com.android.settingslib.metadata.PreferenceAvailabilityProvider import com.android.settingslib.metadata.PreferenceAvailabilityProvider
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.SwitchPreference import com.android.settingslib.metadata.SwitchPreference
// LINT.IfChange // LINT.IfChange
@@ -35,6 +36,9 @@ class AirplaneModePreference :
override fun storage(context: Context) = SettingsGlobalStore.get(context) override fun storage(context: Context) = SettingsGlobalStore.get(context)
override val sensitivityLevel
get() = SensitivityLevel.HIGH_SENSITIVITY
override fun isAvailable(context: Context) = override fun isAvailable(context: Context) =
(context.resources.getBoolean(R.bool.config_show_toggle_airplane) (context.resources.getBoolean(R.bool.config_show_toggle_airplane)
&& !context.packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK)) && !context.packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK))

View File

@@ -32,6 +32,7 @@ import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.RangeValue import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.preference.PreferenceBinding import com.android.settingslib.preference.PreferenceBinding
// LINT.IfChange // LINT.IfChange
@@ -81,6 +82,9 @@ open class CallVolumePreference :
override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun getMinValue(context: Context) = override fun getMinValue(context: Context) =
createAudioHelper(context).getMinVolume(getAudioStream(context)) createAudioHelper(context).getMinVolume(getAudioStream(context))

View File

@@ -30,6 +30,7 @@ import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.RangeValue import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.preference.PreferenceBinding import com.android.settingslib.preference.PreferenceBinding
// LINT.IfChange // LINT.IfChange
@@ -82,6 +83,9 @@ open class MediaVolumePreference :
override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun getMinValue(context: Context) = override fun getMinValue(context: Context) =
createAudioHelper(context).getMinVolume(STREAM_MUSIC) createAudioHelper(context).getMinVolume(STREAM_MUSIC)

View File

@@ -39,6 +39,7 @@ import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.RangeValue import com.android.settingslib.metadata.RangeValue
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.preference.PreferenceBinding import com.android.settingslib.preference.PreferenceBinding
// LINT.IfChange // LINT.IfChange
@@ -91,6 +92,9 @@ open class SeparateRingVolumePreference :
override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) = override fun getWritePermit(context: Context, value: Int?, myUid: Int, callingUid: Int) =
ReadWritePermit.ALLOW ReadWritePermit.ALLOW
override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY
override fun getMinValue(context: Context) = override fun getMinValue(context: Context) =
createAudioHelper(context).getMinVolume(STREAM_RING) createAudioHelper(context).getMinVolume(STREAM_RING)