summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Bestas <mikeioannina@gmail.com>2015-04-04 07:27:29 +0300
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-02-03 14:40:44 -0800
commit698f7f24cb0f138604811dea1357b451e1d601ff (patch)
treede602922cdeabfbc99b9358334d547bd47580f52
parent22869c183610b9c9e17d7cb820f6e7d70daeb93e (diff)
downloadframeworks_base-698f7f24cb0f138604811dea1357b451e1d601ff.zip
frameworks_base-698f7f24cb0f138604811dea1357b451e1d601ff.tar.gz
frameworks_base-698f7f24cb0f138604811dea1357b451e1d601ff.tar.bz2
Fix pattern visibility settings (1/2)
Change-Id: Ic627953c5df854c442671a98b5da539b994da18b
-rw-r--r--core/java/com/android/internal/widget/LockPatternUtils.java16
-rw-r--r--core/java/com/android/internal/widget/LockPatternView.java35
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java6
3 files changed, 30 insertions, 27 deletions
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index ae22b50..be827a4 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -1097,20 +1097,20 @@ public class LockPatternUtils {
setLong(Settings.Secure.LOCK_PATTERN_SIZE, size, UserHandle.USER_CURRENT);
}
- public void setVisibleDotsEnabled(boolean enabled) {
- setBoolean(Settings.Secure.LOCK_DOTS_VISIBLE, enabled, UserHandle.USER_CURRENT);
+ public void setVisibleDotsEnabled(boolean enabled, int userId) {
+ setBoolean(Settings.Secure.LOCK_DOTS_VISIBLE, enabled, userId);
}
- public boolean isVisibleDotsEnabled() {
- return getBoolean(Settings.Secure.LOCK_DOTS_VISIBLE, true, UserHandle.USER_CURRENT);
+ public boolean isVisibleDotsEnabled(int userId) {
+ return getBoolean(Settings.Secure.LOCK_DOTS_VISIBLE, true, userId);
}
- public void setShowErrorPath(boolean enabled) {
- setBoolean(Settings.Secure.LOCK_SHOW_ERROR_PATH, enabled, UserHandle.USER_CURRENT);
+ public void setShowErrorPath(boolean enabled, int userId) {
+ setBoolean(Settings.Secure.LOCK_SHOW_ERROR_PATH, enabled, userId);
}
- public boolean isShowErrorPath() {
- return getBoolean(Settings.Secure.LOCK_SHOW_ERROR_PATH, true, UserHandle.USER_CURRENT);
+ public boolean isShowErrorPath(int userId) {
+ return getBoolean(Settings.Secure.LOCK_SHOW_ERROR_PATH, true, userId);
}
/**
diff --git a/core/java/com/android/internal/widget/LockPatternView.java b/core/java/com/android/internal/widget/LockPatternView.java
index a3cd8ad..baa228f 100644
--- a/core/java/com/android/internal/widget/LockPatternView.java
+++ b/core/java/com/android/internal/widget/LockPatternView.java
@@ -1149,20 +1149,21 @@ public class LockPatternView extends View {
currentPath.rewind();
// draw the circles
- for (int i = 0; i < mPatternSize; i++) {
- float centerY = getCenterYForRow(i);
- for (int j = 0; j < mPatternSize; j++) {
- CellState cellState = mCellStates[i][j];
- float centerX = getCenterXForColumn(j);
- float translationY = cellState.translationY;
- if (isHardwareAccelerated() && cellState.hwAnimating) {
- DisplayListCanvas displayListCanvas = (DisplayListCanvas) canvas;
- displayListCanvas.drawCircle(cellState.hwCenterX, cellState.hwCenterY,
- cellState.hwRadius, cellState.hwPaint);
- } else {
- drawCircle(canvas, (int) centerX, (int) centerY + translationY,
- cellState.radius, drawLookup[i][j], cellState.alpha);
-
+ if (mVisibleDots) {
+ for (int i = 0; i < mPatternSize; i++) {
+ float centerY = getCenterYForRow(i);
+ for (int j = 0; j < mPatternSize; j++) {
+ CellState cellState = mCellStates[i][j];
+ float centerX = getCenterXForColumn(j);
+ float translationY = cellState.translationY;
+ if (isHardwareAccelerated() && cellState.hwAnimating) {
+ DisplayListCanvas displayListCanvas = (DisplayListCanvas) canvas;
+ displayListCanvas.drawCircle(cellState.hwCenterX, cellState.hwCenterY,
+ cellState.hwRadius, cellState.hwPaint);
+ } else {
+ drawCircle(canvas, (int) centerX, (int) centerY + translationY,
+ cellState.radius, drawLookup[i][j], cellState.alpha);
+ }
}
}
}
@@ -1170,8 +1171,6 @@ public class LockPatternView extends View {
// TODO: the path should be created and cached every time we hit-detect a cell
// only the last segment of the path should be computed here
// draw the path of the pattern (unless we are in stealth mode)
- // draw the path of the pattern (unless the user is in progress, and
- // we are in stealth mode)
final boolean drawPath = ((!mInStealthMode && mPatternDisplayMode != DisplayMode.Wrong)
|| (mPatternDisplayMode == DisplayMode.Wrong && mShowErrorPath));
if (drawPath) {
@@ -1231,7 +1230,9 @@ public class LockPatternView extends View {
}
private int getCurrentColor(boolean partOfPattern) {
- if (!partOfPattern || mInStealthMode || mPatternInProgress) {
+ if (!partOfPattern || (mInStealthMode && mPatternDisplayMode != DisplayMode.Wrong)
+ || (mPatternDisplayMode == DisplayMode.Wrong && !mShowErrorPath)
+ || mPatternInProgress) {
// unselected circle
return mRegularColor;
} else if (mPatternDisplayMode == DisplayMode.Wrong) {
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java
index 9fc253b..e8dd871 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java
@@ -135,8 +135,10 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
mLockPatternView.setLockPatternUtils(mLockPatternUtils);
mLockPatternView.setLockPatternSize(mLockPatternUtils.getLockPatternSize());
- mLockPatternView.setVisibleDots(mLockPatternUtils.isVisibleDotsEnabled());
- mLockPatternView.setShowErrorPath(mLockPatternUtils.isShowErrorPath());
+ mLockPatternView.setVisibleDots(mLockPatternUtils.isVisibleDotsEnabled(
+ KeyguardUpdateMonitor.getCurrentUser()));
+ mLockPatternView.setShowErrorPath(mLockPatternUtils.isShowErrorPath(
+ KeyguardUpdateMonitor.getCurrentUser()));
// stealth mode will be the same for the life of this screen
mLockPatternView.setInStealthMode(!mLockPatternUtils.isVisiblePatternEnabled(