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

Commit fc51c1f6 authored by Roman Birg's avatar Roman Birg
Browse files

Add static patternToString() with pattern size



Sometimes we need to generate a pattern string when lock pattern utils
cannot query the actual size of the pattern. Add a method which doesn't
depend on LockPatternUtils and accepts a pattern length parameter to
generate the string.

Change-Id: If73334b7030800bed2eec0cd0934b762b10dcaa3
Signed-off-by: default avatarRoman Birg <roman@cyngn.com>
parent 05d1b23d
Loading
Loading
Loading
Loading
+11 −1
Original line number Original line Diff line number Diff line
@@ -993,6 +993,16 @@ public class LockPatternUtils {
     * @return The pattern in string form.
     * @return The pattern in string form.
     */
     */
    public String patternToString(List<LockPatternView.Cell> pattern) {
    public String patternToString(List<LockPatternView.Cell> pattern) {
        return patternToString(pattern, getLockPatternSize());
    }

    /**
     * Serialize a pattern.
     * @param pattern The pattern.
     * @param patternGridSize the pattern size
     * @return The pattern in string form.
     */
    public static String patternToString(List<LockPatternView.Cell> pattern, int patternGridSize) {
        if (pattern == null) {
        if (pattern == null) {
            return "";
            return "";
        }
        }
@@ -1001,7 +1011,7 @@ public class LockPatternUtils {
        byte[] res = new byte[patternSize];
        byte[] res = new byte[patternSize];
        for (int i = 0; i < patternSize; i++) {
        for (int i = 0; i < patternSize; i++) {
            LockPatternView.Cell cell = pattern.get(i);
            LockPatternView.Cell cell = pattern.get(i);
            res[i] = (byte) (cell.getRow() * getLockPatternSize() + cell.getColumn());
            res[i] = (byte) (cell.getRow() * patternGridSize + cell.getColumn());
        }
        }
        return new String(res);
        return new String(res);
    }
    }
+1 −1
Original line number Original line Diff line number Diff line
@@ -1096,7 +1096,7 @@ public class LockPatternView extends View {
    protected Parcelable onSaveInstanceState() {
    protected Parcelable onSaveInstanceState() {
        Parcelable superState = super.onSaveInstanceState();
        Parcelable superState = super.onSaveInstanceState();
        return new SavedState(superState,
        return new SavedState(superState,
                mLockPatternUtils.patternToString(mPattern),
                LockPatternUtils.patternToString(mPattern, mPatternSize),
                mPatternDisplayMode.ordinal(), mPatternSize,
                mPatternDisplayMode.ordinal(), mPatternSize,
                mInputEnabled, mInStealthMode, mEnableHapticFeedback, mVisibleDots, mShowErrorPath);
                mInputEnabled, mInStealthMode, mEnableHapticFeedback, mVisibleDots, mShowErrorPath);
    }
    }