diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3a3f5679a52..cd988b09084 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1708,7 +1708,7 @@
+ android:resource="@string/suggested_fingerprint_lock_settings_title" />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b8b4273e375..5a4827e28a9 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -988,11 +988,14 @@
- Screen lock
+ Set screen lock
Protect your device
+
+ Use fingerprint
+
Unlock with your fingerprint
@@ -7399,7 +7402,7 @@
Add another fingerprint
- Unlock with a different fingerprint
+ Unlock with a different finger
On / %1$s
diff --git a/src/com/android/settings/dashboard/SuggestionsChecks.java b/src/com/android/settings/dashboard/SuggestionsChecks.java
index 5f140ba0b0d..5b8638a8067 100644
--- a/src/com/android/settings/dashboard/SuggestionsChecks.java
+++ b/src/com/android/settings/dashboard/SuggestionsChecks.java
@@ -21,6 +21,7 @@ import android.app.IWallpaperManagerCallback;
import android.app.KeyguardManager;
import android.app.NotificationManager;
import android.app.WallpaperManager;
+import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
@@ -59,10 +60,11 @@ public class SuggestionsChecks {
} else if (className.equals(WifiCallingSuggestionActivity.class.getName())) {
return isWifiCallingUnavailableOrEnabled();
} else if (className.equals(FingerprintSuggestionActivity.class.getName())) {
- return isNotSingleFingerprintEnrolled();
- } else if (className.equals(ScreenLockSuggestionActivity.class.getName())
- || className.equals(FingerprintEnrollSuggestionActivity.class.getName())) {
+ return isNotSingleFingerprintEnrolled() || !isFingerprintEnabled();
+ } else if (className.equals(ScreenLockSuggestionActivity.class.getName())) {
return isDeviceSecured();
+ } else if (className.equals(FingerprintEnrollSuggestionActivity.class.getName())) {
+ return isDeviceSecured() || !isFingerprintEnabled();
}
return false;
}
@@ -108,6 +110,14 @@ public class SuggestionsChecks {
return false;
}
+ private boolean isFingerprintEnabled() {
+ DevicePolicyManager dpManager =
+ (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
+ final int dpmFlags = dpManager.getKeyguardDisabledFeatures(null, /* admin */
+ mContext.getUserId());
+ return (dpmFlags & DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT) == 0;
+ }
+
private final IWallpaperManagerCallback mCallback = new IWallpaperManagerCallback.Stub() {
@Override
public void onWallpaperChanged() throws RemoteException {