diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3a4bb080b43..7c99955a895 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1591,6 +1591,34 @@
android:value="true" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Screen lock
+
+
+ Protect your device
+
Choose screen lock
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index b44ee48f0ea..d2eae7eccdb 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -24,9 +24,11 @@ import android.app.DialogFragment;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintManager.RemovalCallback;
@@ -267,6 +269,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|| requestCode == ENABLE_ENCRYPTION_REQUEST) {
if (resultCode != RESULT_CANCELED) {
getActivity().setResult(resultCode, data);
+ disableScreenLockSuggestion();
finish();
}
} else {
@@ -545,9 +548,30 @@ public class ChooseLockGeneric extends SettingsActivity {
getActivity().setResult(Activity.RESULT_OK);
} else {
removeAllFingerprintTemplatesAndFinish();
+ disableScreenLockSuggestion();
}
}
+ private void disableScreenLockSuggestion() {
+ final ComponentName suggestionChooseLock = new ComponentName("com.android.settings",
+ "com.android.settings.suggestion.ChooseLockGeneric");
+ disableComponent(suggestionChooseLock);
+ PackageManager pm = getContext().getPackageManager();
+ if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
+ final ComponentName suggestionFingerprint = new ComponentName(
+ "com.android.settings",
+ "com.android.settings.suggestion.FingerprintEnrollIntroduction");
+ disableComponent(suggestionFingerprint);
+ }
+ }
+
+ private void disableComponent(ComponentName componentName) {
+ getContext().getPackageManager().setComponentEnabledSetting(
+ componentName,
+ PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+ PackageManager.DONT_KILL_APP);
+ }
+
private Intent getIntentForUnlockMethod(int quality, boolean disabled) {
Intent intent = null;
final Context context = getActivity();
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index ba9136a95be..69fd8e7689f 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -161,6 +161,9 @@ public class DashboardSummary extends InstrumentedFragment
List categories =
((SettingsActivity) getActivity()).getDashboardCategories();
mAdapter.setCategories(categories);
+
+ // recheck to see if any suggestions have been changed.
+ mAdapter.setSuggestions(mSuggestionParser);
mDashboard.setAdapter(mAdapter);
long delta = System.currentTimeMillis() - start;