Merge "Adds screen lock as a suggested activity"

This commit is contained in:
Udam Saini
2016-01-27 18:08:48 +00:00
committed by Android (Google) Code Review
4 changed files with 62 additions and 0 deletions

View File

@@ -1591,6 +1591,34 @@
android:value="true" /> android:value="true" />
</activity> </activity>
<activity-alias android:name=".suggestion.ChooseLockGeneric"
android:icon="@drawable/ic_settings_security"
android:targetActivity=".ChooseLockGeneric">
<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.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-alias android:name=".suggestion.FingerprintEnrollIntroduction"
android:icon="@drawable/ic_settings_security"
android:targetActivity=".fingerprint.FingerprintEnrollIntroduction">
<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.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 android:name="ChooseLockGeneric$InternalActivity" android:exported="false" <activity android:name="ChooseLockGeneric$InternalActivity" android:exported="false"
android:label="@string/lockpassword_choose_lock_generic_header" android:label="@string/lockpassword_choose_lock_generic_header"
android:excludeFromRecents="true" android:excludeFromRecents="true"

View File

@@ -959,6 +959,13 @@
<!-- Unlock Picker Settings --><skip /> <!-- Unlock Picker Settings --><skip />
<!-- Security Picker --><skip /> <!-- Security Picker --><skip />
<!-- Title for suggested actions for screen lock -->
<string name="suggested_lock_settings_title">Screen lock</string>
<!-- Summary for suggested actions for screen lock -->
<string name="suggested_lock_settings_summary">Protect your device</string>
<!-- Title for security picker to choose the unlock method: None/Pattern/PIN/Password [CHAR LIMIT=22] --> <!-- Title for security picker to choose the unlock method: None/Pattern/PIN/Password [CHAR LIMIT=22] -->
<string name="lock_settings_picker_title">Choose screen lock</string> <string name="lock_settings_picker_title">Choose screen lock</string>

View File

@@ -24,9 +24,11 @@ import android.app.DialogFragment;
import android.app.Fragment; import android.app.Fragment;
import android.app.FragmentManager; import android.app.FragmentManager;
import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.hardware.fingerprint.Fingerprint; import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintManager.RemovalCallback; import android.hardware.fingerprint.FingerprintManager.RemovalCallback;
@@ -267,6 +269,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|| requestCode == ENABLE_ENCRYPTION_REQUEST) { || requestCode == ENABLE_ENCRYPTION_REQUEST) {
if (resultCode != RESULT_CANCELED) { if (resultCode != RESULT_CANCELED) {
getActivity().setResult(resultCode, data); getActivity().setResult(resultCode, data);
disableScreenLockSuggestion();
finish(); finish();
} }
} else { } else {
@@ -545,9 +548,30 @@ public class ChooseLockGeneric extends SettingsActivity {
getActivity().setResult(Activity.RESULT_OK); getActivity().setResult(Activity.RESULT_OK);
} else { } else {
removeAllFingerprintTemplatesAndFinish(); 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) { private Intent getIntentForUnlockMethod(int quality, boolean disabled) {
Intent intent = null; Intent intent = null;
final Context context = getActivity(); final Context context = getActivity();

View File

@@ -161,6 +161,9 @@ public class DashboardSummary extends InstrumentedFragment
List<DashboardCategory> categories = List<DashboardCategory> categories =
((SettingsActivity) getActivity()).getDashboardCategories(); ((SettingsActivity) getActivity()).getDashboardCategories();
mAdapter.setCategories(categories); mAdapter.setCategories(categories);
// recheck to see if any suggestions have been changed.
mAdapter.setSuggestions(mSuggestionParser);
mDashboard.setAdapter(mAdapter); mDashboard.setAdapter(mAdapter);
long delta = System.currentTimeMillis() - start; long delta = System.currentTimeMillis() - start;