From 03de6af4fc3839fe390236ae030e35d6d08a9fc2 Mon Sep 17 00:00:00 2001 From: Sunny Shao Date: Fri, 17 Jan 2025 06:16:32 +0000 Subject: [PATCH] [Catalyst] Rollback the Adaptive brightness key Let the redirect highlight function work from Turbo app. NO_IFTTT=Catalyst migration Test: devtool, atest AutoBrightnessScreenTest Bug: 390525596 Flag: com.android.settings.flags.catalyst_display_settings_screen Change-Id: Id7261d8a51368c45b7e23fee911565a226b30779 --- res/xml/display_settings.xml | 2 +- .../settings/display/AutoBrightnessScreen.kt | 30 ++++++++++++++----- .../display/AutoBrightnessScreenTest.kt | 6 +++- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml index 3baf439035a..c7e29675757 100644 --- a/res/xml/display_settings.xml +++ b/res/xml/display_settings.xml @@ -34,7 +34,7 @@ settings:userRestriction="no_config_brightness"/> (settingsStore), KeyValueStore { + AbstractKeyedDataObservable(), KeyedObserver, KeyValueStore { - override fun contains(key: String) = settingsStore.contains(key) + override fun contains(key: String) = settingsStore.contains(SCREEN_BRIGHTNESS_MODE) override fun getDefaultValue(key: String, valueType: Class) = DEFAULT_VALUE.toBoolean() as T override fun getValue(key: String, valueType: Class) = - (settingsStore.getInt(key) ?: DEFAULT_VALUE).toBoolean() as T + (settingsStore.getInt(SCREEN_BRIGHTNESS_MODE) ?: DEFAULT_VALUE).toBoolean() as T override fun setValue(key: String, valueType: Class, value: T?) = - settingsStore.setInt(key, (value as? Boolean)?.toBrightnessMode()) + settingsStore.setInt(SCREEN_BRIGHTNESS_MODE, (value as? Boolean)?.toBrightnessMode()) + + override fun onFirstObserverAdded() { + // observe the underlying storage key + settingsStore.addObserver(SCREEN_BRIGHTNESS_MODE, this, HandlerExecutor.main) + } + + override fun onKeyChanged(key: String, reason: Int) { + // forward data change to preference hierarchy key + notifyChange(KEY, reason) + } + + override fun onLastObserverRemoved() { + settingsStore.removeObserver(SCREEN_BRIGHTNESS_MODE, this) + } /** Converts brightness mode integer to boolean. */ private fun Int.toBoolean() = this == SCREEN_BRIGHTNESS_MODE_AUTOMATIC @@ -128,7 +144,7 @@ class AutoBrightnessScreen : } companion object { - const val KEY = Settings.System.SCREEN_BRIGHTNESS_MODE + const val KEY = "auto_brightness_entry" private const val DEFAULT_VALUE = SCREEN_BRIGHTNESS_MODE_MANUAL } } diff --git a/tests/robotests/src/com/android/settings/display/AutoBrightnessScreenTest.kt b/tests/robotests/src/com/android/settings/display/AutoBrightnessScreenTest.kt index ab2d9bd29d9..5da5c2a8a37 100644 --- a/tests/robotests/src/com/android/settings/display/AutoBrightnessScreenTest.kt +++ b/tests/robotests/src/com/android/settings/display/AutoBrightnessScreenTest.kt @@ -128,7 +128,11 @@ class AutoBrightnessScreenTest { } private fun setScreenBrightnessMode(value: Int) = - Settings.System.putInt(context.contentResolver, AutoBrightnessScreen.KEY, value) + Settings.System.putInt( + context.contentResolver, + Settings.System.SCREEN_BRIGHTNESS_MODE, + value, + ) private fun getResId() = when {