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 {