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

Commit 3749853e authored by Raj Yengisetty's avatar Raj Yengisetty Committed by Gerrit Code Review
Browse files

Follow normal lock screen convention - allow user to retry when creating pattern lock

Change-Id: I6ad39b07b8de3de03146322b37b60e3f846093d1
parent 02fb6137
Loading
Loading
Loading
Loading
+22 −4
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese
    int mRetry = 0;

    boolean mCreate;
    boolean mRetryPattern = true;
    boolean mConfirming = false;

    Runnable mCancelPatternRunnable = new Runnable() {
@@ -75,6 +76,7 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese
                } else {
                    mPatternLockHeader.setText(getResources()
                            .getString(R.string.lockpattern_recording_intro_header));
                    mCancel.setText(getResources().getString(R.string.cancel));
                }
            } else {
                mPatternLockHeader.setText(getResources()
@@ -86,6 +88,12 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese
    View.OnClickListener mCancelOnClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mCreate && !mConfirming && !mRetryPattern) {
                // Retry
                mRetryPattern = true;
                resetPatternState(true);
                return;
            }
            setResult(RESULT_CANCELED);
            finish();
        }
@@ -106,6 +114,7 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese
                finish();
            } else {
                mConfirming = true;
                mCancel.setText(getResources().getString(R.string.cancel));
                mLockPatternView.clearPattern();

                mPatternLockHeader.setText(getResources().getString(
@@ -152,7 +161,7 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese

    private void switchToPattern(boolean reset) {
        if (reset) {
            resetPatternState();
            resetPatternState(false);
        }
        mPatternLockHeader.setText(getResources()
                .getString(R.string.lockpattern_settings_enable_summary));
@@ -184,7 +193,7 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese
        mAccountView.setOnNotifyAccountResetCb(this);
        mLockPatternView = (LockPatternView) findViewById(R.id.lock_pattern_view);

        resetPatternState();
        resetPatternState(false);

        //Setup Pattern Lock View
        mLockPatternView.setSaveEnabled(false);
@@ -193,10 +202,11 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese

    }

    private void resetPatternState() {
    private void resetPatternState(boolean clear) {
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
        String pattern = prefs.getString(PATTERN_LOCK_PROTECTED_APPS, null);
        mCreate = pattern == null || RECREATE_PATTERN.equals(getIntent().getAction());
        mCreate = pattern == null || RECREATE_PATTERN.equals(getIntent().getAction())
                || clear;

        mPatternHash = null;
        if (pattern != null) {
@@ -205,6 +215,7 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese

        mContinue.setEnabled(!mCreate);
        mCancel.setVisibility(mCreate ? View.VISIBLE : View.GONE);
        mCancel.setText(getResources().getString(R.string.cancel));
        mContinue.setVisibility(mCreate ? View.VISIBLE : View.GONE);
        mPatternLockHeader.setText(mCreate
                ? getResources().getString(R.string.lockpattern_recording_intro_header)
@@ -237,6 +248,9 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese

                    mLockPatternView.setDisplayMode(LockPatternView.DisplayMode.Wrong);
                    mLockPatternView.postDelayed(mCancelPatternRunnable, PATTERN_CLEAR_TIMEOUT_MS);
                    mCancel.setText(getResources()
                            .getString(R.string.lockpattern_retry_button_text));
                    mRetryPattern = false;
                    return;
                }

@@ -258,6 +272,10 @@ public class LockPatternActivity extends Activity implements OnNotifyAccountRese
                    }
                } else {
                    //Save pattern, user needs to redraw to confirm
                    mCancel.setText(getResources()
                            .getString(R.string.lockpattern_retry_button_text));
                    mRetryPattern = false;

                    mPatternHash = patternToHash(pattern);

                    mPatternLockHeader.setText(getResources().getString(