summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jay Sullivan <jaysullivan@google.com> 2025-02-21 17:09:46 -0800
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2025-02-21 17:09:46 -0800
commitfed87fca47a78d77572aeb57245bf45997d3408e (patch)
tree308e484ce4f99c16c898ff64a0eb6f1e319a108c
parent9453925ddb651f0ac273bc498d9191ca5d6bca49 (diff)
parent6b96416a3354495548c536dad6927eb08e42e524 (diff)
Merge "[ECM] Wait for MODE_DEFAULT" into android15-tests-dev am: 6b96416a33
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Permission/+/3493470 Change-Id: Ie76883c377c6b5072843363cf710157f938f4e7e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt33
1 files changed, 25 insertions, 8 deletions
diff --git a/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt
index 8e91a00ce..cde2b6d6a 100644
--- a/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt
+++ b/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt
@@ -78,20 +78,14 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
@Test
fun installedAppStartsWithModeDefault() {
installPackageWithInstallSourceAndMetadataFromStore(APP_APK_NAME_LATEST)
- eventually {
- runWithShellPermissionIdentity {
- assertEquals(
- getAppEcmState(context, appOpsManager, APP_PACKAGE_NAME),
- AppOpsManager.MODE_DEFAULT
- )
- }
- }
+ waitForModeDefault()
}
@RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED)
@Test
fun givenStoreAppThenIsNotRestrictedFromProtectedSetting() {
installPackageWithInstallSourceAndMetadataFromStore(APP_APK_NAME_LATEST)
+ waitForModeDefault()
runWithShellPermissionIdentity {
eventually { assertFalse(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) }
}
@@ -101,6 +95,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
@Test
fun givenLocalAppThenIsRestrictedFromProtectedSetting() {
installPackageWithInstallSourceAndMetadataFromLocalFile(APP_APK_NAME_LATEST)
+ waitForModeDefault()
runWithShellPermissionIdentity {
eventually { assertTrue(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) }
}
@@ -110,6 +105,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
@Test
fun givenDownloadedThenAppIsRestrictedFromProtectedSetting() {
installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST)
+ waitForModeDefault()
runWithShellPermissionIdentity {
eventually { assertTrue(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) }
}
@@ -119,6 +115,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
@Test
fun givenExplicitlyRestrictedAppThenIsRestrictedFromProtectedSetting() {
installPackageWithInstallSourceAndMetadataFromStore(APP_APK_NAME_LATEST)
+ waitForModeDefault()
eventually {
runWithShellPermissionIdentity {
assertEquals(
@@ -138,6 +135,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
@Test
fun givenRestrictedAppThenIsNotRestrictedFromNonProtectedSetting() {
installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST)
+ waitForModeDefault()
runWithShellPermissionIdentity {
eventually { assertFalse(ecm.isRestricted(APP_PACKAGE_NAME, NON_PROTECTED_SETTING)) }
}
@@ -147,6 +145,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
@Test
fun givenRestrictedAppThenClearRestrictionNotAllowedByDefault() {
installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST)
+ waitForModeDefault()
runWithShellPermissionIdentity {
eventually { assertFalse(ecm.isClearRestrictionAllowed(APP_PACKAGE_NAME)) }
}
@@ -156,6 +155,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
@Test
fun givenRestrictedAppWhenClearRestrictionThenNotRestrictedFromProtectedSetting() {
installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST)
+ waitForModeDefault()
runWithShellPermissionIdentity {
eventually { assertTrue(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) }
ecm.setClearRestrictionAllowed(APP_PACKAGE_NAME)
@@ -169,6 +169,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
@Test
fun createRestrictedSettingDialogIntentReturnsIntent() {
installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST)
+ waitForModeDefault()
val intent = ecm.createRestrictedSettingDialogIntent(APP_PACKAGE_NAME, PROTECTED_SETTING)
@@ -181,6 +182,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms(
APP_APK_NAME_LATEST
)
+ waitForModeDefault()
val permissionAndExpectedGrantResults =
arrayOf(
GROUP_2_PERMISSION_1_RESTRICTED to false,
@@ -207,6 +209,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms(
APP_APK_NAME_LATEST
)
+ waitForModeDefault()
requestAppPermissionsAndAssertResult(
GROUP_3_PERMISSION_1_UNRESTRICTED to false,
@@ -236,6 +239,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms(
APP_APK_NAME_LATEST
)
+ waitForModeDefault()
requestAppPermissionsAndAssertResult(
GROUP_3_PERMISSION_1_UNRESTRICTED to true,
@@ -254,6 +258,7 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms(
APP_APK_NAME_LATEST
)
+ waitForModeDefault()
requestAppPermissionsAndAssertResult(
GROUP_4_PERMISSION_1_UNRESTRICTED to true,
@@ -287,6 +292,18 @@ class EnhancedConfirmationManagerTest : BaseUsePermissionTest() {
)
}
+ private fun waitForModeDefault() {
+ eventually {
+ runWithShellPermissionIdentity {
+ assertEquals(
+ "Timed out waiting for package mode to change to MODE_DEFAULT",
+ getAppEcmState(context, appOpsManager, APP_PACKAGE_NAME),
+ AppOpsManager.MODE_DEFAULT
+ )
+ }
+ }
+ }
+
companion object {
private const val GROUP_2_PERMISSION_1_RESTRICTED = Manifest.permission.SEND_SMS
private const val GROUP_2_PERMISSION_2_RESTRICTED = Manifest.permission.READ_SMS