Favor setup face in search settings.
Test: Manual.
Fixes: 137135217
Change-Id: I5e0a72a117e2af6d9262d07616cc539ee7a7e55e
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java
index 70c00e5..a54171e 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsAppPreferenceController.java
@@ -78,6 +78,19 @@
@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;
+ }
}
}