summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ChooseLockPattern.java
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2015-06-04 18:00:34 -0700
committerJorim Jaggi <jjaggi@google.com>2015-06-04 18:00:34 -0700
commit58c5fb38c75cf04309f74927b3c91c54a645b690 (patch)
tree92d737af9500b0d3faee4a792bcb5b80d74188ad /src/com/android/settings/ChooseLockPattern.java
parent7c4a0fed969a436780e460523c8a17fc4a15c3f9 (diff)
downloadpackages_apps_Settings-58c5fb38c75cf04309f74927b3c91c54a645b690.tar.gz
packages_apps_Settings-58c5fb38c75cf04309f74927b3c91c54a645b690.tar.bz2
packages_apps_Settings-58c5fb38c75cf04309f74927b3c91c54a645b690.zip
Fix lockpattern weirdness
- Pass back correct result when pressing cancel. - Make sure the start the interstitial activity after checking so we don't preempt the async thread we are still running. Bug: 21621918 Change-Id: I5558089abf02a00a268050fc48894cea86692fa0
Diffstat (limited to 'src/com/android/settings/ChooseLockPattern.java')
-rw-r--r--src/com/android/settings/ChooseLockPattern.java21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java
index ad76bfdcb..baee5992a 100644
--- a/src/com/android/settings/ChooseLockPattern.java
+++ b/src/com/android/settings/ChooseLockPattern.java
@@ -463,8 +463,6 @@ public class ChooseLockPattern extends SettingsActivity {
mLockPatternView.clearPattern();
updateStage(Stage.Introduction);
} else if (mUiStage.leftMode == LeftButtonMode.Cancel) {
- // They are canceling the entire wizard
- getActivity().setResult(RESULT_FINISHED);
getActivity().finish();
} else {
throw new IllegalStateException("left footer button pressed, but stage of " +
@@ -639,21 +637,18 @@ public class ChooseLockPattern extends SettingsActivity {
utils.setVisiblePatternEnabled(true, UserHandle.myUserId());
}
- if (!wasSecureBefore) {
- startActivity(getRedactionInterstitialIntent(getActivity()));
- }
-
if (mHasChallenge) {
- startVerifyPattern(utils);
- return;
+ startVerifyPattern(utils, wasSecureBefore);
} else {
+ if (!wasSecureBefore) {
+ startActivity(getRedactionInterstitialIntent(getActivity()));
+ }
getActivity().setResult(RESULT_FINISHED);
+ doFinish();
}
-
- doFinish();
}
- private void startVerifyPattern(LockPatternUtils utils) {
+ private void startVerifyPattern(LockPatternUtils utils, final boolean wasSecureBefore) {
mLockPatternView.disableInput();
if (mPendingLockCheck != null) {
mPendingLockCheck.cancel(false);
@@ -674,6 +669,10 @@ public class ChooseLockPattern extends SettingsActivity {
mLockPatternView.enableInput();
mPendingLockCheck = null;
+ if (!wasSecureBefore) {
+ startActivity(getRedactionInterstitialIntent(getActivity()));
+ }
+
Intent intent = new Intent();
intent.putExtra(
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);