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

Commit 7d9aa7ad authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Don't show "Save guest activity?" dialog after "Reset guest" is chosen" into main

parents 331608fc 721a4e15
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -533,7 +533,7 @@ constructor(
                targetUserId = targetUserId,
                ::showDialog,
                ::dismissDialog,
                ::selectUser,
                ::switchUser
            )
        }
    }
+40 −0
Original line number Diff line number Diff line
@@ -886,6 +886,46 @@ class UserSwitcherInteractorTest : SysuiTestCase() {
        }
    }

    @Test
    fun removeGuestUser_shouldNotShowExitGuestDialog() {
        createUserInteractor()
        testScope.runTest {
            val (userInfo, guestUserInfo) = createUserInfos(count = 2, includeGuest = true)
            userRepository.setUserInfos(listOf(userInfo, guestUserInfo))
            userRepository.setSelectedUserInfo(guestUserInfo)

            whenever(manager.markGuestForDeletion(guestUserInfo.id)).thenReturn(true)
            underTest.removeGuestUser(guestUserInfo.id, userInfo.id)
            runCurrent()

            verify(manager).markGuestForDeletion(guestUserInfo.id)
            verify(activityManager).switchUser(userInfo.id)
            assertThat(collectLastValue(underTest.dialogShowRequests)()).isNull()
        }
    }

    @Test
    fun resetGuestUser_shouldNotShowExitGuestDialog() {
        createUserInteractor()
        testScope.runTest {
            val (userInfo, guestUserInfo) = createUserInfos(count = 2, includeGuest = true)
            val otherGuestUserInfo = createUserInfos(count = 1, includeGuest = true)[0]
            userRepository.setUserInfos(listOf(userInfo, guestUserInfo))
            userRepository.setSelectedUserInfo(guestUserInfo)

            whenever(manager.markGuestForDeletion(guestUserInfo.id)).thenReturn(true)
            whenever(manager.createGuest(any())).thenReturn(otherGuestUserInfo)
            underTest.removeGuestUser(guestUserInfo.id, UserHandle.USER_NULL)
            runCurrent()

            verify(manager).markGuestForDeletion(guestUserInfo.id)
            verify(manager).createGuest(any())
            verify(activityManager).switchUser(otherGuestUserInfo.id)
            assertThat(collectLastValue(underTest.dialogShowRequests)())
                .isEqualTo(ShowDialogRequestModel.ShowUserCreationDialog(isGuest = true))
        }
    }

    @Test
    fun showUserSwitcher_fullScreenDisabled_showsDialogSwitcher() {
        createUserInteractor()