summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PermissionController/WEAR_OWNERS1
-rw-r--r--SafetyCenter/Resources/Android.bp1
-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/NoWifiStatePermissionTest.java8
-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
-rw-r--r--tests/cts/permissionui/src/android/permissionui/cts/PermissionReviewTapjackingTest.kt2
-rw-r--r--tests/cts/permissionui/src/android/permissionui/cts/ReviewAccessibilityServicesTest.kt31
-rw-r--r--tests/cts/role/Android.bp2
-rw-r--r--tests/cts/role/AndroidTest.xml2
-rw-r--r--tests/cts/role/CtsRoleTestAppClone/Android.bp (renamed from tests/cts/role/CtsRoleTestAppForProfile/Android.bp)2
-rw-r--r--tests/cts/role/CtsRoleTestAppClone/AndroidManifest.xml (renamed from tests/cts/role/CtsRoleTestAppForProfile/AndroidManifest.xml)4
-rw-r--r--tests/cts/role/src/android/app/role/cts/RoleManagerTest.java50
-rw-r--r--tests/cts/role/src/android/app/role/cts/RoleShellCommandTest.kt36
-rw-r--r--tests/hostside/safetycenter/Android.bp2
17 files changed, 118 insertions, 91 deletions
diff --git a/PermissionController/WEAR_OWNERS b/PermissionController/WEAR_OWNERS
index da9486f1c..c8fabba56 100644
--- a/PermissionController/WEAR_OWNERS
+++ b/PermissionController/WEAR_OWNERS
@@ -1,3 +1,4 @@
adsule@google.com
sadrul@google.com
youngjoonyang@google.com
+vigneshrsastra@google.com
diff --git a/SafetyCenter/Resources/Android.bp b/SafetyCenter/Resources/Android.bp
index a10ea7f1a..f485172f4 100644
--- a/SafetyCenter/Resources/Android.bp
+++ b/SafetyCenter/Resources/Android.bp
@@ -49,6 +49,7 @@ android_app {
static_libs: [
"SafetyCenterResourcesShared",
],
+ updatable: true,
}
android_app_certificate {
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/NoWifiStatePermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoWifiStatePermissionTest.java
index 9fff22747..a0637827c 100644
--- a/tests/cts/permission/src/android/permission/cts/NoWifiStatePermissionTest.java
+++ b/tests/cts/permission/src/android/permission/cts/NoWifiStatePermissionTest.java
@@ -30,6 +30,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import androidx.test.platform.app.InstrumentationRegistry;
+import com.android.compatibility.common.util.UserHelper;
+
+import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -214,6 +217,11 @@ public class NoWifiStatePermissionTest {
*/
@Test(expected = SecurityException.class)
public void testSetWifiEnabled() {
+ // Skip the test for passenger on Multi-user-multi-display devices for Automotive
+ UserHelper userHelper = new UserHelper(sContext);
+ Assume.assumeFalse(
+ "Skipped for visible background User as wifi is disabled for visible background "
+ + "user.", userHelper.isVisibleBackgroundUser());
mWifiManager.setWifiEnabled(true);
}
}
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 7ecc51ded..c42d44da5 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
diff --git a/tests/cts/permissionui/src/android/permissionui/cts/PermissionReviewTapjackingTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/PermissionReviewTapjackingTest.kt
index cdfe0423a..341857e39 100644
--- a/tests/cts/permissionui/src/android/permissionui/cts/PermissionReviewTapjackingTest.kt
+++ b/tests/cts/permissionui/src/android/permissionui/cts/PermissionReviewTapjackingTest.kt
@@ -44,7 +44,7 @@ class PermissionReviewTapjackingTest : BaseUsePermissionTest() {
installPackage(APP_APK_PATH_22)
installPackage(HELPER_APP_OVERLAY)
- Thread.sleep(1000)
+ SystemUtil.waitForBroadcasts()
SystemUtil.runShellCommandOrThrow(
"appops set $HELPER_PACKAGE_NAME android:system_alert_window allow"
diff --git a/tests/cts/permissionui/src/android/permissionui/cts/ReviewAccessibilityServicesTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/ReviewAccessibilityServicesTest.kt
index 03151c9fe..e434e9c70 100644
--- a/tests/cts/permissionui/src/android/permissionui/cts/ReviewAccessibilityServicesTest.kt
+++ b/tests/cts/permissionui/src/android/permissionui/cts/ReviewAccessibilityServicesTest.kt
@@ -23,6 +23,7 @@ import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.platform.test.annotations.AppModeFull
+import android.provider.Settings
import androidx.test.filters.FlakyTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.runner.AndroidJUnit4
@@ -36,9 +37,11 @@ import com.android.compatibility.common.util.SystemUtil
import com.android.compatibility.common.util.UiAutomatorUtils2.waitFindObjectOrNull
import java.util.regex.Pattern
import org.junit.After
+import org.junit.AfterClass
import org.junit.Assert.assertEquals
import org.junit.Assume
import org.junit.Before
+import org.junit.BeforeClass
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
@@ -49,15 +52,41 @@ import org.junit.runner.RunWith
@FlakyTest
class ReviewAccessibilityServicesTest {
- private val context: Context = InstrumentationRegistry.getInstrumentation().context
private val uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
private val testService1String = context.getString(R.string.test_accessibility_service)
private val testService2String = context.getString(R.string.test_accessibility_service_2)
private val packageName = context.packageManager.permissionControllerPackageName
companion object {
+ private val context: Context = InstrumentationRegistry.getInstrumentation().context
+ private var enabledA11yServices: String? = null
private const val EXPECTED_TIMEOUT_MS = 500L
private const val NEW_WINDOW_TIMEOUT_MILLIS: Long = 20_000
+
+ @BeforeClass
+ @JvmStatic
+ fun disableServices() {
+ enabledA11yServices =
+ Settings.Secure.getString(
+ context.contentResolver,
+ Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES,
+ )
+ if (enabledA11yServices != null) {
+ InstrumentedAccessibilityService.disableAllServices()
+ }
+ }
+
+ @AfterClass
+ @JvmStatic
+ fun reenableServices() {
+ if (enabledA11yServices != null) {
+ SystemUtil.runShellCommand(
+ "settings put secure ${Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES} " +
+ enabledA11yServices
+ )
+ enabledA11yServices = null
+ }
+ }
}
@get:Rule
diff --git a/tests/cts/role/Android.bp b/tests/cts/role/Android.bp
index e392109db..f0095b7dd 100644
--- a/tests/cts/role/Android.bp
+++ b/tests/cts/role/Android.bp
@@ -48,6 +48,6 @@ android_test {
":CtsRoleTestApp",
":CtsRoleTestApp28",
":CtsRoleTestApp33WithoutInCallService",
- ":CtsRoleTestAppForProfile",
+ ":CtsRoleTestAppClone",
],
}
diff --git a/tests/cts/role/AndroidTest.xml b/tests/cts/role/AndroidTest.xml
index a53fa62d0..bfdcf2829 100644
--- a/tests/cts/role/AndroidTest.xml
+++ b/tests/cts/role/AndroidTest.xml
@@ -42,7 +42,7 @@
<option name="push" value="CtsRoleTestApp.apk->/data/local/tmp/cts-role/CtsRoleTestApp.apk" />
<option name="push" value="CtsRoleTestApp28.apk->/data/local/tmp/cts-role/CtsRoleTestApp28.apk" />
<option name="push" value="CtsRoleTestApp33WithoutInCallService.apk->/data/local/tmp/cts-role/CtsRoleTestApp33WithoutInCallService.apk" />
- <option name="push" value="CtsRoleTestAppForProfile.apk->/data/local/tmp/cts-role/CtsRoleTestAppForProfile.apk" />
+ <option name="push" value="CtsRoleTestAppClone.apk->/data/local/tmp/cts-role/CtsRoleTestAppClone.apk" />
</target_preparer>
<test class="com.android.tradefed.testtype.AndroidJUnitTest" >
diff --git a/tests/cts/role/CtsRoleTestAppForProfile/Android.bp b/tests/cts/role/CtsRoleTestAppClone/Android.bp
index 1d9a1e6e8..0ac48da8b 100644
--- a/tests/cts/role/CtsRoleTestAppForProfile/Android.bp
+++ b/tests/cts/role/CtsRoleTestAppClone/Android.bp
@@ -17,7 +17,7 @@ package {
}
android_test_helper_app {
- name: "CtsRoleTestAppForProfile",
+ name: "CtsRoleTestAppClone",
defaults: ["mts-target-sdk-version-current"],
min_sdk_version: "30",
}
diff --git a/tests/cts/role/CtsRoleTestAppForProfile/AndroidManifest.xml b/tests/cts/role/CtsRoleTestAppClone/AndroidManifest.xml
index 05413e55f..f45ab359b 100644
--- a/tests/cts/role/CtsRoleTestAppForProfile/AndroidManifest.xml
+++ b/tests/cts/role/CtsRoleTestAppClone/AndroidManifest.xml
@@ -18,9 +18,9 @@
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
- package="android.app.role.cts.appForProfile">
+ package="android.app.role.cts.appClone">
- <application android:label="CtsRoleTestAppForProfile">
+ <application android:label="CtsRoleTestAppClone">
<!-- Browser -->
<activity
android:name=".BrowserActivity"
diff --git a/tests/cts/role/src/android/app/role/cts/RoleManagerTest.java b/tests/cts/role/src/android/app/role/cts/RoleManagerTest.java
index b64de5665..e31659dbc 100644
--- a/tests/cts/role/src/android/app/role/cts/RoleManagerTest.java
+++ b/tests/cts/role/src/android/app/role/cts/RoleManagerTest.java
@@ -108,10 +108,10 @@ public class RoleManagerTest {
private static final String APP_APK_PATH = "/data/local/tmp/cts-role/CtsRoleTestApp.apk";
private static final String APP_PACKAGE_NAME = "android.app.role.cts.app";
private static final String APP_LABEL = "CtsRoleTestApp";
- private static final String APP_FOR_PROFILE_APK_PATH =
- "/data/local/tmp/cts-role/CtsRoleTestAppForProfile.apk";
- private static final String APP_FOR_PROFILE_PACKAGE_NAME = "android.app.role.cts.appForProfile";
- private static final String APP_FOR_PROFILE = "CtsRoleTestAppForProfile";
+ private static final String APP_CLONE_APK_PATH =
+ "/data/local/tmp/cts-role/CtsRoleTestAppClone.apk";
+ private static final String APP_CLONE_PACKAGE_NAME = "android.app.role.cts.appClone";
+ private static final String APP_CLONE = "CtsRoleTestAppClone";
private static final String APP_IS_ROLE_HELD_ACTIVITY_NAME = APP_PACKAGE_NAME
+ ".IsRoleHeldActivity";
private static final String APP_IS_ROLE_HELD_EXTRA_IS_ROLE_HELD = APP_PACKAGE_NAME
@@ -183,7 +183,20 @@ public class RoleManagerTest {
private String mRoleHolder;
@Before
- public void saveRoleHolder() throws Exception {
+ public void setUp() throws Exception {
+ saveRoleHolder();
+ installApp();
+ wakeUpScreen();
+ closeNotificationShade();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ uninstallApp();
+ restoreRoleHolder();
+ }
+
+ private void saveRoleHolder() throws Exception {
List<String> roleHolders = getRoleHolders(ROLE_NAME);
mRoleHolder = !roleHolders.isEmpty() ? roleHolders.get(0) : null;
@@ -193,8 +206,7 @@ public class RoleManagerTest {
}
}
- @After
- public void restoreRoleHolder() throws Exception {
+ private void restoreRoleHolder() throws Exception {
removeRoleHolder(ROLE_NAME, APP_PACKAGE_NAME);
if (mRoleHolder != null) {
@@ -204,27 +216,27 @@ public class RoleManagerTest {
assertIsRoleHolder(ROLE_NAME, APP_PACKAGE_NAME, false);
}
- @Before
- public void installApp() throws Exception {
+ private void installApp() throws Exception {
installPackage(APP_APK_PATH);
installPackage(APP_28_APK_PATH);
installPackage(APP_33_WITHOUT_INCALLSERVICE_APK_PATH);
+ // Install CtsRoleTestAppClone as default role holder for browser role
+ // in case no browser is installed on system
+ installPackage(APP_CLONE_APK_PATH);
}
- @After
- public void uninstallApp() throws Exception {
+ private void uninstallApp() throws Exception {
uninstallPackage(APP_PACKAGE_NAME);
uninstallPackage(APP_28_PACKAGE_NAME);
uninstallPackage(APP_33_WITHOUT_INCALLSERVICE_PACKAGE_NAME);
+ uninstallPackage(APP_CLONE_PACKAGE_NAME);
}
- @Before
- public void wakeUpScreen() throws IOException {
+ private void wakeUpScreen() throws IOException {
runShellCommand(sInstrumentation, "input keyevent KEYCODE_WAKEUP");
}
- @Before
- public void closeNotificationShade() {
+ private void closeNotificationShade() {
sContext.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
}
@@ -855,15 +867,15 @@ public class RoleManagerTest {
UserHandle privateProfile = sDeviceState.privateProfile().userHandle();
assertThat(privateProfile).isNotNull();
installPackage(APP_APK_PATH, privateProfile);
- installPackage(APP_FOR_PROFILE_APK_PATH, privateProfile);
- addRoleHolderAsUser(ROLE_NAME, APP_FOR_PROFILE_PACKAGE_NAME, privateProfile);
+ installPackage(APP_CLONE_APK_PATH, privateProfile);
+ addRoleHolderAsUser(ROLE_NAME, APP_CLONE_PACKAGE_NAME, privateProfile);
sContext.startActivity(new Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS)
.addCategory(Intent.CATEGORY_DEFAULT)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK));
waitForIdle();
- waitFindObject(By.hasDescendant(By.text(APP_FOR_PROFILE))).click();
+ waitFindObject(By.hasDescendant(By.text(APP_CLONE))).click();
waitForIdle();
waitFindObject(By.clickable(true).hasDescendant(By.checkable(true).checked(false))
@@ -877,7 +889,7 @@ public class RoleManagerTest {
pressBack();
uninstallPackage(APP_PACKAGE_NAME, privateProfile);
- uninstallPackage(APP_FOR_PROFILE_APK_PATH, privateProfile);
+ uninstallPackage(APP_CLONE_PACKAGE_NAME, privateProfile);
}
@Test
diff --git a/tests/cts/role/src/android/app/role/cts/RoleShellCommandTest.kt b/tests/cts/role/src/android/app/role/cts/RoleShellCommandTest.kt
index 7e58e1848..83d4f78ad 100644
--- a/tests/cts/role/src/android/app/role/cts/RoleShellCommandTest.kt
+++ b/tests/cts/role/src/android/app/role/cts/RoleShellCommandTest.kt
@@ -44,7 +44,20 @@ class RoleShellCommandTest {
private var wasBypassingRoleQualification: Boolean = false
@Before
- fun saveRoleHolder() {
+ public fun setUp() {
+ saveRoleHolder()
+ saveBypassingRoleQualification()
+ installApp()
+ }
+
+ @After
+ public fun tearDown() {
+ uninstallApp()
+ restoreBypassingRoleQualification()
+ restoreRoleHolder()
+ }
+
+ private fun saveRoleHolder() {
roleHolder = getRoleHolders().firstOrNull()
if (roleHolder == APP_PACKAGE_NAME) {
removeRoleHolder()
@@ -52,31 +65,30 @@ class RoleShellCommandTest {
}
}
- @Before
- fun saveBypassingRoleQualification() {
+ private fun saveBypassingRoleQualification() {
wasBypassingRoleQualification = isBypassingRoleQualification()
}
- @After
- fun restoreRoleHolder() {
+ private fun restoreRoleHolder() {
removeRoleHolder()
roleHolder?.let { addRoleHolder(it) }
assertIsRoleHolder(false)
}
- @After
- fun restoreBypassingRoleQualification() {
+ private fun restoreBypassingRoleQualification() {
setBypassingRoleQualification(wasBypassingRoleQualification)
}
- @Before
- fun installApp() {
+ private fun installApp() {
installPackage(APP_APK_PATH)
+ // Install CtsRoleTestAppClone as default role holder for browser role
+ // in case no browser is installed on system
+ installPackage(APP_CLONE_APK_PATH)
}
- @After
- fun uninstallApp() {
+ private fun uninstallApp() {
uninstallPackage(APP_PACKAGE_NAME)
+ uninstallPackage(APP_CLONE_PACKAGE_NAME)
}
@Test
@@ -196,5 +208,7 @@ class RoleShellCommandTest {
private const val ROLE_NAME = RoleManager.ROLE_BROWSER
private const val APP_APK_PATH = "/data/local/tmp/cts-role/CtsRoleTestApp.apk"
private const val APP_PACKAGE_NAME = "android.app.role.cts.app"
+ private const val APP_CLONE_APK_PATH = "/data/local/tmp/cts-role/CtsRoleTestAppClone.apk"
+ private const val APP_CLONE_PACKAGE_NAME = "android.app.role.cts.appClone"
}
}
diff --git a/tests/hostside/safetycenter/Android.bp b/tests/hostside/safetycenter/Android.bp
index 10258f95b..931dfb719 100644
--- a/tests/hostside/safetycenter/Android.bp
+++ b/tests/hostside/safetycenter/Android.bp
@@ -33,7 +33,7 @@ java_test_host {
static_libs: [
"cts-statsd-atom-host-test-utils",
],
- data: [":SafetyCenterHostSideTestsHelper"],
+ device_common_data: [":SafetyCenterHostSideTestsHelper"],
test_suites: [
"general-tests",
"mts-permission",