diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java index c1ee545fea3..a493ae01dc9 100644 --- a/src/com/android/settings/biometrics/face/FaceSettings.java +++ b/src/com/android/settings/biometrics/face/FaceSettings.java @@ -323,16 +323,18 @@ public class FaceSettings extends DashboardFragment { @Override protected boolean isPageSearchEnabled(Context context) { - return isAvailable(context); + if (isAvailable(context)) { + return hasEnrolledBiometrics(context); + } + + return false; } @Override public List getNonIndexableKeys(Context context) { final List keys = super.getNonIndexableKeys(context); if (isAvailable(context)) { - final FaceManager faceManager = context.getSystemService(FaceManager.class); - final boolean hasEnrolled = faceManager.hasEnrolledTemplates( - UserHandle.myUserId()); + final boolean hasEnrolled = hasEnrolledBiometrics(context); keys.add(hasEnrolled ? PREF_KEY_ENROLL_FACE_UNLOCK : PREF_KEY_DELETE_FACE_DATA); } @@ -353,5 +355,13 @@ public class FaceSettings extends DashboardFragment { } return isAttentionSupported; } + + private boolean hasEnrolledBiometrics(Context context) { + final FaceManager faceManager = Utils.getFaceManagerOrNull(context); + if (faceManager != null) { + return faceManager.hasEnrolledTemplates(UserHandle.myUserId()); + } + return false; + } }; }