From 1364892728e9707b96bc9736909285e448b190cb Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Mon, 11 Mar 2019 20:28:38 -0700 Subject: [PATCH] Don't check canUseBiometric if caller is system process Fixes: 128108006 Test: Secondary user is able to authenticate Test: BiometricManager#canAuthenticate for secondary user works Change-Id: Ia97f4a0972d92e4f6fbe1b634b318ba6e6fe93d3 --- .../com/android/server/biometrics/BiometricServiceBase.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java index d7877581831f0..ebb9e060317b6 100644 --- a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java +++ b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java @@ -43,6 +43,7 @@ import android.os.IBinder; import android.os.IHwBinder; import android.os.IRemoteCallback; import android.os.PowerManager; +import android.os.Process; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemClock; @@ -958,6 +959,10 @@ public abstract class BiometricServiceBase extends SystemService int pid, int userId) { checkUseBiometricPermission(); + + if (Binder.getCallingUid() == Process.SYSTEM_UID) { + return true; // System process (BiometricService, etc) is always allowed + } if (isKeyguard(opPackageName)) { return true; // Keyguard is always allowed }