diff options
author | Jorim Jaggi <jjaggi@google.com> | 2015-06-04 18:00:34 -0700 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2015-06-04 18:00:34 -0700 |
commit | 58c5fb38c75cf04309f74927b3c91c54a645b690 (patch) | |
tree | 92d737af9500b0d3faee4a792bcb5b80d74188ad /src/com/android/settings/ChooseLockPattern.java | |
parent | 7c4a0fed969a436780e460523c8a17fc4a15c3f9 (diff) | |
download | packages_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.java | 21 |
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); |