Add additional fingerprints suggestion

Change-Id: Id18f3e9fffb1f9e964edb635689d3c7d410034fa
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 14e5a0d..311499c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1539,6 +1539,22 @@
             android:windowSoftInputMode="stateHidden|adjustResize"
             android:theme="@style/Theme.ConfirmDeviceCredentials"/>
 
+        <activity
+            android:name=".Settings$FingerprintSuggestionActivity"
+            android:label="@string/security_settings_fingerprint_preference_title"
+            android:icon="@drawable/ic_fingerprint">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="com.android.settings.suggested.category.SETTINGS_ONLY" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.dismiss"
+                android:value="10,30" />
+            <meta-data android:name="com.android.settings.require_feature"
+                android:value="android.hardware.fingerprint" />
+            <meta-data android:name="com.android.settings.title"
+                android:resource="@string/suggestion_additional_fingerprints" />
+        </activity>
+
         <activity android:name=".fingerprint.FingerprintSettings" android:exported="false"/>
         <activity android:name=".fingerprint.FingerprintEnrollFindSensor" android:exported="false"/>
         <activity android:name=".fingerprint.FingerprintEnrollEnrolling" android:exported="false"/>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d169d0c..1f971df 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -7011,4 +7011,7 @@
     <!-- No default home set summary [CHAR LIMIT=NONE] -->
     <string name="no_default_home">No default Home</string>
 
+    <!-- Title for suggestion adding more fingerprints [CHAR LIMIT=30] -->
+    <string name="suggestion_additional_fingerprints">Additional Fingerprints</string>
+
 </resources>
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index e20f93c..5d2468e 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -17,6 +17,7 @@
 package com.android.settings;
 
 import com.android.settings.applications.AppOpsSummary;
+import com.android.settings.fingerprint.FingerprintSettings;
 
 /**
  * Top-level Settings activity
@@ -103,7 +104,6 @@
     public static class ZenModeSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModePrioritySettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeAutomationSettingsActivity extends SettingsActivity { /* empty */ }
-    public static class ZenModeAutomationSuggestionActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeScheduleRuleSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeEventRuleSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeExternalRuleSettingsActivity extends SettingsActivity { /* empty */ }
@@ -118,7 +118,6 @@
     public static class TopLevelSettings extends SettingsActivity { /* empty */ }
     public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
     public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ }
-    public static class WifiCallingSuggestionActivity extends SettingsActivity { /* empty */ }
     public static class MemorySettingsActivity extends SettingsActivity { /* empty */ }
     public static class OverlaySettingsActivity extends SettingsActivity { /* empty */ }
     public static class WriteSettingsActivity extends SettingsActivity { /* empty */ }
@@ -126,7 +125,10 @@
     public static class AppWriteSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ManageDefaultAppsActivity extends SettingsActivity { /* empty */ }
 
+    public static class WifiCallingSuggestionActivity extends SettingsActivity { /* empty */ }
+    public static class ZenModeAutomationSuggestionActivity extends SettingsActivity { /* empty */ }
     public static class WallpaperSuggestionActivity extends SettingsActivity { /* empty */ }
+    public static class FingerprintSuggestionActivity extends FingerprintSettings { /* empty */ }
 
     // Categories.
     public static class WirelessSettings extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/dashboard/SuggestionsChecks.java b/src/com/android/settings/dashboard/SuggestionsChecks.java
index d9512b3..fde7bc1 100644
--- a/src/com/android/settings/dashboard/SuggestionsChecks.java
+++ b/src/com/android/settings/dashboard/SuggestionsChecks.java
@@ -20,11 +20,13 @@
 import android.app.IWallpaperManagerCallback;
 import android.app.NotificationManager;
 import android.content.Context;
+import android.hardware.fingerprint.FingerprintManager;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import com.android.ims.ImsManager;
+import com.android.settings.Settings.FingerprintSuggestionActivity;
 import com.android.settings.Settings.WallpaperSuggestionActivity;
 import com.android.settings.Settings.WifiCallingSuggestionActivity;
 import com.android.settings.Settings.ZenModeAutomationSuggestionActivity;
@@ -51,10 +53,17 @@
             return hasWallpaperSet();
         } else if (className.equals(WifiCallingSuggestionActivity.class.getName())) {
             return isWifiCallingUnavailableOrEnabled();
+        } else if (className.equals(FingerprintSuggestionActivity.class.getName())) {
+            return isNotSingleFingerprintEnrolled();
         }
         return false;
     }
 
+    private boolean isNotSingleFingerprintEnrolled() {
+        FingerprintManager manager = mContext.getSystemService(FingerprintManager.class);
+        return manager == null || manager.getEnrolledFingerprints().size() != 1;
+    }
+
     public boolean isWifiCallingUnavailableOrEnabled() {
         if (!ImsManager.isWfcEnabledByPlatform(mContext)) {
             return true;