Adds screen lock as a suggested activity
Also, fixes a bug where the suggested activity stayed on screen after the component was disabled causing a crash. bug:25246207 bug:26770556 Change-Id: I28d784cdc57e464e49887483690ab514ca3bc46a
This commit is contained in:
@@ -1562,6 +1562,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"
|
||||||
|
@@ -970,6 +970,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>
|
||||||
|
|
||||||
|
@@ -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();
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user