diff options
-rw-r--r-- | tests/cts/permissionui/src/android/permissionui/cts/BaseUsePermissionTest.kt | 44 |
1 files changed, 15 insertions, 29 deletions
diff --git a/tests/cts/permissionui/src/android/permissionui/cts/BaseUsePermissionTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/BaseUsePermissionTest.kt index 51f12bed3..f52e32344 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/BaseUsePermissionTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/BaseUsePermissionTest.kt @@ -36,7 +36,6 @@ import android.os.Build import android.os.Process import android.provider.DeviceConfig import android.provider.Settings -import android.server.wm.WindowManagerStateHelper import android.text.Spanned import android.text.style.ClickableSpan import android.util.Log @@ -248,8 +247,6 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { DENIED_WITH_PREJUDICE } - private val windowManagerStateHelper = WindowManagerStateHelper() - private val platformResources = context.createPackageContext("android", 0).resources private val permissionToLabelResNameMap = mapOf( @@ -677,20 +674,21 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { crossinline block: () -> Unit, ): Instrumentation.ActivityResult { // Request the permissions - val future = - startActivityForFuture( - Intent().apply { - component = - ComponentName( - APP_PACKAGE_NAME, - "$APP_PACKAGE_NAME.RequestPermissionsActivity" - ) - putExtra("$APP_PACKAGE_NAME.PERMISSIONS", permissions) - putExtra("$APP_PACKAGE_NAME.ASK_TWICE", askTwice) - } - ) - - waitForPermissionRequestActivity() + lateinit var future: CompletableFuture<Instrumentation.ActivityResult> + doAndWaitForWindowTransition { + future = + startActivityForFuture( + Intent().apply { + component = + ComponentName( + APP_PACKAGE_NAME, + "$APP_PACKAGE_NAME.RequestPermissionsActivity" + ) + putExtra("$APP_PACKAGE_NAME.PERMISSIONS", permissions) + putExtra("$APP_PACKAGE_NAME.ASK_TWICE", askTwice) + } + ) + } // Notification permission prompt is shown first, so get it out of the way clickNotificationPermissionRequestAllowButtonIfAvailable() @@ -703,18 +701,6 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { return future.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS) } - /** - * This method waits for permission controller activity to be in a valid state, the timeout - * is 5 seconds. - */ - fun waitForPermissionRequestActivity() { - val requestPermissionIntent = Intent(PackageManager.ACTION_REQUEST_PERMISSIONS) - val componentName = - requestPermissionIntent.resolveActivity(context.packageManager) - ?: throw RuntimeException("Permission request is not handled by any activity.") - windowManagerStateHelper.waitForValidState(componentName) - } - protected inline fun requestAppPermissionsAndAssertResult( permissions: Array<out String?>, permissionAndExpectedGrantResults: Array<out Pair<String?, Boolean>>, |