From 8bbbe545f2595505ff354f89e5b5468ebeb3308b Mon Sep 17 00:00:00 2001 From: joshmccloskey Date: Tue, 9 Jul 2019 15:28:05 -0700 Subject: [PATCH] Favor setup face in search settings. Test: Manual. Fixes: 137135217 Change-Id: I5e0a72a117e2af6d9262d07616cc539ee7a7e55e --- .../face/FaceSettingsAppPreferenceController.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java index 70c00e54d2..a54171e8c4 100644 --- a/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java @@ -78,6 +78,19 @@ public class FaceSettingsAppPreferenceController extends FaceSettingsPreferenceC @Override public int getAvailabilityStatus() { - return AVAILABLE; + if(mFaceManager == null){ + return AVAILABLE_UNSEARCHABLE; + } + + // By only allowing this preference controller to be searchable when the feature is turned + // off, it will give preference to the face setup controller. + final boolean hasEnrolledUser = mFaceManager.hasEnrolledTemplates(getUserId()); + final boolean appUnlockEnabled = Settings.Secure.getIntForUser( + mContext.getContentResolver(), FACE_UNLOCK_APP_ENABLED, OFF, getUserId()) == ON; + if (hasEnrolledUser && !appUnlockEnabled) { + return AVAILABLE; + } else { + return AVAILABLE_UNSEARCHABLE; + } } } -- 2.11.0