diff --git a/core/java/android/hardware/face/FaceManager.java b/core/java/android/hardware/face/FaceManager.java index b4546a49a07c5..efe71f15007c6 100644 --- a/core/java/android/hardware/face/FaceManager.java +++ b/core/java/android/hardware/face/FaceManager.java @@ -71,7 +71,7 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan private static final int MSG_SET_FEATURE_COMPLETED = 107; private static final int MSG_CHALLENGE_GENERATED = 108; - private IFaceService mService; + private final IFaceService mService; private final Context mContext; private IBinder mToken = new Binder(); private AuthenticationCallback mAuthenticationCallback; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java index 3c597a93beeef..1c81fe1b484b5 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java @@ -30,6 +30,7 @@ import android.hardware.face.IFaceServiceReceiver; import android.os.Binder; import android.os.IBinder; import android.os.NativeHandle; +import android.util.Slog; import android.view.Surface; import com.android.internal.util.DumpUtils; @@ -177,6 +178,10 @@ public class FaceService extends SystemService { @Override // Binder call public boolean isHardwareDetected(String opPackageName) { Utils.checkPermission(getContext(), USE_BIOMETRIC_INTERNAL); + if (mFace10 == null) { + Slog.wtf(TAG, "No HAL, caller: " + opPackageName); + return false; + } final long token = Binder.clearCallingIdentity(); try { return mFace10.isHardwareDetected();