diff options
-rw-r--r-- | tests/cts/permissionpolicy/res/raw/android_manifest.xml | 7 | ||||
-rw-r--r-- | tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt | 25 |
2 files changed, 13 insertions, 19 deletions
diff --git a/tests/cts/permissionpolicy/res/raw/android_manifest.xml b/tests/cts/permissionpolicy/res/raw/android_manifest.xml index 9d80d153f..1acdc75a6 100644 --- a/tests/cts/permissionpolicy/res/raw/android_manifest.xml +++ b/tests/cts/permissionpolicy/res/raw/android_manifest.xml @@ -6772,13 +6772,6 @@ <permission android:name="android.permission.USE_BIOMETRIC_INTERNAL" android:protectionLevel="signature" /> - <!-- Allows privileged apps to access the background face authentication. - @SystemApi - @FlaggedApi("android.hardware.biometrics.face_background_authentication") - @hide --> - <permission android:name="android.permission.USE_BACKGROUND_FACE_AUTHENTICATION" - android:protectionLevel="signature|privileged" /> - <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide --> <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG" android:protectionLevel="signature" /> diff --git a/tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt b/tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt index 8caa4e6bf..f9f9e8cd2 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt @@ -21,7 +21,9 @@ import android.app.Instrumentation import android.content.Intent import android.os.Bundle import android.util.Log +import android.util.LruCache import java.util.concurrent.CompletableFuture +import java.util.concurrent.atomic.AtomicInteger class StartForFutureActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -36,26 +38,25 @@ class StartForFutureActivity : Activity() { intent: Intent, future: CompletableFuture<Instrumentation.ActivityResult> ) { - if (StartForFutureActivity.future != null) { - throw RuntimeException( - "StartForFutureActivity only supports launching one " + - "concurrent activity, but more than one was attempted." - ) - } - - startActivityForResult(intent, 1) - StartForFutureActivity.future = future + val requestCode = nextRequestCode.getAndIncrement() + futures.put(requestCode, future) + startActivityForResult(intent, requestCode) } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) - future!!.complete(Instrumentation.ActivityResult(resultCode, data)) - future = null + val future = + futures.remove(requestCode) + ?: throw IllegalStateException( + "StartForFutureActivity received an activity result with an unknown requestCode" + ) + future.complete(Instrumentation.ActivityResult(resultCode, data)) finish() } companion object { - private var future: CompletableFuture<Instrumentation.ActivityResult>? = null private val TAG = StartForFutureActivity::class.simpleName + private var nextRequestCode = AtomicInteger(1) + private val futures = LruCache<Int, CompletableFuture<Instrumentation.ActivityResult>>(10) } } |