Merge "User switcher: hooks up broadcast receivers." into tm-qpr-dev
This commit is contained in:
@@ -28,6 +28,8 @@ import android.util.Log
|
|||||||
import android.view.WindowManagerGlobal
|
import android.view.WindowManagerGlobal
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import com.android.internal.logging.UiEventLogger
|
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.SysUISingleton
|
||||||
import com.android.systemui.dagger.qualifiers.Application
|
import com.android.systemui.dagger.qualifiers.Application
|
||||||
import com.android.systemui.dagger.qualifiers.Background
|
import com.android.systemui.dagger.qualifiers.Background
|
||||||
@@ -58,6 +60,8 @@ constructor(
|
|||||||
private val devicePolicyManager: DevicePolicyManager,
|
private val devicePolicyManager: DevicePolicyManager,
|
||||||
private val refreshUsersScheduler: RefreshUsersScheduler,
|
private val refreshUsersScheduler: RefreshUsersScheduler,
|
||||||
private val uiEventLogger: UiEventLogger,
|
private val uiEventLogger: UiEventLogger,
|
||||||
|
resumeSessionReceiver: GuestResumeSessionReceiver,
|
||||||
|
resetOrExitSessionReceiver: GuestResetOrExitSessionReceiver,
|
||||||
) {
|
) {
|
||||||
/** Whether the device is configured to always have a guest user available. */
|
/** Whether the device is configured to always have a guest user available. */
|
||||||
val isGuestUserAutoCreated: Boolean = repository.isGuestUserAutoCreated
|
val isGuestUserAutoCreated: Boolean = repository.isGuestUserAutoCreated
|
||||||
@@ -65,6 +69,11 @@ constructor(
|
|||||||
/** Whether the guest user is currently being reset. */
|
/** Whether the guest user is currently being reset. */
|
||||||
val isGuestUserResetting: Boolean = repository.isGuestUserResetting
|
val isGuestUserResetting: Boolean = repository.isGuestUserResetting
|
||||||
|
|
||||||
|
init {
|
||||||
|
resumeSessionReceiver.register()
|
||||||
|
resetOrExitSessionReceiver.register()
|
||||||
|
}
|
||||||
|
|
||||||
/** Notifies that the device has finished booting. */
|
/** Notifies that the device has finished booting. */
|
||||||
fun onDeviceBootCompleted() {
|
fun onDeviceBootCompleted() {
|
||||||
applicationScope.launch {
|
applicationScope.launch {
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ import android.os.UserHandle
|
|||||||
import android.os.UserManager
|
import android.os.UserManager
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.internal.logging.UiEventLogger
|
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.SysuiTestCase
|
||||||
import com.android.systemui.statusbar.policy.DeviceProvisionedController
|
import com.android.systemui.statusbar.policy.DeviceProvisionedController
|
||||||
import com.android.systemui.user.data.repository.FakeUserRepository
|
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 dismissDialog: () -> Unit
|
||||||
@Mock private lateinit var selectUser: (Int) -> Unit
|
@Mock private lateinit var selectUser: (Int) -> Unit
|
||||||
@Mock private lateinit var switchUser: (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
|
private lateinit var underTest: GuestUserInteractor
|
||||||
|
|
||||||
@@ -87,9 +91,17 @@ class GuestUserInteractorTest : SysuiTestCase() {
|
|||||||
repository = repository,
|
repository = repository,
|
||||||
),
|
),
|
||||||
uiEventLogger = uiEventLogger,
|
uiEventLogger = uiEventLogger,
|
||||||
|
resumeSessionReceiver = resumeSessionReceiver,
|
||||||
|
resetOrExitSessionReceiver = resetOrExitSessionReceiver,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `registers broadcast receivers`() {
|
||||||
|
verify(resumeSessionReceiver).register()
|
||||||
|
verify(resetOrExitSessionReceiver).register()
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `onDeviceBootCompleted - allowed to add - create guest`() =
|
fun `onDeviceBootCompleted - allowed to add - create guest`() =
|
||||||
runBlocking(IMMEDIATE) {
|
runBlocking(IMMEDIATE) {
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ import android.app.ActivityManager
|
|||||||
import android.app.admin.DevicePolicyManager
|
import android.app.admin.DevicePolicyManager
|
||||||
import android.os.UserManager
|
import android.os.UserManager
|
||||||
import com.android.internal.logging.UiEventLogger
|
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.SysuiTestCase
|
||||||
import com.android.systemui.flags.FakeFeatureFlags
|
import com.android.systemui.flags.FakeFeatureFlags
|
||||||
import com.android.systemui.flags.Flags
|
import com.android.systemui.flags.Flags
|
||||||
@@ -48,6 +50,8 @@ abstract class UserInteractorTest : SysuiTestCase() {
|
|||||||
@Mock protected lateinit var devicePolicyManager: DevicePolicyManager
|
@Mock protected lateinit var devicePolicyManager: DevicePolicyManager
|
||||||
@Mock protected lateinit var uiEventLogger: UiEventLogger
|
@Mock protected lateinit var uiEventLogger: UiEventLogger
|
||||||
@Mock protected lateinit var dialogShower: UserSwitchDialogController.DialogShower
|
@Mock protected lateinit var dialogShower: UserSwitchDialogController.DialogShower
|
||||||
|
@Mock private lateinit var resumeSessionReceiver: GuestResumeSessionReceiver
|
||||||
|
@Mock private lateinit var resetOrExitSessionReceiver: GuestResetOrExitSessionReceiver
|
||||||
|
|
||||||
protected lateinit var underTest: UserInteractor
|
protected lateinit var underTest: UserInteractor
|
||||||
|
|
||||||
@@ -107,6 +111,8 @@ abstract class UserInteractorTest : SysuiTestCase() {
|
|||||||
devicePolicyManager = devicePolicyManager,
|
devicePolicyManager = devicePolicyManager,
|
||||||
refreshUsersScheduler = refreshUsersScheduler,
|
refreshUsersScheduler = refreshUsersScheduler,
|
||||||
uiEventLogger = uiEventLogger,
|
uiEventLogger = uiEventLogger,
|
||||||
|
resumeSessionReceiver = resumeSessionReceiver,
|
||||||
|
resetOrExitSessionReceiver = resetOrExitSessionReceiver,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ import android.graphics.drawable.Drawable
|
|||||||
import android.os.UserManager
|
import android.os.UserManager
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.internal.logging.UiEventLogger
|
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.SysuiTestCase
|
||||||
import com.android.systemui.common.shared.model.Text
|
import com.android.systemui.common.shared.model.Text
|
||||||
import com.android.systemui.flags.FakeFeatureFlags
|
import com.android.systemui.flags.FakeFeatureFlags
|
||||||
@@ -69,6 +71,8 @@ class UserSwitcherViewModelTest : SysuiTestCase() {
|
|||||||
@Mock private lateinit var deviceProvisionedController: DeviceProvisionedController
|
@Mock private lateinit var deviceProvisionedController: DeviceProvisionedController
|
||||||
@Mock private lateinit var devicePolicyManager: DevicePolicyManager
|
@Mock private lateinit var devicePolicyManager: DevicePolicyManager
|
||||||
@Mock private lateinit var uiEventLogger: UiEventLogger
|
@Mock private lateinit var uiEventLogger: UiEventLogger
|
||||||
|
@Mock private lateinit var resumeSessionReceiver: GuestResumeSessionReceiver
|
||||||
|
@Mock private lateinit var resetOrExitSessionReceiver: GuestResetOrExitSessionReceiver
|
||||||
|
|
||||||
private lateinit var underTest: UserSwitcherViewModel
|
private lateinit var underTest: UserSwitcherViewModel
|
||||||
|
|
||||||
@@ -104,6 +108,8 @@ class UserSwitcherViewModelTest : SysuiTestCase() {
|
|||||||
devicePolicyManager = devicePolicyManager,
|
devicePolicyManager = devicePolicyManager,
|
||||||
refreshUsersScheduler = refreshUsersScheduler,
|
refreshUsersScheduler = refreshUsersScheduler,
|
||||||
uiEventLogger = uiEventLogger,
|
uiEventLogger = uiEventLogger,
|
||||||
|
resumeSessionReceiver = resumeSessionReceiver,
|
||||||
|
resetOrExitSessionReceiver = resetOrExitSessionReceiver,
|
||||||
)
|
)
|
||||||
|
|
||||||
underTest =
|
underTest =
|
||||||
|
|||||||
Reference in New Issue
Block a user