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

Commit 49b84a0c authored by Yasin Kilicdere's avatar Yasin Kilicdere Committed by Android (Google) Code Review
Browse files

Merge "Prevent displaying duplicated guest notifications." into main

parents e183503e b22c2006
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -70,9 +70,11 @@ constructor(
    val isGuestUserResetting: Boolean = repository.isGuestUserResetting

    init {
        if (applicationContext.userId == UserHandle.USER_SYSTEM) {
            resumeSessionReceiver.register()
            resetOrExitSessionReceiver.register()
        }
    }

    /** Notifies that the device has finished booting. */
    fun onDeviceBootCompleted() {
+34 −20
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
package com.android.systemui.user.domain.interactor

import android.app.admin.DevicePolicyManager
import android.content.Context
import android.content.pm.UserInfo
import android.os.UserHandle
import android.os.UserManager
@@ -59,6 +60,7 @@ class GuestUserInteractorTest : SysuiTestCase() {
    @Mock private lateinit var switchUser: (Int) -> Unit
    @Mock private lateinit var resumeSessionReceiver: GuestResumeSessionReceiver
    @Mock private lateinit var resetOrExitSessionReceiver: GuestResetOrExitSessionReceiver
    @Mock private lateinit var otherContext: Context

    private lateinit var underTest: GuestUserInteractor

@@ -74,7 +76,10 @@ class GuestUserInteractorTest : SysuiTestCase() {
        repository = FakeUserRepository()
        repository.setUserInfos(ALL_USERS)

        underTest =
        underTest = initGuestUserInteractor(context)
    }

    private fun initGuestUserInteractor(context: Context) =
        GuestUserInteractor(
            applicationContext = context,
            applicationScope = scope,
@@ -94,7 +99,6 @@ class GuestUserInteractorTest : SysuiTestCase() {
            resumeSessionReceiver = resumeSessionReceiver,
            resetOrExitSessionReceiver = resetOrExitSessionReceiver,
        )
    }

    @Test
    fun registersBroadcastReceivers() {
@@ -102,6 +106,16 @@ class GuestUserInteractorTest : SysuiTestCase() {
        verify(resetOrExitSessionReceiver).register()
    }

    @Test
    fun registersBroadcastReceiversOnlyForSystemUser() {
        for (i in 1..5) {
            whenever(otherContext.userId).thenReturn(UserHandle.MIN_SECONDARY_USER_ID + i)
            initGuestUserInteractor(otherContext)
        }
        verify(resumeSessionReceiver).register()
        verify(resetOrExitSessionReceiver).register()
    }

    @Test
    fun onDeviceBootCompleted_allowedToAdd_createGuest() =
        runBlocking(IMMEDIATE) {