From 62c898a705f6cd83fb4c404e6b9e9937f7b3b950 Mon Sep 17 00:00:00 2001 From: Brad Hinegardner Date: Tue, 29 Nov 2022 15:25:14 -0500 Subject: [PATCH] Fix no guest visible while on multi user switcher Bug: 260404638 Test: UserInteractorTest.kt test modified to ensure guest can be switched to while on secondary user Change-Id: I26ff794b024173c9833c64668e464068555a8a84 --- .../systemui/user/domain/interactor/UserInteractor.kt | 6 +++--- .../systemui/user/domain/interactor/UserInteractorTest.kt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserInteractor.kt b/packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserInteractor.kt index c5b697c90e0c9..d7b0971d91267 100644 --- a/packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserInteractor.kt @@ -114,9 +114,9 @@ constructor( private val callbackMutex = Mutex() private val callbacks = mutableSetOf() - private val userInfos = - combine(repository.userSwitcherSettings, repository.userInfos) { settings, userInfos -> - userInfos.filter { !it.isGuest || canCreateGuestUser(settings) }.filter { it.isFull } + private val userInfos: Flow> = + repository.userInfos.map { userInfos -> + userInfos.filter { it.isFull } } /** List of current on-device users to select from. */ diff --git a/packages/SystemUI/tests/src/com/android/systemui/user/domain/interactor/UserInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/user/domain/interactor/UserInteractorTest.kt index 50d239d25607f..78b0cbe8c7189 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/user/domain/interactor/UserInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/user/domain/interactor/UserInteractorTest.kt @@ -761,7 +761,7 @@ class UserInteractorTest : SysuiTestCase() { } @Test - fun `users - secondary user - no guest user`() = + fun `users - secondary user - guest user can be switched to`() = runBlocking(IMMEDIATE) { val userInfos = createUserInfos(count = 3, includeGuest = true) userRepository.setUserInfos(userInfos) @@ -770,8 +770,8 @@ class UserInteractorTest : SysuiTestCase() { var res: List? = null val job = underTest.users.onEach { res = it }.launchIn(this) - assertThat(res?.size == 2).isTrue() - assertThat(res?.find { it.isGuest }).isNull() + assertThat(res?.size == 3).isTrue() + assertThat(res?.find { it.isGuest }).isNotNull() job.cancel() }