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

Commit 89eca59a authored by André Rivotti Casimiro's avatar André Rivotti Casimiro Committed by Roman Birg
Browse files

Fix set pattern screen after rotating the device 2/2

Using the temporary pattern size while setting a new pattern.

Change-Id: I19f3c8b71217e977e798bdbed0dfe8a4b3dab882
(cherry picked from commit 37c121d8)
parent 75f0ef66
Loading
Loading
Loading
Loading
+20 −13
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ public class ChooseLockPattern extends PreferenceActivity {
        private static final int WRONG_PATTERN_CLEAR_TIMEOUT_MS = 2000;

        private static final int ID_EMPTY_MESSAGE = -1;
        private static final String KEY_PATTERN_SIZE = "pattern_size";

        protected TextView mHeaderText;
        protected LockPatternView mLockPatternView;
@@ -313,16 +314,6 @@ public class ChooseLockPattern extends PreferenceActivity {
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {

            mPatternSize = getActivity().getIntent().getByteExtra("pattern_size",
                    LockPatternUtils.PATTERN_SIZE_DEFAULT);
            LockPatternView.Cell.updateSize(mPatternSize);
            mAnimatePattern = Collections.unmodifiableList(Lists.newArrayList(
                    LockPatternView.Cell.of(0, 0, mPatternSize),
                    LockPatternView.Cell.of(0, 1, mPatternSize),
                    LockPatternView.Cell.of(1, 1, mPatternSize),
                    LockPatternView.Cell.of(2, 1, mPatternSize)
                    ));

            // setupViews()
            View view = inflater.inflate(R.layout.choose_lock_pattern, null);
            mHeaderText = (TextView) view.findViewById(R.id.headerText);
@@ -330,9 +321,23 @@ public class ChooseLockPattern extends PreferenceActivity {
            mLockPatternView.setOnPatternListener(mChooseNewLockPatternListener);
            mLockPatternView.setTactileFeedbackEnabled(
                    mChooseLockSettingsHelper.utils().isTactileFeedbackEnabled());
            mLockPatternView.setLockPatternSize(mPatternSize);
            mLockPatternView.setLockPatternUtils(mChooseLockSettingsHelper.utils());

            if ( savedInstanceState == null ) {
                mPatternSize = getActivity().getIntent().getByteExtra(KEY_PATTERN_SIZE,
                        LockPatternUtils.PATTERN_SIZE_DEFAULT);
            } else {
                mPatternSize = savedInstanceState.getByte(KEY_PATTERN_SIZE);
            }
            mLockPatternView.setLockPatternSize(mPatternSize);
            LockPatternView.Cell.updateSize(mPatternSize);
            mAnimatePattern = Collections.unmodifiableList(Lists.newArrayList(
                    LockPatternView.Cell.of(0, 0, mPatternSize),
                    LockPatternView.Cell.of(0, 1, mPatternSize),
                    LockPatternView.Cell.of(1, 1, mPatternSize),
                    LockPatternView.Cell.of(2, 1, mPatternSize)
                    ));

            mFooterText = (TextView) view.findViewById(R.id.footerText);

            mFooterLeftButton = (TextView) view.findViewById(R.id.footerLeftButton);
@@ -370,7 +375,7 @@ public class ChooseLockPattern extends PreferenceActivity {
                final String patternString = savedInstanceState.getString(KEY_PATTERN_CHOICE);
                if (patternString != null) {
                    LockPatternUtils utils = mChooseLockSettingsHelper.utils();
                    mChosenPattern = utils.stringToPattern(patternString);
                    mChosenPattern = utils.stringToPattern(patternString, mPatternSize);
                }
                updateStage(Stage.values()[savedInstanceState.getInt(KEY_UI_STAGE)]);
            }
@@ -435,10 +440,12 @@ public class ChooseLockPattern extends PreferenceActivity {
            super.onSaveInstanceState(outState);

            outState.putInt(KEY_UI_STAGE, mUiStage.ordinal());
            outState.putByte(KEY_PATTERN_SIZE, mPatternSize);
            if (mChosenPattern != null) {
                LockPatternUtils utils = mChooseLockSettingsHelper.utils();
                outState.putString(KEY_PATTERN_CHOICE,
                        utils.patternToString(mChosenPattern));
                        utils.patternToString(
                                mChosenPattern, ((byte)mLockPatternView.getLockPatternSize())));
            }
        }