Merge "Add flag to hide disabled keyguard options."
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 331fbae..aeb3827 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -74,26 +74,24 @@
     }
 
     public static class ChooseLockGenericFragment extends SettingsPreferenceFragment {
+        private static final String TAG = "ChooseLockGenericFragment";
         private static final int MIN_PASSWORD_LENGTH = 4;
-        private static final String KEY_UNLOCK_BACKUP_INFO = "unlock_backup_info";
         private static final String KEY_UNLOCK_SET_OFF = "unlock_set_off";
         private static final String KEY_UNLOCK_SET_NONE = "unlock_set_none";
         private static final String KEY_UNLOCK_SET_PIN = "unlock_set_pin";
         private static final String KEY_UNLOCK_SET_PASSWORD = "unlock_set_password";
         private static final String KEY_UNLOCK_SET_PATTERN = "unlock_set_pattern";
-        private static final int CONFIRM_EXISTING_REQUEST = 100;
-        private static final int ENABLE_ENCRYPTION_REQUEST = 102;
-        private static final int CHOOSE_LOCK_REQUEST = 103;
         private static final String PASSWORD_CONFIRMED = "password_confirmed";
-
         private static final String WAITING_FOR_CONFIRMATION = "waiting_for_confirmation";
-        private static final String TAG = "ChooseLockGenericFragment";
         public static final String MINIMUM_QUALITY_KEY = "minimum_quality";
+        public static final String HIDE_DISABLED_PREFS = "hide_disabled_prefs";
         public static final String ENCRYPT_REQUESTED_QUALITY = "encrypt_requested_quality";
         public static final String ENCRYPT_REQUESTED_DISABLED = "encrypt_requested_disabled";
         public static final String TAG_FRP_WARNING_DIALOG = "frp_warning_dialog";
 
-        private static final boolean ALWAY_SHOW_TUTORIAL = true;
+        private static final int CONFIRM_EXISTING_REQUEST = 100;
+        private static final int ENABLE_ENCRYPTION_REQUEST = 101;
+        private static final int CHOOSE_LOCK_REQUEST = 102;
 
         private ChooseLockSettingsHelper mChooseLockSettingsHelper;
         private DevicePolicyManager mDPM;
@@ -224,12 +222,14 @@
                 // If caller didn't specify password quality, show UI and allow the user to choose.
                 quality = intent.getIntExtra(MINIMUM_QUALITY_KEY, -1);
                 quality = upgradeQuality(quality);
+                final boolean hideDisabledPrefs = intent.getBooleanExtra(
+                        HIDE_DISABLED_PREFS, false);
                 final PreferenceScreen prefScreen = getPreferenceScreen();
                 if (prefScreen != null) {
                     prefScreen.removeAll();
                 }
                 addPreferencesFromResource(R.xml.security_settings_picker);
-                disableUnusablePreferences(quality);
+                disableUnusablePreferences(quality, hideDisabledPrefs);
                 updatePreferenceSummaryIfNeeded();
             } else {
                 updateUnlockMethodAndFinish(quality, false);
@@ -266,9 +266,11 @@
          * implementation is in disableUnusablePreferenceImpl.
          *
          * @param quality the requested quality.
+         * @param hideDisabledPrefs if false preferences show why they were disabled; otherwise
+         * they're not shown at all.
          */
-        protected void disableUnusablePreferences(final int quality) {
-            disableUnusablePreferencesImpl(quality, false /* hideDisabled */);
+        protected void disableUnusablePreferences(final int quality, boolean hideDisabledPrefs) {
+            disableUnusablePreferencesImpl(quality, hideDisabledPrefs);
         }
 
         /***
diff --git a/src/com/android/settings/FingerprintEnroll.java b/src/com/android/settings/FingerprintEnroll.java
index f7ca36b..865fcdc 100644
--- a/src/com/android/settings/FingerprintEnroll.java
+++ b/src/com/android/settings/FingerprintEnroll.java
@@ -465,6 +465,7 @@
             intent.setClassName("com.android.settings", ChooseLockGeneric.class.getName());
             intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.MINIMUM_QUALITY_KEY,
                     DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
+            intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_DISABLED_PREFS, true);
             startActivityForResult(intent, CHOOSE_LOCK_GENERIC_REQUEST);
         }
     }
diff --git a/src/com/android/settings/SetupChooseLockGeneric.java b/src/com/android/settings/SetupChooseLockGeneric.java
index 94ff8d6..f29f08a 100644
--- a/src/com/android/settings/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/SetupChooseLockGeneric.java
@@ -110,7 +110,7 @@
          * @param quality the requested quality.
          */
         @Override
-        protected void disableUnusablePreferences(final int quality) {
+        protected void disableUnusablePreferences(final int quality, boolean hideDisabled) {
             // At this part of the flow, the user has already indicated they want to add a pin,
             // pattern or password, so don't show "None" or "Slide". We disable them here and set
             // the HIDE_DISABLED flag to true to hide them. This only happens for setup wizard.