summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Birg <roman@cyngn.com>2015-04-06 12:50:22 -0700
committereyosen <abittin@gmail.com>2015-04-07 11:28:18 +0300
commit748afc9ed4f7a5344886a8164a8cd28e53f87092 (patch)
tree4220720109023dd4d875bc072f611d63b876d298
parentb6025c681e069ed998a03fedaa56196f54c0d52b (diff)
Add static patternToString() with pattern sizelp5.0
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: Roman Birg <roman@cyngn.com>
-rw-r--r--core/java/com/android/internal/widget/LockPatternUtils.java12
-rw-r--r--core/java/com/android/internal/widget/LockPatternView.java2
2 files changed, 12 insertions, 2 deletions
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index 97b9509cff3b..f1d505eedd21 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -1084,6 +1084,16 @@ public class LockPatternUtils {
* @return The pattern in string form.
*/
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) {
return "";
}
@@ -1092,7 +1102,7 @@ public class LockPatternUtils {
byte[] res = new byte[patternSize];
for (int i = 0; i < patternSize; 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);
}
diff --git a/core/java/com/android/internal/widget/LockPatternView.java b/core/java/com/android/internal/widget/LockPatternView.java
index 816ad1d4ee52..ebaced689d6a 100644
--- a/core/java/com/android/internal/widget/LockPatternView.java
+++ b/core/java/com/android/internal/widget/LockPatternView.java
@@ -1096,7 +1096,7 @@ public class LockPatternView extends View {
protected Parcelable onSaveInstanceState() {
Parcelable superState = super.onSaveInstanceState();
return new SavedState(superState,
- mLockPatternUtils.patternToString(mPattern),
+ LockPatternUtils.patternToString(mPattern, mPatternSize),
mPatternDisplayMode.ordinal(), mPatternSize,
mInputEnabled, mInStealthMode, mEnableHapticFeedback, mVisibleDots, mShowErrorPath);
}