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;