Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12035271 authored by Aaron Liu's avatar Aaron Liu
Browse files

[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
parent 45fdabd5
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -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

+18 −0
Original line number Diff line number Diff line
@@ -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)