Don't show the Fingerprint suggestion if it is disabled.

Bug: 27202317
Change-Id: I8e97e47f711961cf127fc2135dd06812236829b8
diff --git a/src/com/android/settings/dashboard/SuggestionsChecks.java b/src/com/android/settings/dashboard/SuggestionsChecks.java
index 5f140ba..5b8638a 100644
--- a/src/com/android/settings/dashboard/SuggestionsChecks.java
+++ b/src/com/android/settings/dashboard/SuggestionsChecks.java
@@ -21,6 +21,7 @@
 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 @@
         } 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 @@
         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 {