From 120352712885496cdf8d594045f5f9871830f1c1 Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Mon, 28 Nov 2022 14:21:28 -0800 Subject: [PATCH] [User Switcher] Set default value if setting null. Copies the logic of user manager which defaults to the device resources in order to determine if user switcher is enabled by default. Fixes: 254240785 Test: Added a unit test. Test: wipe device. Skip setup. Open user switcher, observe that there should be an add button in the fullscreen user switcher. Change-Id: I0864de61e7bb9dd7436082f2bf486cf4887a192a --- .../user/data/repository/UserRepository.kt | 10 +++++++++- .../data/repository/UserRepositoryImplTest.kt | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/user/data/repository/UserRepository.kt b/packages/SystemUI/src/com/android/systemui/user/data/repository/UserRepository.kt index 4c9b8e4639ca9..c0f03902202a2 100644 --- a/packages/SystemUI/src/com/android/systemui/user/data/repository/UserRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/user/data/repository/UserRepository.kt @@ -242,7 +242,15 @@ constructor( val isUserSwitcherEnabled = globalSettings.getIntForUser( Settings.Global.USER_SWITCHER_ENABLED, - 0, + if ( + appContext.resources.getBoolean( + com.android.internal.R.bool.config_showUserSwitcherByDefault + ) + ) { + 1 + } else { + 0 + }, UserHandle.USER_SYSTEM, ) != 0 diff --git a/packages/SystemUI/tests/src/com/android/systemui/user/data/repository/UserRepositoryImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/user/data/repository/UserRepositoryImplTest.kt index 2e527be1af89e..034c618e55d4f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/user/data/repository/UserRepositoryImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/user/data/repository/UserRepositoryImplTest.kt @@ -94,6 +94,24 @@ class UserRepositoryImplTest : SysuiTestCase() { ) } + @Test + fun userSwitcherSettings_isUserSwitcherEnabled_notInitialized() = runSelfCancelingTest { + underTest = create(this) + + var value: UserSwitcherSettingsModel? = null + underTest.userSwitcherSettings.onEach { value = it }.launchIn(this) + + assertUserSwitcherSettings( + model = value, + expectedSimpleUserSwitcher = false, + expectedAddUsersFromLockscreen = false, + expectedUserSwitcherEnabled = + context.resources.getBoolean( + com.android.internal.R.bool.config_showUserSwitcherByDefault + ), + ) + } + @Test fun refreshUsers() = runSelfCancelingTest { underTest = create(this)