Loading AndroidManifest.xml +10 −8 Original line number Diff line number Diff line Loading @@ -1607,33 +1607,35 @@ android:value="true" /> </activity> <activity-alias android:name=".suggestion.ChooseLockGeneric" android:icon="@drawable/ic_settings_security" android:targetActivity=".ChooseLockGeneric"> <activity android:name=".Settings$ScreenLockSuggestionActivity" android:icon="@drawable/ic_settings_security"> <intent-filter android:priority="1"> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.settings.suggested.category.LOCK_SCREEN" /> </intent-filter> <meta-data android:name="com.android.settings.dismiss" android:value="0,30" /> <meta-data android:name="com.android.settings.title" android:resource="@string/suggested_lock_settings_title" /> <meta-data android:name="com.android.settings.summary" android:resource="@string/suggested_lock_settings_summary" /> </activity-alias> </activity> <activity-alias android:name=".suggestion.FingerprintEnrollIntroduction" android:icon="@drawable/ic_settings_security" android:targetActivity=".fingerprint.FingerprintEnrollIntroduction"> <activity android:name=".Settings$FingerprintEnrollSuggestionActivity" android:icon="@drawable/ic_settings_security"> <intent-filter android:priority="2"> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.settings.suggested.category.LOCK_SCREEN" /> </intent-filter> <meta-data android:name="com.android.settings.dismiss" android:value="0,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/suggested_lock_settings_title" /> <meta-data android:name="com.android.settings.summary" android:resource="@string/suggested_lock_settings_summary" /> </activity-alias> </activity> <activity android:name="ChooseLockGeneric$InternalActivity" android:exported="false" android:label="@string/lockpassword_choose_lock_generic_header" Loading src/com/android/settings/ChooseLockGeneric.java +0 −24 Original line number Diff line number Diff line Loading @@ -24,11 +24,9 @@ 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; Loading Loading @@ -269,7 +267,6 @@ public class ChooseLockGeneric extends SettingsActivity { || requestCode == ENABLE_ENCRYPTION_REQUEST) { if (resultCode != RESULT_CANCELED) { getActivity().setResult(resultCode, data); disableScreenLockSuggestion(); finish(); } } else { Loading Loading @@ -548,30 +545,9 @@ 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(); Loading src/com/android/settings/Settings.java +5 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.settings; import com.android.settings.applications.AppOpsSummary; import com.android.settings.fingerprint.FingerprintEnrollIntroduction; import com.android.settings.fingerprint.FingerprintSettings; /** Loading Loading @@ -129,6 +130,10 @@ public class Settings extends SettingsActivity { public static class ZenModeAutomationSuggestionActivity extends SettingsActivity { /* empty */ } public static class WallpaperSuggestionActivity extends SettingsActivity { /* empty */ } public static class FingerprintSuggestionActivity extends FingerprintSettings { /* empty */ } public static class FingerprintEnrollSuggestionActivity extends FingerprintEnrollIntroduction { /* empty */ } public static class ScreenLockSuggestionActivity extends ChooseLockGeneric { /* empty */ } // Categories. public static class WirelessSettings extends SettingsActivity { /* empty */ } Loading src/com/android/settings/dashboard/SuggestionsChecks.java +11 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import android.app.AutomaticZenRule; import android.app.IWallpaperManager; import android.app.IWallpaperManager.Stub; import android.app.IWallpaperManagerCallback; import android.app.KeyguardManager; import android.app.NotificationManager; import android.content.Context; import android.hardware.fingerprint.FingerprintManager; Loading @@ -26,7 +27,9 @@ import android.os.IBinder; import android.os.RemoteException; import android.os.ServiceManager; import com.android.ims.ImsManager; import com.android.settings.Settings.FingerprintEnrollSuggestionActivity; import com.android.settings.Settings.FingerprintSuggestionActivity; import com.android.settings.Settings.ScreenLockSuggestionActivity; import com.android.settings.Settings.WallpaperSuggestionActivity; import com.android.settings.Settings.WifiCallingSuggestionActivity; import com.android.settings.Settings.ZenModeAutomationSuggestionActivity; Loading Loading @@ -55,10 +58,18 @@ public class SuggestionsChecks { return isWifiCallingUnavailableOrEnabled(); } else if (className.equals(FingerprintSuggestionActivity.class.getName())) { return isNotSingleFingerprintEnrolled(); } else if (className.equals(ScreenLockSuggestionActivity.class.getName()) || className.equals(FingerprintEnrollSuggestionActivity.class.getName())) { return isDeviceSecured(); } return false; } private boolean isDeviceSecured() { KeyguardManager km = mContext.getSystemService(KeyguardManager.class); return km.isKeyguardSecure(); } private boolean isNotSingleFingerprintEnrolled() { FingerprintManager manager = mContext.getSystemService(FingerprintManager.class); return manager == null || manager.getEnrolledFingerprints().size() != 1; Loading Loading
AndroidManifest.xml +10 −8 Original line number Diff line number Diff line Loading @@ -1607,33 +1607,35 @@ android:value="true" /> </activity> <activity-alias android:name=".suggestion.ChooseLockGeneric" android:icon="@drawable/ic_settings_security" android:targetActivity=".ChooseLockGeneric"> <activity android:name=".Settings$ScreenLockSuggestionActivity" android:icon="@drawable/ic_settings_security"> <intent-filter android:priority="1"> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.settings.suggested.category.LOCK_SCREEN" /> </intent-filter> <meta-data android:name="com.android.settings.dismiss" android:value="0,30" /> <meta-data android:name="com.android.settings.title" android:resource="@string/suggested_lock_settings_title" /> <meta-data android:name="com.android.settings.summary" android:resource="@string/suggested_lock_settings_summary" /> </activity-alias> </activity> <activity-alias android:name=".suggestion.FingerprintEnrollIntroduction" android:icon="@drawable/ic_settings_security" android:targetActivity=".fingerprint.FingerprintEnrollIntroduction"> <activity android:name=".Settings$FingerprintEnrollSuggestionActivity" android:icon="@drawable/ic_settings_security"> <intent-filter android:priority="2"> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.settings.suggested.category.LOCK_SCREEN" /> </intent-filter> <meta-data android:name="com.android.settings.dismiss" android:value="0,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/suggested_lock_settings_title" /> <meta-data android:name="com.android.settings.summary" android:resource="@string/suggested_lock_settings_summary" /> </activity-alias> </activity> <activity android:name="ChooseLockGeneric$InternalActivity" android:exported="false" android:label="@string/lockpassword_choose_lock_generic_header" Loading
src/com/android/settings/ChooseLockGeneric.java +0 −24 Original line number Diff line number Diff line Loading @@ -24,11 +24,9 @@ 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; Loading Loading @@ -269,7 +267,6 @@ public class ChooseLockGeneric extends SettingsActivity { || requestCode == ENABLE_ENCRYPTION_REQUEST) { if (resultCode != RESULT_CANCELED) { getActivity().setResult(resultCode, data); disableScreenLockSuggestion(); finish(); } } else { Loading Loading @@ -548,30 +545,9 @@ 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(); Loading
src/com/android/settings/Settings.java +5 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.settings; import com.android.settings.applications.AppOpsSummary; import com.android.settings.fingerprint.FingerprintEnrollIntroduction; import com.android.settings.fingerprint.FingerprintSettings; /** Loading Loading @@ -129,6 +130,10 @@ public class Settings extends SettingsActivity { public static class ZenModeAutomationSuggestionActivity extends SettingsActivity { /* empty */ } public static class WallpaperSuggestionActivity extends SettingsActivity { /* empty */ } public static class FingerprintSuggestionActivity extends FingerprintSettings { /* empty */ } public static class FingerprintEnrollSuggestionActivity extends FingerprintEnrollIntroduction { /* empty */ } public static class ScreenLockSuggestionActivity extends ChooseLockGeneric { /* empty */ } // Categories. public static class WirelessSettings extends SettingsActivity { /* empty */ } Loading
src/com/android/settings/dashboard/SuggestionsChecks.java +11 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import android.app.AutomaticZenRule; import android.app.IWallpaperManager; import android.app.IWallpaperManager.Stub; import android.app.IWallpaperManagerCallback; import android.app.KeyguardManager; import android.app.NotificationManager; import android.content.Context; import android.hardware.fingerprint.FingerprintManager; Loading @@ -26,7 +27,9 @@ import android.os.IBinder; import android.os.RemoteException; import android.os.ServiceManager; import com.android.ims.ImsManager; import com.android.settings.Settings.FingerprintEnrollSuggestionActivity; import com.android.settings.Settings.FingerprintSuggestionActivity; import com.android.settings.Settings.ScreenLockSuggestionActivity; import com.android.settings.Settings.WallpaperSuggestionActivity; import com.android.settings.Settings.WifiCallingSuggestionActivity; import com.android.settings.Settings.ZenModeAutomationSuggestionActivity; Loading Loading @@ -55,10 +58,18 @@ public class SuggestionsChecks { return isWifiCallingUnavailableOrEnabled(); } else if (className.equals(FingerprintSuggestionActivity.class.getName())) { return isNotSingleFingerprintEnrolled(); } else if (className.equals(ScreenLockSuggestionActivity.class.getName()) || className.equals(FingerprintEnrollSuggestionActivity.class.getName())) { return isDeviceSecured(); } return false; } private boolean isDeviceSecured() { KeyguardManager km = mContext.getSystemService(KeyguardManager.class); return km.isKeyguardSecure(); } private boolean isNotSingleFingerprintEnrolled() { FingerprintManager manager = mContext.getSystemService(FingerprintManager.class); return manager == null || manager.getEnrolledFingerprints().size() != 1; Loading