Merge "Fix UserSwitchTransitionViewMediatorTest" into rvc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c7d1702343
@@ -16,12 +16,12 @@
|
|||||||
|
|
||||||
package com.android.systemui.car.userswitcher;
|
package com.android.systemui.car.userswitcher;
|
||||||
|
|
||||||
import android.app.ActivityManager;
|
|
||||||
import android.car.Car;
|
import android.car.Car;
|
||||||
import android.car.user.CarUserManager;
|
import android.car.user.CarUserManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
|
import com.android.systemui.car.CarDeviceProvisionedController;
|
||||||
import com.android.systemui.car.CarServiceProvider;
|
import com.android.systemui.car.CarServiceProvider;
|
||||||
import com.android.systemui.car.window.OverlayViewMediator;
|
import com.android.systemui.car.window.OverlayViewMediator;
|
||||||
|
|
||||||
@@ -36,13 +36,16 @@ public class UserSwitchTransitionViewMediator implements OverlayViewMediator,
|
|||||||
private static final String TAG = "UserSwitchTransitionViewMediator";
|
private static final String TAG = "UserSwitchTransitionViewMediator";
|
||||||
|
|
||||||
private final CarServiceProvider mCarServiceProvider;
|
private final CarServiceProvider mCarServiceProvider;
|
||||||
|
private final CarDeviceProvisionedController mCarDeviceProvisionedController;
|
||||||
private final UserSwitchTransitionViewController mUserSwitchTransitionViewController;
|
private final UserSwitchTransitionViewController mUserSwitchTransitionViewController;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public UserSwitchTransitionViewMediator(
|
public UserSwitchTransitionViewMediator(
|
||||||
CarServiceProvider carServiceProvider,
|
CarServiceProvider carServiceProvider,
|
||||||
|
CarDeviceProvisionedController carDeviceProvisionedController,
|
||||||
UserSwitchTransitionViewController userSwitchTransitionViewController) {
|
UserSwitchTransitionViewController userSwitchTransitionViewController) {
|
||||||
mCarServiceProvider = carServiceProvider;
|
mCarServiceProvider = carServiceProvider;
|
||||||
|
mCarDeviceProvisionedController = carDeviceProvisionedController;
|
||||||
mUserSwitchTransitionViewController = userSwitchTransitionViewController;
|
mUserSwitchTransitionViewController = userSwitchTransitionViewController;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,7 +77,7 @@ public class UserSwitchTransitionViewMediator implements OverlayViewMediator,
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void handleUserLifecycleEvent(CarUserManager.UserLifecycleEvent event) {
|
void handleUserLifecycleEvent(CarUserManager.UserLifecycleEvent event) {
|
||||||
if (event.getEventType() == CarUserManager.USER_LIFECYCLE_EVENT_TYPE_STARTING
|
if (event.getEventType() == CarUserManager.USER_LIFECYCLE_EVENT_TYPE_STARTING
|
||||||
&& ActivityManager.getCurrentUser() == event.getUserId()) {
|
&& mCarDeviceProvisionedController.getCurrentUser() == event.getUserId()) {
|
||||||
mUserSwitchTransitionViewController.handleShow(event.getUserId());
|
mUserSwitchTransitionViewController.handleShow(event.getUserId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.systemui.car.userswitcher;
|
package com.android.systemui.car.userswitcher;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
@@ -24,6 +25,8 @@ import android.test.suitebuilder.annotation.SmallTest;
|
|||||||
import android.testing.AndroidTestingRunner;
|
import android.testing.AndroidTestingRunner;
|
||||||
import android.testing.TestableLooper;
|
import android.testing.TestableLooper;
|
||||||
|
|
||||||
|
import com.android.systemui.SysuiTestCase;
|
||||||
|
import com.android.systemui.car.CarDeviceProvisionedController;
|
||||||
import com.android.systemui.car.CarServiceProvider;
|
import com.android.systemui.car.CarServiceProvider;
|
||||||
import com.android.systemui.car.CarSystemUiTest;
|
import com.android.systemui.car.CarSystemUiTest;
|
||||||
|
|
||||||
@@ -37,13 +40,15 @@ import org.mockito.MockitoAnnotations;
|
|||||||
@RunWith(AndroidTestingRunner.class)
|
@RunWith(AndroidTestingRunner.class)
|
||||||
@TestableLooper.RunWithLooper
|
@TestableLooper.RunWithLooper
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public class UserSwitchTransitionViewMediatorTest {
|
public class UserSwitchTransitionViewMediatorTest extends SysuiTestCase {
|
||||||
private static final int TEST_USER = 100;
|
private static final int TEST_USER = 100;
|
||||||
|
|
||||||
private UserSwitchTransitionViewMediator mUserSwitchTransitionViewMediator;
|
private UserSwitchTransitionViewMediator mUserSwitchTransitionViewMediator;
|
||||||
@Mock
|
@Mock
|
||||||
private CarServiceProvider mCarServiceProvider;
|
private CarServiceProvider mCarServiceProvider;
|
||||||
@Mock
|
@Mock
|
||||||
|
private CarDeviceProvisionedController mCarDeviceProvisionedController;
|
||||||
|
@Mock
|
||||||
private UserSwitchTransitionViewController mUserSwitchTransitionViewController;
|
private UserSwitchTransitionViewController mUserSwitchTransitionViewController;
|
||||||
@Mock
|
@Mock
|
||||||
private CarUserManager.UserLifecycleEvent mUserLifecycleEvent;
|
private CarUserManager.UserLifecycleEvent mUserLifecycleEvent;
|
||||||
@@ -53,20 +58,34 @@ public class UserSwitchTransitionViewMediatorTest {
|
|||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
mUserSwitchTransitionViewMediator = new UserSwitchTransitionViewMediator(
|
mUserSwitchTransitionViewMediator = new UserSwitchTransitionViewMediator(
|
||||||
mCarServiceProvider, mUserSwitchTransitionViewController);
|
mCarServiceProvider, mCarDeviceProvisionedController,
|
||||||
|
mUserSwitchTransitionViewController);
|
||||||
|
when(mCarDeviceProvisionedController.getCurrentUser()).thenReturn(TEST_USER);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onUserLifecycleEvent_userStarting_callsHandleShow() {
|
public void onUserLifecycleEvent_userStarting_isCurrentUser_callsHandleShow() {
|
||||||
when(mUserLifecycleEvent.getEventType()).thenReturn(
|
when(mUserLifecycleEvent.getEventType()).thenReturn(
|
||||||
CarUserManager.USER_LIFECYCLE_EVENT_TYPE_STARTING);
|
CarUserManager.USER_LIFECYCLE_EVENT_TYPE_STARTING);
|
||||||
when(mUserLifecycleEvent.getUserId()).thenReturn(TEST_USER);
|
when(mUserLifecycleEvent.getUserId()).thenReturn(TEST_USER);
|
||||||
|
|
||||||
mUserSwitchTransitionViewMediator.handleUserLifecycleEvent(mUserLifecycleEvent);
|
mUserSwitchTransitionViewMediator.handleUserLifecycleEvent(mUserLifecycleEvent);
|
||||||
|
|
||||||
verify(mUserSwitchTransitionViewController).handleShow(TEST_USER);
|
verify(mUserSwitchTransitionViewController).handleShow(TEST_USER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onUserLifecycleEvent_userStarting_isNotCurrentUser_doesNotCallHandleShow() {
|
||||||
|
when(mUserLifecycleEvent.getEventType()).thenReturn(
|
||||||
|
CarUserManager.USER_LIFECYCLE_EVENT_TYPE_STARTING);
|
||||||
|
when(mUserLifecycleEvent.getUserId()).thenReturn(TEST_USER);
|
||||||
|
when(mCarDeviceProvisionedController.getCurrentUser()).thenReturn(TEST_USER + 1);
|
||||||
|
|
||||||
|
mUserSwitchTransitionViewMediator.handleUserLifecycleEvent(mUserLifecycleEvent);
|
||||||
|
|
||||||
|
verify(mUserSwitchTransitionViewController, never()).handleShow(TEST_USER);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onUserLifecycleEvent_userSwitching_callsHandleHide() {
|
public void onUserLifecycleEvent_userSwitching_callsHandleHide() {
|
||||||
when(mUserLifecycleEvent.getEventType()).thenReturn(
|
when(mUserLifecycleEvent.getEventType()).thenReturn(
|
||||||
|
|||||||
Reference in New Issue
Block a user