diff options
author | 2024-10-08 15:37:30 +0000 | |
---|---|---|
committer | 2024-10-08 15:37:30 +0000 | |
commit | a811fda595f4edebd8d9b455083413f9686aa433 (patch) | |
tree | 6302d6635fcbec8b12570d606d8a3e5e19fe8763 | |
parent | 93913dad480824273435428c1b59623f8eb796b2 (diff) | |
parent | 899eec59a38981a538ae0be7342c4fefb0ed9848 (diff) |
Merge "Revert^2 "Drop VDM permissions from Shell role."" into main
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 |