Prevent saving credentials multiple times

Bug: 17610563
Change-Id: Ibb51889fc8085f8fad5e36481af2419576cda34a
This commit is contained in:
Adrian Roos
2014-09-24 15:28:12 +02:00
parent 3156e38f5e
commit 6d5c75f6cd
2 changed files with 9 additions and 0 deletions

View File

@@ -96,6 +96,7 @@ public class ChooseLockPassword extends SettingsActivity {
private int mRequestedQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC; private int mRequestedQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
private ChooseLockSettingsHelper mChooseLockSettingsHelper; private ChooseLockSettingsHelper mChooseLockSettingsHelper;
private Stage mUiStage = Stage.Introduction; private Stage mUiStage = Stage.Introduction;
private boolean mDone = false;
private TextView mHeaderText; private TextView mHeaderText;
private String mFirstPin; private String mFirstPin;
private KeyboardView mKeyboardView; private KeyboardView mKeyboardView;
@@ -229,6 +230,7 @@ public class ChooseLockPassword extends SettingsActivity {
updateStage(mUiStage); updateStage(mUiStage);
} }
} }
mDone = false;
if (activity instanceof SettingsActivity) { if (activity instanceof SettingsActivity) {
final SettingsActivity sa = (SettingsActivity) activity; final SettingsActivity sa = (SettingsActivity) activity;
int id = mIsAlphaMode ? R.string.lockpassword_choose_your_password_header int id = mIsAlphaMode ? R.string.lockpassword_choose_your_password_header
@@ -389,6 +391,8 @@ public class ChooseLockPassword extends SettingsActivity {
} }
private void handleNext() { private void handleNext() {
if (mDone) return;
final String pin = mPasswordEntry.getText().toString(); final String pin = mPasswordEntry.getText().toString();
if (TextUtils.isEmpty(pin)) { if (TextUtils.isEmpty(pin)) {
return; return;
@@ -409,6 +413,7 @@ public class ChooseLockPassword extends SettingsActivity {
mLockPatternUtils.saveLockPassword(pin, mRequestedQuality, isFallback); mLockPatternUtils.saveLockPassword(pin, mRequestedQuality, isFallback);
getActivity().setResult(RESULT_FINISHED); getActivity().setResult(RESULT_FINISHED);
getActivity().finish(); getActivity().finish();
mDone = true;
startActivity(RedactionInterstitial.createStartIntent(getActivity())); startActivity(RedactionInterstitial.createStartIntent(getActivity()));
} else { } else {
CharSequence tmp = mPasswordEntry.getText(); CharSequence tmp = mPasswordEntry.getText();

View File

@@ -290,6 +290,7 @@ public class ChooseLockPattern extends SettingsActivity {
} }
private Stage mUiStage = Stage.Introduction; private Stage mUiStage = Stage.Introduction;
private boolean mDone = false;
private Runnable mClearPatternRunnable = new Runnable() { private Runnable mClearPatternRunnable = new Runnable() {
public void run() { public void run() {
@@ -363,6 +364,7 @@ public class ChooseLockPattern extends SettingsActivity {
} }
updateStage(Stage.values()[savedInstanceState.getInt(KEY_UI_STAGE)]); updateStage(Stage.values()[savedInstanceState.getInt(KEY_UI_STAGE)]);
} }
mDone = false;
return view; return view;
} }
@@ -519,6 +521,7 @@ public class ChooseLockPattern extends SettingsActivity {
} }
private void saveChosenPatternAndFinish() { private void saveChosenPatternAndFinish() {
if (mDone) return;
LockPatternUtils utils = mChooseLockSettingsHelper.utils(); LockPatternUtils utils = mChooseLockSettingsHelper.utils();
final boolean lockVirgin = !utils.isPatternEverChosen(); final boolean lockVirgin = !utils.isPatternEverChosen();
@@ -533,6 +536,7 @@ public class ChooseLockPattern extends SettingsActivity {
getActivity().setResult(RESULT_FINISHED); getActivity().setResult(RESULT_FINISHED);
getActivity().finish(); getActivity().finish();
mDone = true;
startActivity(RedactionInterstitial.createStartIntent(getActivity())); startActivity(RedactionInterstitial.createStartIntent(getActivity()));
} }
} }