summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/cts/permissionpolicy/res/raw/android_manifest.xml7
-rw-r--r--tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt25
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)
}
}