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

Commit c7d17023 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix UserSwitchTransitionViewMediatorTest" into rvc-qpr-dev

parents d53798ab ff69d4bf
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -16,12 +16,12 @@

package com.android.systemui.car.userswitcher;

import android.app.ActivityManager;
import android.car.Car;
import android.car.user.CarUserManager;
import android.util.Log;

import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.car.CarDeviceProvisionedController;
import com.android.systemui.car.CarServiceProvider;
import com.android.systemui.car.window.OverlayViewMediator;

@@ -36,13 +36,16 @@ public class UserSwitchTransitionViewMediator implements OverlayViewMediator,
    private static final String TAG = "UserSwitchTransitionViewMediator";

    private final CarServiceProvider mCarServiceProvider;
    private final CarDeviceProvisionedController mCarDeviceProvisionedController;
    private final UserSwitchTransitionViewController mUserSwitchTransitionViewController;

    @Inject
    public UserSwitchTransitionViewMediator(
            CarServiceProvider carServiceProvider,
            CarDeviceProvisionedController carDeviceProvisionedController,
            UserSwitchTransitionViewController userSwitchTransitionViewController) {
        mCarServiceProvider = carServiceProvider;
        mCarDeviceProvisionedController = carDeviceProvisionedController;
        mUserSwitchTransitionViewController = userSwitchTransitionViewController;
    }

@@ -74,7 +77,7 @@ public class UserSwitchTransitionViewMediator implements OverlayViewMediator,
    @VisibleForTesting
    void handleUserLifecycleEvent(CarUserManager.UserLifecycleEvent event) {
        if (event.getEventType() == CarUserManager.USER_LIFECYCLE_EVENT_TYPE_STARTING
                && ActivityManager.getCurrentUser() == event.getUserId()) {
                && mCarDeviceProvisionedController.getCurrentUser() == event.getUserId()) {
            mUserSwitchTransitionViewController.handleShow(event.getUserId());
        }

+23 −4
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.car.userswitcher;

import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

@@ -24,6 +25,8 @@ import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
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.CarSystemUiTest;

@@ -37,13 +40,15 @@ import org.mockito.MockitoAnnotations;
@RunWith(AndroidTestingRunner.class)
@TestableLooper.RunWithLooper
@SmallTest
public class UserSwitchTransitionViewMediatorTest {
public class UserSwitchTransitionViewMediatorTest extends SysuiTestCase {
    private static final int TEST_USER = 100;

    private UserSwitchTransitionViewMediator mUserSwitchTransitionViewMediator;
    @Mock
    private CarServiceProvider mCarServiceProvider;
    @Mock
    private CarDeviceProvisionedController mCarDeviceProvisionedController;
    @Mock
    private UserSwitchTransitionViewController mUserSwitchTransitionViewController;
    @Mock
    private CarUserManager.UserLifecycleEvent mUserLifecycleEvent;
@@ -53,20 +58,34 @@ public class UserSwitchTransitionViewMediatorTest {
        MockitoAnnotations.initMocks(this);

        mUserSwitchTransitionViewMediator = new UserSwitchTransitionViewMediator(
                mCarServiceProvider, mUserSwitchTransitionViewController);

                mCarServiceProvider, mCarDeviceProvisionedController,
                mUserSwitchTransitionViewController);
        when(mCarDeviceProvisionedController.getCurrentUser()).thenReturn(TEST_USER);
    }

    @Test
    public void onUserLifecycleEvent_userStarting_callsHandleShow() {
    public void onUserLifecycleEvent_userStarting_isCurrentUser_callsHandleShow() {
        when(mUserLifecycleEvent.getEventType()).thenReturn(
                CarUserManager.USER_LIFECYCLE_EVENT_TYPE_STARTING);
        when(mUserLifecycleEvent.getUserId()).thenReturn(TEST_USER);

        mUserSwitchTransitionViewMediator.handleUserLifecycleEvent(mUserLifecycleEvent);

        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
    public void onUserLifecycleEvent_userSwitching_callsHandleHide() {
        when(mUserLifecycleEvent.getEventType()).thenReturn(