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

Commit 6b8bfbc8 authored by Vladimir Komsiyski's avatar Vladimir Komsiyski
Browse files

Remove outdated tests from VDMS

#codehealth

Bug: 263231559
Test: atest
Flag: EXEMPT unit test
Change-Id: I1ee5d01590d9fb356af7eeba804610367f8db3e3
parent 23a5381e
Loading
Loading
Loading
Loading
+19 −202
Original line number Original line Diff line number Diff line
@@ -24,7 +24,6 @@ import static android.content.Context.DEVICE_ID_DEFAULT;
import static android.content.Context.DEVICE_ID_INVALID;
import static android.content.Context.DEVICE_ID_INVALID;
import static android.content.Intent.ACTION_VIEW;
import static android.content.Intent.ACTION_VIEW;
import static android.content.pm.ActivityInfo.FLAG_CAN_DISPLAY_ON_REMOTE_DEVICES;
import static android.content.pm.ActivityInfo.FLAG_CAN_DISPLAY_ON_REMOTE_DEVICES;
import static android.content.pm.PackageManager.ACTION_REQUEST_PERMISSIONS;


import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.common.truth.Truth.assertWithMessage;
@@ -73,7 +72,6 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentFilter;
import android.content.pm.ActivityInfo;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.hardware.Sensor;
import android.hardware.Sensor;
import android.hardware.display.DisplayManagerGlobal;
import android.hardware.display.DisplayManagerGlobal;
import android.hardware.display.DisplayManagerInternal;
import android.hardware.display.DisplayManagerInternal;
@@ -148,14 +146,9 @@ import java.util.function.Consumer;
@TestableLooper.RunWithLooper(setAsMainLooper = true)
@TestableLooper.RunWithLooper(setAsMainLooper = true)
public class VirtualDeviceManagerServiceTest {
public class VirtualDeviceManagerServiceTest {


    private static final String NONBLOCKED_APP_PACKAGE_NAME = "com.someapp";
    private static final String NONBLOCKED_APP_PACKAGE_NAME = "com.nonblocked.app";
    private static final String PERMISSION_CONTROLLER_PACKAGE_NAME =
    private static final String BLOCKED_APP_PACKAGE_NAME = "com.blocked.app";
            "com.android.permissioncontroller";
    private static final String VIRTUAL_DEVICE_OWNER_PACKAGE = "com.android.virtualdevice.test";
    private static final String VIRTUAL_DEVICE_OWNER_PACKAGE = "com.android.virtualdevice.test";
    private static final String SETTINGS_PACKAGE_NAME = "com.android.settings";
    private static final String VENDING_PACKAGE_NAME = "com.android.vending";
    private static final String GOOGLE_DIALER_PACKAGE_NAME = "com.google.android.dialer";
    private static final String GOOGLE_MAPS_PACKAGE_NAME = "com.google.android.apps.maps";
    private static final String DEVICE_NAME_1 = "device name 1";
    private static final String DEVICE_NAME_1 = "device name 1";
    private static final String DEVICE_NAME_2 = "device name 2";
    private static final String DEVICE_NAME_2 = "device name 2";
    private static final String DEVICE_NAME_3 = "device name 3";
    private static final String DEVICE_NAME_3 = "device name 3";
@@ -219,6 +212,10 @@ public class VirtualDeviceManagerServiceTest {
                    .setInputDeviceName(DEVICE_NAME_1)
                    .setInputDeviceName(DEVICE_NAME_1)
                    .setAssociatedDisplayId(DISPLAY_ID_1)
                    .setAssociatedDisplayId(DISPLAY_ID_1)
                    .build();
                    .build();

    private static final Set<ComponentName> BLOCKED_ACTIVITIES = Set.of(
            new ComponentName(BLOCKED_APP_PACKAGE_NAME, BLOCKED_APP_PACKAGE_NAME));

    private static final String TEST_SITE = "http://test";
    private static final String TEST_SITE = "http://test";


    @Rule
    @Rule
@@ -284,17 +281,6 @@ public class VirtualDeviceManagerServiceTest {
    @Mock
    @Mock
    IInputManager mIInputManagerMock;
    IInputManager mIInputManagerMock;


    private ArraySet<ComponentName> getBlockedActivities() {
        ArraySet<ComponentName> blockedActivities = new ArraySet<>();
        blockedActivities.add(new ComponentName(SETTINGS_PACKAGE_NAME, SETTINGS_PACKAGE_NAME));
        blockedActivities.add(new ComponentName(VENDING_PACKAGE_NAME, VENDING_PACKAGE_NAME));
        blockedActivities.add(
                new ComponentName(GOOGLE_DIALER_PACKAGE_NAME, GOOGLE_DIALER_PACKAGE_NAME));
        blockedActivities.add(
                new ComponentName(GOOGLE_MAPS_PACKAGE_NAME, GOOGLE_MAPS_PACKAGE_NAME));
        return blockedActivities;
    }

    private Intent createRestrictedActivityBlockedIntent(Set<String> displayCategories,
    private Intent createRestrictedActivityBlockedIntent(Set<String> displayCategories,
            String targetDisplayCategory) {
            String targetDisplayCategory) {
        when(mDisplayManagerInternalMock.createVirtualDisplay(any(), any(), any(), any(),
        when(mDisplayManagerInternalMock.createVirtualDisplay(any(), any(), any(), any(),
@@ -500,9 +486,7 @@ public class VirtualDeviceManagerServiceTest {


    @Test
    @Test
    public void getDevicePolicy_returnsCustom() {
    public void getDevicePolicy_returnsCustom() {
        VirtualDeviceParams params = new VirtualDeviceParams
        VirtualDeviceParams params = new VirtualDeviceParams.Builder()
                .Builder()
                .setBlockedActivities(getBlockedActivities())
                .setDevicePolicy(POLICY_TYPE_SENSORS, DEVICE_POLICY_CUSTOM)
                .setDevicePolicy(POLICY_TYPE_SENSORS, DEVICE_POLICY_CUSTOM)
                .build();
                .build();
        mDeviceImpl.close();
        mDeviceImpl.close();
@@ -516,9 +500,7 @@ public class VirtualDeviceManagerServiceTest {


    @Test
    @Test
    public void getDevicePolicy_defaultRecentsPolicy_gwpcCanShowRecentsOnHostDevice() {
    public void getDevicePolicy_defaultRecentsPolicy_gwpcCanShowRecentsOnHostDevice() {
        VirtualDeviceParams params = new VirtualDeviceParams
        VirtualDeviceParams params = new VirtualDeviceParams.Builder().build();
                .Builder()
                .build();
        mDeviceImpl.close();
        mDeviceImpl.close();
        mDeviceImpl = createVirtualDevice(VIRTUAL_DEVICE_ID_1, DEVICE_OWNER_UID_1, params);
        mDeviceImpl = createVirtualDevice(VIRTUAL_DEVICE_ID_1, DEVICE_OWNER_UID_1, params);
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
@@ -530,8 +512,7 @@ public class VirtualDeviceManagerServiceTest {


    @Test
    @Test
    public void getDevicePolicy_customRecentsPolicy_gwpcCannotShowRecentsOnHostDevice() {
    public void getDevicePolicy_customRecentsPolicy_gwpcCannotShowRecentsOnHostDevice() {
        VirtualDeviceParams params = new VirtualDeviceParams
        VirtualDeviceParams params = new VirtualDeviceParams.Builder()
                .Builder()
                .setDevicePolicy(POLICY_TYPE_RECENTS, DEVICE_POLICY_CUSTOM)
                .setDevicePolicy(POLICY_TYPE_RECENTS, DEVICE_POLICY_CUSTOM)
                .build();
                .build();
        mDeviceImpl.close();
        mDeviceImpl.close();
@@ -545,8 +526,7 @@ public class VirtualDeviceManagerServiceTest {


    @Test
    @Test
    public void getDevicePolicy_customRecentsPolicy_untrustedDisplaygwpcShowsRecentsOnHostDevice() {
    public void getDevicePolicy_customRecentsPolicy_untrustedDisplaygwpcShowsRecentsOnHostDevice() {
        VirtualDeviceParams params = new VirtualDeviceParams
        VirtualDeviceParams params = new VirtualDeviceParams.Builder()
                .Builder()
                .setDevicePolicy(POLICY_TYPE_RECENTS, DEVICE_POLICY_CUSTOM)
                .setDevicePolicy(POLICY_TYPE_RECENTS, DEVICE_POLICY_CUSTOM)
                .build();
                .build();
        mDeviceImpl.close();
        mDeviceImpl.close();
@@ -1582,7 +1562,7 @@ public class VirtualDeviceManagerServiceTest {
    }
    }


    @Test
    @Test
    public void openNonBlockedAppOnVirtualDisplay_doesNotStartBlockedAlertActivity() {
    public void openNonBlockedAppOnVirtualDisplay_succeeds() {
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
                DISPLAY_ID_1);
@@ -1604,15 +1584,15 @@ public class VirtualDeviceManagerServiceTest {
    }
    }


    @Test
    @Test
    public void openPermissionControllerOnVirtualDisplay_startBlockedAlertActivity() {
    public void openNonBlockedAppOnVirtualDisplay_cannotDisplayOnRemoteDevices_blocked() {
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
                DISPLAY_ID_1);
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());


        ActivityInfo activityInfo = getActivityInfo(
        ActivityInfo activityInfo = getActivityInfo(
                PERMISSION_CONTROLLER_PACKAGE_NAME,
                NONBLOCKED_APP_PACKAGE_NAME,
                PERMISSION_CONTROLLER_PACKAGE_NAME,
                NONBLOCKED_APP_PACKAGE_NAME,
                /* displayOnRemoteDevices */ false,
                /* displayOnRemoteDevices */ false,
                /* targetDisplayCategory */ null);
                /* targetDisplayCategory */ null);
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
@@ -1626,125 +1606,15 @@ public class VirtualDeviceManagerServiceTest {
    }
    }


    @Test
    @Test
    public void openPermissionControllerOnVirtualDisplay_displayOnRemoteDevices_starts() {
    public void openBlockedAppOnVirtualDisplay_blocked() {
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());

        ActivityInfo activityInfo = getActivityInfo(
                PERMISSION_CONTROLLER_PACKAGE_NAME,
                PERMISSION_CONTROLLER_PACKAGE_NAME,
                /* displayOnRemoveDevices */ true,
                /* targetDisplayCategory */ null);
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
                activityInfo, mAssociationInfo.getDisplayName());
        gwpc.canActivityBeLaunched(activityInfo, blockedAppIntent,
                WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /* isNewTask= */ false,
                /* isResultExpected = */ false, /* intentSender= */ null);

        verify(mContext, never()).startActivityAsUser(argThat(intent ->
                intent.filterEquals(blockedAppIntent)), any(), any());
    }

    @Test
    public void openPermissionControllerOnVirtualDisplay_dontDisplayOnRemoteDevices_starts() {
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());

        ActivityInfo activityInfo = getActivityInfo(
                PERMISSION_CONTROLLER_PACKAGE_NAME,
                PERMISSION_CONTROLLER_PACKAGE_NAME,
                /* displayOnRemoveDevices */ false,
                /* targetDisplayCategory */ null);
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
                activityInfo, mAssociationInfo.getDisplayName());
        gwpc.canActivityBeLaunched(activityInfo, blockedAppIntent,
                WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /* isNewTask= */ false,
                /* isResultExpected = */ false, /* intentSender= */ null);

        verify(mContext).startActivityAsUser(argThat(intent ->
                intent.filterEquals(blockedAppIntent)), any(), any());
    }

    @Test
    public void openSettingsOnVirtualDisplay_startBlockedAlertActivity() {
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());

        ActivityInfo activityInfo = getActivityInfo(
                SETTINGS_PACKAGE_NAME,
                SETTINGS_PACKAGE_NAME,
                /* displayOnRemoteDevices */ true,
                /* targetDisplayCategory */ null);
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
                activityInfo, mAssociationInfo.getDisplayName());
        gwpc.canActivityBeLaunched(activityInfo, blockedAppIntent,
                WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /* isNewTask= */ false,
                /* isResultExpected = */ false, /* intentSender= */ null);

        verify(mContext).startActivityAsUser(argThat(intent ->
                intent.filterEquals(blockedAppIntent)), any(), any());
    }

    @Test
    public void openVendingOnVirtualDisplay_startBlockedAlertActivity() {
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());

        ActivityInfo activityInfo = getActivityInfo(
                VENDING_PACKAGE_NAME,
                VENDING_PACKAGE_NAME,
                /* displayOnRemoteDevices */ true,
                /* targetDisplayCategory */ null);
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
                activityInfo, mAssociationInfo.getDisplayName());
        gwpc.canActivityBeLaunched(activityInfo, blockedAppIntent,
                WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /* isNewTask= */ false,
                /* isResultExpected = */ false, /* intentSender= */ null);

        verify(mContext).startActivityAsUser(argThat(intent ->
                intent.filterEquals(blockedAppIntent)), any(), any());
    }

    @Test
    public void openGoogleDialerOnVirtualDisplay_startBlockedAlertActivity() {
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());

        ActivityInfo activityInfo = getActivityInfo(
                GOOGLE_DIALER_PACKAGE_NAME,
                GOOGLE_DIALER_PACKAGE_NAME,
                /* displayOnRemoteDevices */ true,
                /* targetDisplayCategory */ null);
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
                activityInfo, mAssociationInfo.getDisplayName());
        gwpc.canActivityBeLaunched(activityInfo, blockedAppIntent,
                WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /* isNewTask= */ false,
                /* isResultExpected = */ false, /* intentSender= */ null);

        verify(mContext).startActivityAsUser(argThat(intent ->
                intent.filterEquals(blockedAppIntent)), any(), any());
    }

    @Test
    public void openGoogleMapsOnVirtualDisplay_startBlockedAlertActivity() {
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
                DISPLAY_ID_1);
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());


        ActivityInfo activityInfo = getActivityInfo(
        ActivityInfo activityInfo = getActivityInfo(
                GOOGLE_MAPS_PACKAGE_NAME,
                BLOCKED_APP_PACKAGE_NAME,
                GOOGLE_MAPS_PACKAGE_NAME,
                BLOCKED_APP_PACKAGE_NAME,
                /* displayOnRemoteDevices */ true,
                /* displayOnRemoteDevices */ true,
                /* targetDisplayCategory */ null);
                /* targetDisplayCategory */ null);
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
@@ -1757,31 +1627,6 @@ public class VirtualDeviceManagerServiceTest {
                intent.filterEquals(blockedAppIntent)), any(), any());
                intent.filterEquals(blockedAppIntent)), any(), any());
    }
    }


    @Test
    public void openNonBlockedAppOnMirrorDisplay_flagEnabled_cannotBeLaunched() {
        when(mDisplayManagerInternalMock.getDisplayIdToMirror(anyInt()))
                .thenReturn(Display.DEFAULT_DISPLAY);
        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
        doNothing().when(mContext).startActivityAsUser(any(), any(), any());

        ActivityInfo activityInfo = getActivityInfo(
                NONBLOCKED_APP_PACKAGE_NAME,
                NONBLOCKED_APP_PACKAGE_NAME,
                /* displayOnRemoteDevices */ true,
                /* targetDisplayCategory */ null);
        assertThat(gwpc.canActivityBeLaunched(activityInfo, null,
                WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /* isNewTask= */ false,
                /* isResultExpected = */ false, /* intentSender= */ null))
                .isFalse();
        // Verify that BlockedAppStreamingActivity also doesn't launch for mirror displays.
        Intent blockedAppIntent = BlockedAppStreamingActivity.createIntent(
                activityInfo, mAssociationInfo.getDisplayName());
        verify(mContext, never()).startActivityAsUser(argThat(intent ->
                intent.filterEquals(blockedAppIntent)), any(), any());
    }

    @Test
    @Test
    public void registerRunningAppsChangedListener_onRunningAppsChanged_listenersNotified() {
    public void registerRunningAppsChangedListener_onRunningAppsChanged_listenersNotified() {
        ArraySet<Integer> uids = new ArraySet<>(Arrays.asList(UID_1, UID_2));
        ArraySet<Integer> uids = new ArraySet<>(Arrays.asList(UID_1, UID_2));
@@ -1810,27 +1655,6 @@ public class VirtualDeviceManagerServiceTest {
        assertThat(gwpc.getRunningAppsChangedListenersSizeForTesting()).isEqualTo(0);
        assertThat(gwpc.getRunningAppsChangedListenersSizeForTesting()).isEqualTo(0);
    }
    }


    @Test
    public void canActivityBeLaunched_permissionDialog_isStreamed() {
        VirtualDeviceParams params = new VirtualDeviceParams.Builder().build();
        mDeviceImpl.close();
        mDeviceImpl = createVirtualDevice(VIRTUAL_DEVICE_ID_1, DEVICE_OWNER_UID_1, params);

        addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
        GenericWindowPolicyController gwpc = mDeviceImpl.getDisplayWindowPolicyControllerForTest(
                DISPLAY_ID_1);
        ComponentName permissionComponent = getPermissionDialogComponent();
        ActivityInfo activityInfo = getActivityInfo(
                permissionComponent.getPackageName(),
                permissionComponent.getClassName(),
                /* displayOnRemoteDevices */ true,
                /* targetDisplayCategory */ null);
        assertThat(gwpc.canActivityBeLaunched(activityInfo, null,
                WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID_1, /* isNewTask= */ false,
                /* isResultExpected = */ false, /* intentSender= */ null))
                .isTrue();
    }

    @Test
    @Test
    public void canActivityBeLaunched_activityCanLaunch() {
    public void canActivityBeLaunched_activityCanLaunch() {
        Intent intent = new Intent(ACTION_VIEW, Uri.parse(TEST_SITE));
        Intent intent = new Intent(ACTION_VIEW, Uri.parse(TEST_SITE));
@@ -2009,7 +1833,7 @@ public class VirtualDeviceManagerServiceTest {


    private VirtualDeviceImpl createVirtualDevice(int virtualDeviceId, int ownerUid) {
    private VirtualDeviceImpl createVirtualDevice(int virtualDeviceId, int ownerUid) {
        VirtualDeviceParams params = new VirtualDeviceParams.Builder()
        VirtualDeviceParams params = new VirtualDeviceParams.Builder()
                .setBlockedActivities(getBlockedActivities())
                .setBlockedActivities(BLOCKED_ACTIVITIES)
                .build();
                .build();
        return createVirtualDevice(virtualDeviceId, ownerUid, params);
        return createVirtualDevice(virtualDeviceId, ownerUid, params);
    }
    }
@@ -2060,13 +1884,6 @@ public class VirtualDeviceManagerServiceTest {
        mInputManagerMockHelper.addDisplayIdMapping(uniqueId, displayId);
        mInputManagerMockHelper.addDisplayIdMapping(uniqueId, displayId);
    }
    }


    private ComponentName getPermissionDialogComponent() {
        Intent intent = new Intent(ACTION_REQUEST_PERMISSIONS);
        PackageManager packageManager = mContext.getPackageManager();
        intent.setPackage(packageManager.getPermissionControllerPackageName());
        return intent.resolveActivity(packageManager);
    }

    private AssociationInfo createAssociationInfo(int associationId, String deviceProfile) {
    private AssociationInfo createAssociationInfo(int associationId, String deviceProfile) {
        return createAssociationInfo(
        return createAssociationInfo(
                associationId, deviceProfile, /* displayName= */ deviceProfile);
                associationId, deviceProfile, /* displayName= */ deviceProfile);