auto import from //branches/cupcake/...@132276
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index a0a52a2..cd26492 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -45,7 +45,8 @@
private static final String KEY_LOCK_ENABLED = "lockenabled";
private static final String KEY_VISIBLE_PATTERN = "visiblepattern";
private static final String KEY_TACTILE_FEEDBACK_ENABLED = "tactilefeedback";
- private static final int CONFIRM_PATTERN_REQUEST_CODE = 55;
+ private static final int CONFIRM_PATTERN_THEN_DISABLE_REQUEST_CODE = 55;
+ private static final int CONFIRM_PATTERN_THEN_ENABLE_REQUEST_CODE = 56;
private LockPatternUtils mLockPatternUtils;
private CheckBoxPreference mLockEnabled;
@@ -256,14 +257,24 @@
@Override
protected void onClick() {
- if (isChecked() && mLockPatternUtils.savedPatternExists()) {
- confirmPatternThenDisable();
+ if (mLockPatternUtils.savedPatternExists()) {
+ if (isChecked()) {
+ confirmPatternThenDisable();
+ } else {
+ confirmPatternThenEnable();
+ }
} else {
super.onClick();
}
}
}
+ private void confirmPatternThenEnable() {
+ final Intent intent = new Intent();
+ intent.setClassName("com.android.settings", "com.android.settings.ConfirmLockPattern");
+ startActivityForResult(intent, CONFIRM_PATTERN_THEN_ENABLE_REQUEST_CODE);
+ }
+
/**
* Launch screen to confirm the existing lock pattern.
* @see #onActivityResult(int, int, android.content.Intent)
@@ -271,7 +282,7 @@
private void confirmPatternThenDisable() {
final Intent intent = new Intent();
intent.setClassName("com.android.settings", "com.android.settings.ConfirmLockPattern");
- startActivityForResult(intent, CONFIRM_PATTERN_REQUEST_CODE);
+ startActivityForResult(intent, CONFIRM_PATTERN_THEN_DISABLE_REQUEST_CODE);
}
/**
@@ -282,12 +293,12 @@
Intent data) {
super.onActivityResult(requestCode, resultCode, data);
- if (requestCode != CONFIRM_PATTERN_REQUEST_CODE) {
- return;
- }
+ final boolean resultOk = resultCode == Activity.RESULT_OK;
- if (resultCode == Activity.RESULT_OK) {
- mLockPatternUtils.setLockPatternEnabled(false);
+ if ((requestCode == CONFIRM_PATTERN_THEN_DISABLE_REQUEST_CODE) && resultOk) {
+ mLockPatternUtils.setLockPatternEnabled(false);
+ } else if ((requestCode == CONFIRM_PATTERN_THEN_ENABLE_REQUEST_CODE) && resultOk) {
+ mLockPatternUtils.setLockPatternEnabled(true);
}
}
}