summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2010-04-14 16:30:49 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-04-14 16:30:49 -0700
commit02b576205f7fc7957c3895e1fb8846aefc5155b1 (patch)
tree238d631ee8e96528658c3b529fc9cc5c81db73f0 /src
parentbbeb73656c81ff51a2aa962dbc2ecdbe3260e7da (diff)
parentc02a09aa565318f37d9481d05d50610fe722e4b4 (diff)
downloadpackages_apps_Settings-02b576205f7fc7957c3895e1fb8846aefc5155b1.zip
packages_apps_Settings-02b576205f7fc7957c3895e1fb8846aefc5155b1.tar.gz
packages_apps_Settings-02b576205f7fc7957c3895e1fb8846aefc5155b1.tar.bz2
am c02a09aa: Merge "Fix 2594148: confirm PIN/Password before resetting device" into froyo
Merge commit 'c02a09aa565318f37d9481d05d50610fe722e4b4' into kraken * commit 'c02a09aa565318f37d9481d05d50610fe722e4b4': Fix 2594148: confirm PIN/Password before resetting device
Diffstat (limited to 'src')
-rw-r--r--src/com/android/settings/ChooseLockGeneric.java2
-rw-r--r--src/com/android/settings/ChooseLockPassword.java3
-rw-r--r--src/com/android/settings/ChooseLockPattern.java3
-rw-r--r--src/com/android/settings/ChooseLockSettingsHelper.java15
-rw-r--r--src/com/android/settings/MasterClear.java25
-rw-r--r--src/com/android/settings/MediaFormat.java21
6 files changed, 36 insertions, 33 deletions
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 7578078..0672ad9 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -54,7 +54,7 @@ public class ChooseLockGeneric extends PreferenceActivity {
if (!mPasswordConfirmed) {
ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this);
- if (!helper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST)) {
+ if (!helper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST, null, null)) {
mPasswordConfirmed = true; // no password set, so no need to confirm
updatePreferencesOrFinish();
}
diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java
index 63c7896..b5e72d7 100644
--- a/src/com/android/settings/ChooseLockPassword.java
+++ b/src/com/android/settings/ChooseLockPassword.java
@@ -119,7 +119,8 @@ public class ChooseLockPassword extends Activity implements OnClickListener, OnE
if (savedInstanceState == null) {
updateStage(Stage.Introduction);
if (confirmCredentials) {
- mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST);
+ mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST,
+ null, null);
}
}
}
diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java
index 786d563..b5c0e80 100644
--- a/src/com/android/settings/ChooseLockPattern.java
+++ b/src/com/android/settings/ChooseLockPattern.java
@@ -288,7 +288,8 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{
// there isn't an existing password or the user confirms their password.
updateStage(Stage.NeedToConfirm);
boolean launchedConfirmationActivity =
- mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST);
+ mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST,
+ null, null);
if (!launchedConfirmationActivity) {
updateStage(Stage.Introduction);
}
diff --git a/src/com/android/settings/ChooseLockSettingsHelper.java b/src/com/android/settings/ChooseLockSettingsHelper.java
index 6382891..ba83f8e 100644
--- a/src/com/android/settings/ChooseLockSettingsHelper.java
+++ b/src/com/android/settings/ChooseLockSettingsHelper.java
@@ -37,18 +37,22 @@ public class ChooseLockSettingsHelper {
/**
* If a pattern, password or PIN exists, prompt the user before allowing them to change it.
+ * @param message optional message to display about the action about to be done
+ * @param details optional detail message to display
* @return true if one exists and we launched an activity to confirm it
* @see #onActivityResult(int, int, android.content.Intent)
*/
- protected boolean launchConfirmationActivity(int request) {
+ protected boolean launchConfirmationActivity(int request,
+ CharSequence message, CharSequence details) {
boolean launched = false;
switch (mLockPatternUtils.getKeyguardStoredPasswordQuality()) {
case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
- launched = confirmPattern(request);
+ launched = confirmPattern(request, message, details);
break;
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
+ // TODO: update UI layout for ConfirmPassword to show message and details
launched = confirmPassword(request);
break;
}
@@ -57,14 +61,19 @@ public class ChooseLockSettingsHelper {
/**
* Launch screen to confirm the existing lock pattern.
+ * @param message shown in header of ConfirmLockPattern if not null
+ * @param details shown in footer of ConfirmLockPattern if not null
* @see #onActivityResult(int, int, android.content.Intent)
* @return true if we launched an activity to confirm pattern
*/
- private boolean confirmPattern(int request) {
+ private boolean confirmPattern(int request, CharSequence message, CharSequence details) {
if (!mLockPatternUtils.isLockPatternEnabled() || !mLockPatternUtils.savedPatternExists()) {
return false;
}
final Intent intent = new Intent();
+ // supply header and footer text in the intent
+ intent.putExtra(ConfirmLockPattern.HEADER_TEXT, message);
+ intent.putExtra(ConfirmLockPattern.FOOTER_TEXT, details);
intent.setClassName("com.android.settings", "com.android.settings.ConfirmLockPattern");
mActivity.startActivityForResult(intent, request);
return true;
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index 7e408d1..4de0e44 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -69,19 +69,16 @@ public class MasterClear extends Activity {
};
/**
- * Keyguard validation is run using the standard {@link ConfirmLockPattern}
+ * Keyguard validation is run using the standard {@link ConfirmLockPattern}
* component as a subactivity
+ * @param request the request code to be returned once confirmation finishes
+ * @return true if confirmation launched
*/
- private void runKeyguardConfirmation() {
- final Intent intent = new Intent();
- intent.setClassName("com.android.settings",
- "com.android.settings.ConfirmLockPattern");
- // supply header and footer text in the intent
- intent.putExtra(ConfirmLockPattern.HEADER_TEXT,
- getText(R.string.master_clear_gesture_prompt));
- intent.putExtra(ConfirmLockPattern.FOOTER_TEXT,
- getText(R.string.master_clear_gesture_explanation));
- startActivityForResult(intent, KEYGUARD_REQUEST);
+ private boolean runKeyguardConfirmation(int request) {
+ return new ChooseLockSettingsHelper(this)
+ .launchConfirmationActivity(request,
+ getText(R.string.master_clear_gesture_prompt),
+ getText(R.string.master_clear_gesture_explanation));
}
@Override
@@ -96,6 +93,8 @@ public class MasterClear extends Activity {
// confirmation prompt; otherwise, go back to the initial state.
if (resultCode == Activity.RESULT_OK) {
establishFinalConfirmationState();
+ } else if (resultCode == Activity.RESULT_CANCELED) {
+ finish();
} else {
establishInitialState();
}
@@ -108,9 +107,7 @@ public class MasterClear extends Activity {
*/
private Button.OnClickListener mInitiateListener = new Button.OnClickListener() {
public void onClick(View v) {
- if (mLockUtils.isLockPatternEnabled()) {
- runKeyguardConfirmation();
- } else {
+ if (!runKeyguardConfirmation(KEYGUARD_REQUEST)) {
establishFinalConfirmationState();
}
}
diff --git a/src/com/android/settings/MediaFormat.java b/src/com/android/settings/MediaFormat.java
index 075534d..b78ff62 100644
--- a/src/com/android/settings/MediaFormat.java
+++ b/src/com/android/settings/MediaFormat.java
@@ -88,16 +88,11 @@ public class MediaFormat extends Activity {
* Keyguard validation is run using the standard {@link ConfirmLockPattern}
* component as a subactivity
*/
- private void runKeyguardConfirmation() {
- final Intent intent = new Intent();
- intent.setClassName("com.android.settings",
- "com.android.settings.ConfirmLockPattern");
- // supply header and footer text in the intent
- intent.putExtra(ConfirmLockPattern.HEADER_TEXT,
- getText(R.string.media_format_gesture_prompt));
- intent.putExtra(ConfirmLockPattern.FOOTER_TEXT,
- getText(R.string.media_format_gesture_explanation));
- startActivityForResult(intent, KEYGUARD_REQUEST);
+ private boolean runKeyguardConfirmation(int request) {
+ return new ChooseLockSettingsHelper(this)
+ .launchConfirmationActivity(request,
+ getText(R.string.media_format_gesture_prompt),
+ getText(R.string.media_format_gesture_explanation));
}
@Override
@@ -112,6 +107,8 @@ public class MediaFormat extends Activity {
// confirmation prompt; otherwise, go back to the initial state.
if (resultCode == Activity.RESULT_OK) {
establishFinalConfirmationState();
+ } else if (resultCode == Activity.RESULT_CANCELED) {
+ finish();
} else {
establishInitialState();
}
@@ -124,9 +121,7 @@ public class MediaFormat extends Activity {
*/
private Button.OnClickListener mInitiateListener = new Button.OnClickListener() {
public void onClick(View v) {
- if (mLockUtils.isLockPatternEnabled()) {
- runKeyguardConfirmation();
- } else {
+ if (!runKeyguardConfirmation(KEYGUARD_REQUEST)) {
establishFinalConfirmationState();
}
}