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

Commit ec9b5b0d authored by Ale Nijamkin's avatar Ale Nijamkin Committed by Android (Google) Code Review
Browse files

Merge "User switcher: hooks up broadcast receivers." into tm-qpr-dev

parents 33b10071 d41a9d53
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ import android.util.Log
import android.view.WindowManagerGlobal
import android.widget.Toast
import com.android.internal.logging.UiEventLogger
import com.android.systemui.GuestResetOrExitSessionReceiver
import com.android.systemui.GuestResumeSessionReceiver
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
@@ -58,6 +60,8 @@ constructor(
    private val devicePolicyManager: DevicePolicyManager,
    private val refreshUsersScheduler: RefreshUsersScheduler,
    private val uiEventLogger: UiEventLogger,
    resumeSessionReceiver: GuestResumeSessionReceiver,
    resetOrExitSessionReceiver: GuestResetOrExitSessionReceiver,
) {
    /** Whether the device is configured to always have a guest user available. */
    val isGuestUserAutoCreated: Boolean = repository.isGuestUserAutoCreated
@@ -65,6 +69,11 @@ constructor(
    /** Whether the guest user is currently being reset. */
    val isGuestUserResetting: Boolean = repository.isGuestUserResetting

    init {
        resumeSessionReceiver.register()
        resetOrExitSessionReceiver.register()
    }

    /** Notifies that the device has finished booting. */
    fun onDeviceBootCompleted() {
        applicationScope.launch {
+12 −0
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ import android.os.UserHandle
import android.os.UserManager
import androidx.test.filters.SmallTest
import com.android.internal.logging.UiEventLogger
import com.android.systemui.GuestResetOrExitSessionReceiver
import com.android.systemui.GuestResumeSessionReceiver
import com.android.systemui.SysuiTestCase
import com.android.systemui.statusbar.policy.DeviceProvisionedController
import com.android.systemui.user.data.repository.FakeUserRepository
@@ -55,6 +57,8 @@ class GuestUserInteractorTest : SysuiTestCase() {
    @Mock private lateinit var dismissDialog: () -> Unit
    @Mock private lateinit var selectUser: (Int) -> Unit
    @Mock private lateinit var switchUser: (Int) -> Unit
    @Mock private lateinit var resumeSessionReceiver: GuestResumeSessionReceiver
    @Mock private lateinit var resetOrExitSessionReceiver: GuestResetOrExitSessionReceiver

    private lateinit var underTest: GuestUserInteractor

@@ -87,9 +91,17 @@ class GuestUserInteractorTest : SysuiTestCase() {
                        repository = repository,
                    ),
                uiEventLogger = uiEventLogger,
                resumeSessionReceiver = resumeSessionReceiver,
                resetOrExitSessionReceiver = resetOrExitSessionReceiver,
            )
    }

    @Test
    fun `registers broadcast receivers`() {
        verify(resumeSessionReceiver).register()
        verify(resetOrExitSessionReceiver).register()
    }

    @Test
    fun `onDeviceBootCompleted - allowed to add - create guest`() =
        runBlocking(IMMEDIATE) {
+6 −0
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@ import android.app.ActivityManager
import android.app.admin.DevicePolicyManager
import android.os.UserManager
import com.android.internal.logging.UiEventLogger
import com.android.systemui.GuestResetOrExitSessionReceiver
import com.android.systemui.GuestResumeSessionReceiver
import com.android.systemui.SysuiTestCase
import com.android.systemui.flags.FakeFeatureFlags
import com.android.systemui.flags.Flags
@@ -48,6 +50,8 @@ abstract class UserInteractorTest : SysuiTestCase() {
    @Mock protected lateinit var devicePolicyManager: DevicePolicyManager
    @Mock protected lateinit var uiEventLogger: UiEventLogger
    @Mock protected lateinit var dialogShower: UserSwitchDialogController.DialogShower
    @Mock private lateinit var resumeSessionReceiver: GuestResumeSessionReceiver
    @Mock private lateinit var resetOrExitSessionReceiver: GuestResetOrExitSessionReceiver

    protected lateinit var underTest: UserInteractor

@@ -107,6 +111,8 @@ abstract class UserInteractorTest : SysuiTestCase() {
                        devicePolicyManager = devicePolicyManager,
                        refreshUsersScheduler = refreshUsersScheduler,
                        uiEventLogger = uiEventLogger,
                        resumeSessionReceiver = resumeSessionReceiver,
                        resetOrExitSessionReceiver = resetOrExitSessionReceiver,
                    )
            )
    }
+6 −0
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ import android.graphics.drawable.Drawable
import android.os.UserManager
import androidx.test.filters.SmallTest
import com.android.internal.logging.UiEventLogger
import com.android.systemui.GuestResetOrExitSessionReceiver
import com.android.systemui.GuestResumeSessionReceiver
import com.android.systemui.SysuiTestCase
import com.android.systemui.common.shared.model.Text
import com.android.systemui.flags.FakeFeatureFlags
@@ -69,6 +71,8 @@ class UserSwitcherViewModelTest : SysuiTestCase() {
    @Mock private lateinit var deviceProvisionedController: DeviceProvisionedController
    @Mock private lateinit var devicePolicyManager: DevicePolicyManager
    @Mock private lateinit var uiEventLogger: UiEventLogger
    @Mock private lateinit var resumeSessionReceiver: GuestResumeSessionReceiver
    @Mock private lateinit var resetOrExitSessionReceiver: GuestResetOrExitSessionReceiver

    private lateinit var underTest: UserSwitcherViewModel

@@ -104,6 +108,8 @@ class UserSwitcherViewModelTest : SysuiTestCase() {
                devicePolicyManager = devicePolicyManager,
                refreshUsersScheduler = refreshUsersScheduler,
                uiEventLogger = uiEventLogger,
                resumeSessionReceiver = resumeSessionReceiver,
                resetOrExitSessionReceiver = resetOrExitSessionReceiver,
            )

        underTest =