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

Commit d79364dd authored by Aaron Liu's avatar Aaron Liu Committed by Automerger Merge Worker
Browse files

Merge "[Bouncer] Remove duplicate manage users." into tm-qpr-dev am: 6cf08e5f

parents 2a2a0241 6cf08e5f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -321,6 +321,7 @@ constructor(
        return when {
            isAddUser -> false
            isAddSupervisedUser -> false
            isManageUsers -> false
            isGuest -> info != null
            else -> true
        }
@@ -346,6 +347,7 @@ constructor(
            isAddUser -> UserActionModel.ADD_USER
            isAddSupervisedUser -> UserActionModel.ADD_SUPERVISED_USER
            isGuest -> UserActionModel.ENTER_GUEST_MODE
            isManageUsers -> UserActionModel.NAVIGATE_TO_USER_MANAGEMENT
            else -> error("Don't know how to convert to UserActionModel: $this")
        }
    }
+1 −12
Original line number Diff line number Diff line
@@ -236,18 +236,7 @@ constructor(
                    }
                    .flatMapLatest { isActionable ->
                        if (isActionable) {
                            repository.actions.map { actions ->
                                actions +
                                    if (actions.isNotEmpty()) {
                                        // If we have actions, we add NAVIGATE_TO_USER_MANAGEMENT
                                        // because that's a user switcher specific action that is
                                        // not known to the our data source or other features.
                                        listOf(UserActionModel.NAVIGATE_TO_USER_MANAGEMENT)
                                    } else {
                                        // If no actions, don't add the navigate action.
                                        emptyList()
                                    }
                            }
                            repository.actions
                        } else {
                            // If not actionable it means that we're not allowed to show actions
                            // when
+1 −11
Original line number Diff line number Diff line
@@ -62,17 +62,7 @@ private constructor(
    val isMenuVisible: Flow<Boolean> = _isMenuVisible
    /** The user action menu. */
    val menu: Flow<List<UserActionViewModel>> =
        userInteractor.actions.map { actions ->
            if (isNewImpl && actions.isNotEmpty()) {
                    // If we have actions, we add NAVIGATE_TO_USER_MANAGEMENT because that's a user
                    // switcher specific action that is not known to the our data source or other
                    // features.
                    actions + listOf(UserActionModel.NAVIGATE_TO_USER_MANAGEMENT)
                } else {
                    actions
                }
                .map { action -> toViewModel(action) }
        }
        userInteractor.actions.map { actions -> actions.map { action -> toViewModel(action) } }

    /** Whether the button to open the user action menu is visible. */
    val isOpenMenuButtonVisible: Flow<Boolean> = menu.map { it.isNotEmpty() }
+5 −1
Original line number Diff line number Diff line
@@ -97,6 +97,7 @@ class UserRepositoryImplUnrefactoredTest : UserRepositoryImplTest() {
                        createUserRecord(2),
                        createActionRecord(UserActionModel.ADD_SUPERVISED_USER),
                        createActionRecord(UserActionModel.ENTER_GUEST_MODE),
                        createActionRecord(UserActionModel.NAVIGATE_TO_USER_MANAGEMENT),
                    )
                )
            var models: List<UserModel>? = null
@@ -176,15 +177,17 @@ class UserRepositoryImplUnrefactoredTest : UserRepositoryImplTest() {
                        createUserRecord(2),
                        createActionRecord(UserActionModel.ADD_SUPERVISED_USER),
                        createActionRecord(UserActionModel.ENTER_GUEST_MODE),
                        createActionRecord(UserActionModel.NAVIGATE_TO_USER_MANAGEMENT),
                    )
                )
            var models: List<UserActionModel>? = null
            val job = underTest.actions.onEach { models = it }.launchIn(this)

            assertThat(models).hasSize(3)
            assertThat(models).hasSize(4)
            assertThat(models?.get(0)).isEqualTo(UserActionModel.ADD_USER)
            assertThat(models?.get(1)).isEqualTo(UserActionModel.ADD_SUPERVISED_USER)
            assertThat(models?.get(2)).isEqualTo(UserActionModel.ENTER_GUEST_MODE)
            assertThat(models?.get(3)).isEqualTo(UserActionModel.NAVIGATE_TO_USER_MANAGEMENT)
            job.cancel()
        }

@@ -200,6 +203,7 @@ class UserRepositoryImplUnrefactoredTest : UserRepositoryImplTest() {
            isAddUser = action == UserActionModel.ADD_USER,
            isAddSupervisedUser = action == UserActionModel.ADD_SUPERVISED_USER,
            isGuest = action == UserActionModel.ENTER_GUEST_MODE,
            isManageUsers = action == UserActionModel.NAVIGATE_TO_USER_MANAGEMENT,
        )
    }
}
+7 −21
Original line number Diff line number Diff line
@@ -64,13 +64,7 @@ open class UserInteractorUnrefactoredTest : UserInteractorTest() {
    @Test
    fun `actions - not actionable when locked and not locked`() =
        runBlocking(IMMEDIATE) {
            userRepository.setActions(
                listOf(
                    UserActionModel.ENTER_GUEST_MODE,
                    UserActionModel.ADD_USER,
                    UserActionModel.ADD_SUPERVISED_USER,
                )
            )
            setActions()
            userRepository.setActionableWhenLocked(false)
            keyguardRepository.setKeyguardShowing(false)

@@ -92,13 +86,7 @@ open class UserInteractorUnrefactoredTest : UserInteractorTest() {
    @Test
    fun `actions - actionable when locked and not locked`() =
        runBlocking(IMMEDIATE) {
            userRepository.setActions(
                listOf(
                    UserActionModel.ENTER_GUEST_MODE,
                    UserActionModel.ADD_USER,
                    UserActionModel.ADD_SUPERVISED_USER,
                )
            )
            setActions()
            userRepository.setActionableWhenLocked(true)
            keyguardRepository.setKeyguardShowing(false)

@@ -120,13 +108,7 @@ open class UserInteractorUnrefactoredTest : UserInteractorTest() {
    @Test
    fun `actions - actionable when locked and locked`() =
        runBlocking(IMMEDIATE) {
            userRepository.setActions(
                listOf(
                    UserActionModel.ENTER_GUEST_MODE,
                    UserActionModel.ADD_USER,
                    UserActionModel.ADD_SUPERVISED_USER,
                )
            )
            setActions()
            userRepository.setActionableWhenLocked(true)
            keyguardRepository.setKeyguardShowing(true)

@@ -182,6 +164,10 @@ open class UserInteractorUnrefactoredTest : UserInteractorTest() {
        verify(activityStarter).startActivity(any(), anyBoolean())
    }

    private fun setActions() {
        userRepository.setActions(UserActionModel.values().toList())
    }

    companion object {
        private val IMMEDIATE = Dispatchers.Main.immediate
    }
Loading