Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d5c75f6 authored by Adrian Roos's avatar Adrian Roos
Browse files

Prevent saving credentials multiple times

Bug: 17610563
Change-Id: Ibb51889fc8085f8fad5e36481af2419576cda34a
parent 3156e38f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ public class ChooseLockPassword extends SettingsActivity {
        private int mRequestedQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
        private ChooseLockSettingsHelper mChooseLockSettingsHelper;
        private Stage mUiStage = Stage.Introduction;
        private boolean mDone = false;
        private TextView mHeaderText;
        private String mFirstPin;
        private KeyboardView mKeyboardView;
@@ -229,6 +230,7 @@ public class ChooseLockPassword extends SettingsActivity {
                    updateStage(mUiStage);
                }
            }
            mDone = false;
            if (activity instanceof SettingsActivity) {
                final SettingsActivity sa = (SettingsActivity) activity;
                int id = mIsAlphaMode ? R.string.lockpassword_choose_your_password_header
@@ -389,6 +391,8 @@ public class ChooseLockPassword extends SettingsActivity {
        }

        private void handleNext() {
            if (mDone) return;

            final String pin = mPasswordEntry.getText().toString();
            if (TextUtils.isEmpty(pin)) {
                return;
@@ -409,6 +413,7 @@ public class ChooseLockPassword extends SettingsActivity {
                    mLockPatternUtils.saveLockPassword(pin, mRequestedQuality, isFallback);
                    getActivity().setResult(RESULT_FINISHED);
                    getActivity().finish();
                    mDone = true;
                    startActivity(RedactionInterstitial.createStartIntent(getActivity()));
                } else {
                    CharSequence tmp = mPasswordEntry.getText();
+4 −0
Original line number Diff line number Diff line
@@ -290,6 +290,7 @@ public class ChooseLockPattern extends SettingsActivity {
        }

        private Stage mUiStage = Stage.Introduction;
        private boolean mDone = false;

        private Runnable mClearPatternRunnable = new Runnable() {
            public void run() {
@@ -363,6 +364,7 @@ public class ChooseLockPattern extends SettingsActivity {
                }
                updateStage(Stage.values()[savedInstanceState.getInt(KEY_UI_STAGE)]);
            }
            mDone = false;
            return view;
        }

@@ -519,6 +521,7 @@ public class ChooseLockPattern extends SettingsActivity {
        }

        private void saveChosenPatternAndFinish() {
            if (mDone) return;
            LockPatternUtils utils = mChooseLockSettingsHelper.utils();
            final boolean lockVirgin = !utils.isPatternEverChosen();

@@ -533,6 +536,7 @@ public class ChooseLockPattern extends SettingsActivity {

            getActivity().setResult(RESULT_FINISHED);
            getActivity().finish();
            mDone = true;
            startActivity(RedactionInterstitial.createStartIntent(getActivity()));
        }
    }