Loading libs/WindowManager/Shell/Android.bp +9 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,15 @@ java_library { ], } java_library { name: "WindowManager-Shell-shared-desktopMode", srcs: [ "shared/**/desktopmode/*.java", "shared/**/desktopmode/*.kt", ], } android_library { name: "WindowManager-Shell", srcs: [ Loading libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt +18 −16 Original line number Diff line number Diff line Loading @@ -84,11 +84,12 @@ enum class DesktopModeFlags( // Read Setting Global if System Property is not present (just after reboot) // or not valid (user manually changed the value) val overrideFromSettingsGlobal = convertToToggleOverrideWithFallback( Settings.Global.getInt( context.contentResolver, Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, ToggleOverride.OVERRIDE_UNSET.setting) .convertToToggleOverrideWithFallback(ToggleOverride.OVERRIDE_UNSET) ToggleOverride.OVERRIDE_UNSET.setting), ToggleOverride.OVERRIDE_UNSET) // Initialize System Property System.setProperty( SYSTEM_PROPERTY_OVERRIDE_KEY, overrideFromSettingsGlobal.setting.toString()) Loading @@ -97,7 +98,6 @@ enum class DesktopModeFlags( } } // TODO(b/348193756): Share ToggleOverride enum with Settings 'DesktopModePreferenceController' /** * Override state of desktop mode developer option toggle. * Loading @@ -113,8 +113,6 @@ enum class DesktopModeFlags( OVERRIDE_ON(1) } private val settingToToggleOverrideMap = ToggleOverride.entries.associateBy { it.setting } private fun String?.convertToToggleOverride(): ToggleOverride? { val intValue = this?.toIntOrNull() ?: return null return settingToToggleOverrideMap[intValue] Loading @@ -124,16 +122,6 @@ enum class DesktopModeFlags( } } private fun Int.convertToToggleOverrideWithFallback( fallbackOverride: ToggleOverride ): ToggleOverride { return settingToToggleOverrideMap[this] ?: run { Log.w(TAG, "Unknown toggleOverride int $this") fallbackOverride } } companion object { private const val TAG = "DesktopModeFlags" Loading @@ -148,5 +136,19 @@ enum class DesktopModeFlags( * be refreshed only on reboots as overridden state takes effect on reboots. */ private var cachedToggleOverride: ToggleOverride? = null private val settingToToggleOverrideMap = ToggleOverride.entries.associateBy { it.setting } @JvmStatic fun convertToToggleOverrideWithFallback( overrideInt: Int, fallbackOverride: ToggleOverride ): ToggleOverride { return settingToToggleOverrideMap[overrideInt] ?: run { Log.w(TAG, "Unknown toggleOverride int $overrideInt") fallbackOverride } } } } libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlagsTest.kt +29 −15 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY import com.android.window.flags.Flags.FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION import com.android.wm.shell.ShellTestCase import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.Companion.convertToToggleOverrideWithFallback import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.DESKTOP_WINDOWING_MODE import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_ON Loading Loading @@ -416,6 +417,19 @@ class DesktopModeFlagsTest : ShellTestCase() { assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isFalse() } @Test fun convertToToggleOverrideWithFallback_validInt_returnsToggleOverride() { assertThat(convertToToggleOverrideWithFallback(0, OVERRIDE_UNSET)).isEqualTo(OVERRIDE_OFF) assertThat(convertToToggleOverrideWithFallback(1, OVERRIDE_UNSET)).isEqualTo(OVERRIDE_ON) assertThat(convertToToggleOverrideWithFallback(-1, OVERRIDE_ON)).isEqualTo(OVERRIDE_UNSET) } @Test fun convertToToggleOverrideWithFallback_invalidInt_returnsFallback() { assertThat(convertToToggleOverrideWithFallback(2, OVERRIDE_ON)).isEqualTo(OVERRIDE_ON) assertThat(convertToToggleOverrideWithFallback(-2, OVERRIDE_UNSET)).isEqualTo(OVERRIDE_UNSET) } private fun setOverride(setting: Int?) { val contentResolver = mContext.contentResolver val key = Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES Loading Loading
libs/WindowManager/Shell/Android.bp +9 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,15 @@ java_library { ], } java_library { name: "WindowManager-Shell-shared-desktopMode", srcs: [ "shared/**/desktopmode/*.java", "shared/**/desktopmode/*.kt", ], } android_library { name: "WindowManager-Shell", srcs: [ Loading
libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt +18 −16 Original line number Diff line number Diff line Loading @@ -84,11 +84,12 @@ enum class DesktopModeFlags( // Read Setting Global if System Property is not present (just after reboot) // or not valid (user manually changed the value) val overrideFromSettingsGlobal = convertToToggleOverrideWithFallback( Settings.Global.getInt( context.contentResolver, Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, ToggleOverride.OVERRIDE_UNSET.setting) .convertToToggleOverrideWithFallback(ToggleOverride.OVERRIDE_UNSET) ToggleOverride.OVERRIDE_UNSET.setting), ToggleOverride.OVERRIDE_UNSET) // Initialize System Property System.setProperty( SYSTEM_PROPERTY_OVERRIDE_KEY, overrideFromSettingsGlobal.setting.toString()) Loading @@ -97,7 +98,6 @@ enum class DesktopModeFlags( } } // TODO(b/348193756): Share ToggleOverride enum with Settings 'DesktopModePreferenceController' /** * Override state of desktop mode developer option toggle. * Loading @@ -113,8 +113,6 @@ enum class DesktopModeFlags( OVERRIDE_ON(1) } private val settingToToggleOverrideMap = ToggleOverride.entries.associateBy { it.setting } private fun String?.convertToToggleOverride(): ToggleOverride? { val intValue = this?.toIntOrNull() ?: return null return settingToToggleOverrideMap[intValue] Loading @@ -124,16 +122,6 @@ enum class DesktopModeFlags( } } private fun Int.convertToToggleOverrideWithFallback( fallbackOverride: ToggleOverride ): ToggleOverride { return settingToToggleOverrideMap[this] ?: run { Log.w(TAG, "Unknown toggleOverride int $this") fallbackOverride } } companion object { private const val TAG = "DesktopModeFlags" Loading @@ -148,5 +136,19 @@ enum class DesktopModeFlags( * be refreshed only on reboots as overridden state takes effect on reboots. */ private var cachedToggleOverride: ToggleOverride? = null private val settingToToggleOverrideMap = ToggleOverride.entries.associateBy { it.setting } @JvmStatic fun convertToToggleOverrideWithFallback( overrideInt: Int, fallbackOverride: ToggleOverride ): ToggleOverride { return settingToToggleOverrideMap[overrideInt] ?: run { Log.w(TAG, "Unknown toggleOverride int $overrideInt") fallbackOverride } } } }
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlagsTest.kt +29 −15 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY import com.android.window.flags.Flags.FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION import com.android.wm.shell.ShellTestCase import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.Companion.convertToToggleOverrideWithFallback import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.DESKTOP_WINDOWING_MODE import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_ON Loading Loading @@ -416,6 +417,19 @@ class DesktopModeFlagsTest : ShellTestCase() { assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isFalse() } @Test fun convertToToggleOverrideWithFallback_validInt_returnsToggleOverride() { assertThat(convertToToggleOverrideWithFallback(0, OVERRIDE_UNSET)).isEqualTo(OVERRIDE_OFF) assertThat(convertToToggleOverrideWithFallback(1, OVERRIDE_UNSET)).isEqualTo(OVERRIDE_ON) assertThat(convertToToggleOverrideWithFallback(-1, OVERRIDE_ON)).isEqualTo(OVERRIDE_UNSET) } @Test fun convertToToggleOverrideWithFallback_invalidInt_returnsFallback() { assertThat(convertToToggleOverrideWithFallback(2, OVERRIDE_ON)).isEqualTo(OVERRIDE_ON) assertThat(convertToToggleOverrideWithFallback(-2, OVERRIDE_UNSET)).isEqualTo(OVERRIDE_UNSET) } private fun setOverride(setting: Int?) { val contentResolver = mContext.contentResolver val key = Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES Loading