summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kevin Chyn <kchyn@google.com> 2020-06-25 20:02:14 -0700
committer Kevin Chyn <kchyn@google.com> 2020-06-29 15:29:16 -0700
commit74b61eb9240d340bd131b84887a4ba3ffcd2da3f (patch)
treedb2fef9463f1dc79586abde2f974e77eabefb931
parent706e17d7dcb24789e00ff8536b6bf470852df1ed (diff)
Clear identity when checking BiometricService#isStrongBiometric()
Fixes: 159042356 Fixes: 159462355 Test: atest FingerprintManagerTest Test: atest AccessibilityFingerprintGestureTest Change-Id: Ib8eefba810038af7c69ec6bf864ad5d0a202e132
-rw-r--r--services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java
index a4bf22566e98..b4478cbd0a6a 100644
--- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java
+++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java
@@ -183,6 +183,14 @@ public class FingerprintService extends BiometricServiceBase {
return;
}
+ final boolean isStrongBiometric;
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ isStrongBiometric = isStrongBiometric();
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
+
final boolean restricted = isRestricted();
final int statsClient = isKeyguard(opPackageName) ? BiometricsProtoEnums.CLIENT_KEYGUARD
: BiometricsProtoEnums.CLIENT_FINGERPRINT_MANAGER;
@@ -190,7 +198,7 @@ public class FingerprintService extends BiometricServiceBase {
mClientFinishCallback, getContext(), daemon, token,
new ClientMonitorCallbackConverter(receiver), userId, opId, restricted,
opPackageName, 0 /* cookie */, false /* requireConfirmation */, getSensorId(),
- isStrongBiometric(), surface, statsClient, mTaskStackListener, mLockoutTracker);
+ isStrongBiometric, surface, statsClient, mTaskStackListener, mLockoutTracker);
authenticateInternal(client, opPackageName);
}