summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Komsiyski <vladokom@google.com> 2024-10-08 15:37:30 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-10-08 15:37:30 +0000
commita811fda595f4edebd8d9b455083413f9686aa433 (patch)
tree6302d6635fcbec8b12570d606d8a3e5e19fe8763
parent93913dad480824273435428c1b59623f8eb796b2 (diff)
parent899eec59a38981a538ae0be7342c4fefb0ed9848 (diff)
Merge "Revert^2 "Drop VDM permissions from Shell role."" into main
-rw-r--r--PermissionController/res/xml/roles.xml3
-rw-r--r--tests/cts/permission/AndroidManifest.xml3
-rw-r--r--tests/cts/permission/src/android/permission/cts/DevicePermissionsTest.kt27
-rw-r--r--tests/cts/permission/src/android/permission/cts/PermissionUpdateListenerTest.java35
-rw-r--r--tests/cts/permissionmultidevice/AndroidManifest.xml2
-rw-r--r--tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/AppPermissionsTest.kt1
6 files changed, 15 insertions, 56 deletions
diff --git a/PermissionController/res/xml/roles.xml b/PermissionController/res/xml/roles.xml
index ba4e80cf2..c3d1853c0 100644
--- a/PermissionController/res/xml/roles.xml
+++ b/PermissionController/res/xml/roles.xml
@@ -625,7 +625,6 @@
visible="false">
<permissions>
<!-- Used for CTS testing -->
- <permission name="android.permission.CREATE_VIRTUAL_DEVICE" minSdkVersion="33" />
<permission name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE" />
<permission name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT" minSdkVersion="33"/>
<permission name="android.permission.PERFORM_IMS_SINGLE_REGISTRATION" />
@@ -642,8 +641,6 @@
minSdkVersion="33" />
<permission name="android.permission.MANAGE_SAFETY_CENTER"
minSdkVersion="33" />
- <permission name="android.permission.ADD_TRUSTED_DISPLAY" minSdkVersion="33" />
- <permission name="android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY" minSdkVersion="33" />
<permission name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"
minSdkVersion="33" />
<permission name="android.permission.MANAGE_DEVICE_POLICY_ACCOUNT_MANAGEMENT"
diff --git a/tests/cts/permission/AndroidManifest.xml b/tests/cts/permission/AndroidManifest.xml
index 43fd97bb2..bb027b5f2 100644
--- a/tests/cts/permission/AndroidManifest.xml
+++ b/tests/cts/permission/AndroidManifest.xml
@@ -51,6 +51,9 @@
android:label="@string/perm_group_c"
android:name="android.permission.cts.groupC"/>
+ <!-- for android.permission.cts.DevicePermissionsTest -->
+ <uses-permission android:name="android.permission.CREATE_VIRTUAL_DEVICE"/>
+
<uses-permission android:name="android.permission.INJECT_EVENTS"/>
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
<application>
diff --git a/tests/cts/permission/src/android/permission/cts/DevicePermissionsTest.kt b/tests/cts/permission/src/android/permission/cts/DevicePermissionsTest.kt
index dbda1f5e1..ff333c6a0 100644
--- a/tests/cts/permission/src/android/permission/cts/DevicePermissionsTest.kt
+++ b/tests/cts/permission/src/android/permission/cts/DevicePermissionsTest.kt
@@ -20,10 +20,8 @@ import android.Manifest
import android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND
import android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND_SERVICE
import android.app.Instrumentation
-import android.companion.virtual.VirtualDeviceManager
import android.companion.virtual.VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT
import android.companion.virtual.VirtualDeviceManager.VirtualDevice
-import android.companion.virtual.VirtualDeviceParams
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME
@@ -40,17 +38,15 @@ import android.platform.test.annotations.AppModeFull
import android.platform.test.annotations.RequiresFlagsDisabled
import android.platform.test.annotations.RequiresFlagsEnabled
import android.platform.test.flag.junit.DeviceFlagsValueProvider
-import android.virtualdevice.cts.common.FakeAssociationRule
+import android.virtualdevice.cts.common.VirtualDeviceRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
-import com.android.compatibility.common.util.AdoptShellPermissionsRule
import com.android.compatibility.common.util.SystemUtil.eventually
import com.android.compatibility.common.util.SystemUtil.runShellCommandOrThrow
import com.android.compatibility.common.util.SystemUtil.waitForBroadcasts
import com.google.common.truth.Truth.assertThat
import org.junit.After
-import org.junit.Assume.assumeNotNull
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -69,13 +65,8 @@ class DevicePermissionsTest {
private lateinit var permissionManager: PermissionManager
- @get:Rule var mFakeAssociationRule = FakeAssociationRule()
-
@get:Rule
- val mAdoptShellPermissionsRule =
- AdoptShellPermissionsRule(
- instrumentation.uiAutomation,
- Manifest.permission.CREATE_VIRTUAL_DEVICE,
+ var mVirtualDeviceRule = VirtualDeviceRule.withAdditionalPermissions(
Manifest.permission.GRANT_RUNTIME_PERMISSIONS,
Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS,
Manifest.permission.REVOKE_RUNTIME_PERMISSIONS,
@@ -86,14 +77,7 @@ class DevicePermissionsTest {
@Before
fun setup() {
- val virtualDeviceManager =
- defaultDeviceContext.getSystemService(VirtualDeviceManager::class.java)
- assumeNotNull(virtualDeviceManager)
- virtualDevice =
- virtualDeviceManager!!.createVirtualDevice(
- mFakeAssociationRule.getAssociationInfo().getId(),
- VirtualDeviceParams.Builder().build()
- )
+ virtualDevice = mVirtualDeviceRule.createManagedVirtualDevice()
virtualDeviceContext = defaultDeviceContext.createDeviceContext(virtualDevice.deviceId)
permissionManager = virtualDeviceContext.getSystemService(PermissionManager::class.java)!!
persistentDeviceId = virtualDevice.persistentDeviceId!!
@@ -103,9 +87,6 @@ class DevicePermissionsTest {
@After
fun cleanup() {
runShellCommandOrThrow("pm uninstall $TEST_PACKAGE_NAME")
- if (this::virtualDevice.isInitialized) {
- virtualDevice.close()
- }
}
@RequiresFlagsEnabled(
@@ -226,7 +207,7 @@ class DevicePermissionsTest {
permissionManager.checkPermission(
deviceAwarePermission,
TEST_PACKAGE_NAME,
- VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT
+ PERSISTENT_DEVICE_ID_DEFAULT
)
)
.isEqualTo(PERMISSION_DENIED)
diff --git a/tests/cts/permission/src/android/permission/cts/PermissionUpdateListenerTest.java b/tests/cts/permission/src/android/permission/cts/PermissionUpdateListenerTest.java
index e9e71af20..4325ace79 100644
--- a/tests/cts/permission/src/android/permission/cts/PermissionUpdateListenerTest.java
+++ b/tests/cts/permission/src/android/permission/cts/PermissionUpdateListenerTest.java
@@ -22,10 +22,8 @@ import static com.android.compatibility.common.util.SystemUtil.runWithShellPermi
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assume.assumeNotNull;
-
import android.companion.virtual.VirtualDeviceManager;
-import android.companion.virtual.VirtualDeviceParams;
+import android.companion.virtual.VirtualDeviceManager.VirtualDevice;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.OnPermissionsChangedListener;
@@ -34,12 +32,11 @@ import android.platform.test.annotations.AppModeFull;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
-import android.virtualdevice.cts.common.FakeAssociationRule;
+import android.virtualdevice.cts.common.VirtualDeviceRule;
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner;
import androidx.test.platform.app.InstrumentationRegistry;
-import com.android.compatibility.common.util.AdoptShellPermissionsRule;
import com.android.compatibility.common.util.SystemUtil;
import org.junit.After;
@@ -71,15 +68,8 @@ public class PermissionUpdateListenerTest {
private int mTestAppUid;
- private VirtualDeviceManager mVirtualDeviceManager;
-
- @Rule
- public FakeAssociationRule mFakeAssociationRule = new FakeAssociationRule();
-
@Rule
- public AdoptShellPermissionsRule mAdoptShellPermissionsRule = new AdoptShellPermissionsRule(
- InstrumentationRegistry.getInstrumentation().getUiAutomation(),
- android.Manifest.permission.CREATE_VIRTUAL_DEVICE);
+ public VirtualDeviceRule mVirtualDeviceRule = VirtualDeviceRule.createDefault();
@Rule
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
@@ -92,7 +82,6 @@ public class PermissionUpdateListenerTest {
SystemUtil.waitForBroadcasts();
Thread.sleep(1000);
mTestAppUid = mPackageManager.getPackageUid(PACKAGE_NAME, 0);
- mVirtualDeviceManager = mDefaultContext.getSystemService(VirtualDeviceManager.class);
}
@After
@@ -127,11 +116,7 @@ public class PermissionUpdateListenerTest {
@RequiresFlagsEnabled({Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED,
Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED})
public void testVirtualDeviceGrantPermissionNotifyListener() throws InterruptedException {
- assumeNotNull(mVirtualDeviceManager);
- VirtualDeviceManager.VirtualDevice virtualDevice =
- mVirtualDeviceManager.createVirtualDevice(
- mFakeAssociationRule.getAssociationInfo().getId(),
- new VirtualDeviceParams.Builder().build());
+ VirtualDevice virtualDevice = mVirtualDeviceRule.createManagedVirtualDevice();
Context deviceContext = mDefaultContext.createDeviceContext(virtualDevice.getDeviceId());
testGrantPermissionNotifyListener(deviceContext, virtualDevice.getPersistentDeviceId());
}
@@ -172,11 +157,7 @@ public class PermissionUpdateListenerTest {
@RequiresFlagsEnabled({Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED,
Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED})
public void testVirtualDeviceRevokePermissionNotifyListener() throws InterruptedException {
- assumeNotNull(mVirtualDeviceManager);
- VirtualDeviceManager.VirtualDevice virtualDevice =
- mVirtualDeviceManager.createVirtualDevice(
- mFakeAssociationRule.getAssociationInfo().getId(),
- new VirtualDeviceParams.Builder().build());
+ VirtualDevice virtualDevice = mVirtualDeviceRule.createManagedVirtualDevice();
Context deviceContext = mDefaultContext.createDeviceContext(virtualDevice.getDeviceId());
testRevokePermissionNotifyListener(
deviceContext, virtualDevice.getPersistentDeviceId());
@@ -213,11 +194,7 @@ public class PermissionUpdateListenerTest {
@RequiresFlagsEnabled({Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED,
Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED})
public void testVirtualDeviceUpdatePermissionFlagsNotifyListener() throws InterruptedException {
- assumeNotNull(mVirtualDeviceManager);
- VirtualDeviceManager.VirtualDevice virtualDevice =
- mVirtualDeviceManager.createVirtualDevice(
- mFakeAssociationRule.getAssociationInfo().getId(),
- new VirtualDeviceParams.Builder().build());
+ VirtualDevice virtualDevice = mVirtualDeviceRule.createManagedVirtualDevice();
Context deviceContext = mDefaultContext.createDeviceContext(virtualDevice.getDeviceId());
testUpdatePermissionFlagsNotifyListener(
deviceContext, virtualDevice.getPersistentDeviceId());
diff --git a/tests/cts/permissionmultidevice/AndroidManifest.xml b/tests/cts/permissionmultidevice/AndroidManifest.xml
index 9bad85813..7d04d140e 100644
--- a/tests/cts/permissionmultidevice/AndroidManifest.xml
+++ b/tests/cts/permissionmultidevice/AndroidManifest.xml
@@ -24,6 +24,8 @@
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
+ <uses-permission android:name="android.permission.CREATE_VIRTUAL_DEVICE" />
+ <uses-permission android:name="android.permission.ADD_TRUSTED_DISPLAY" />
<application>
<uses-library android:name="android.test.runner" />
diff --git a/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/AppPermissionsTest.kt b/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/AppPermissionsTest.kt
index 4d166939a..ac5564e37 100644
--- a/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/AppPermissionsTest.kt
+++ b/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/AppPermissionsTest.kt
@@ -62,7 +62,6 @@ class AppPermissionsTest {
Manifest.permission.GRANT_RUNTIME_PERMISSIONS,
Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS,
Manifest.permission.REVOKE_RUNTIME_PERMISSIONS,
- Manifest.permission.CREATE_VIRTUAL_DEVICE
)
private lateinit var persistentDeviceId: String