diff --git a/core/java/com/android/internal/widget/LockPatternView.java b/core/java/com/android/internal/widget/LockPatternView.java
index d841d53238417..7fe03f5b165f2 100644
--- a/core/java/com/android/internal/widget/LockPatternView.java
+++ b/core/java/com/android/internal/widget/LockPatternView.java
@@ -22,17 +22,18 @@ import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
-import android.graphics.Color;
+import android.graphics.ColorFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Path;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffColorFilter;
import android.graphics.Rect;
import android.os.Debug;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
import android.util.AttributeSet;
-import android.util.TypedValue;
import android.view.HapticFeedbackConstants;
import android.view.MotionEvent;
import android.view.View;
@@ -110,14 +111,11 @@ public class LockPatternView extends View {
private float mSquareWidth;
private float mSquareHeight;
- private Bitmap mBitmapBtnDefault;
- private Bitmap mBitmapBtnTouched;
- private Bitmap mBitmapCircleDefault;
- private Bitmap mBitmapCircleGreen;
- private Bitmap mBitmapCircleRed;
-
- private Bitmap mBitmapArrowGreenUp;
- private Bitmap mBitmapArrowRedUp;
+ private final Bitmap mBitmapBtnDefault;
+ private final Bitmap mBitmapBtnTouched;
+ private final Bitmap mBitmapCircleDefault;
+ private final Bitmap mBitmapCircleAlpha;
+ private final Bitmap mBitmapArrowAlphaUp;
private final Path mCurrentPath = new Path();
private final Rect mInvalidate = new Rect();
@@ -129,6 +127,10 @@ public class LockPatternView extends View {
private int mAspect;
private final Matrix mArrowMatrix = new Matrix();
private final Matrix mCircleMatrix = new Matrix();
+ private final PorterDuffColorFilter mRegularColorFilter;
+ private final PorterDuffColorFilter mErrorColorFilter;
+ private final PorterDuffColorFilter mSuccessColorFilter;
+
/**
* Represents a cell in the 3 X 3 matrix of the unlock pattern view.
@@ -266,17 +268,22 @@ public class LockPatternView extends View {
setClickable(true);
+
mPathPaint.setAntiAlias(true);
mPathPaint.setDither(true);
- int defaultColor = Color.WHITE;
- TypedValue outValue = new TypedValue();
- if (context.getTheme().resolveAttribute(android.R.attr.textColorPrimary, outValue, true)) {
- defaultColor = context.getResources().getColor(outValue.resourceId);
- }
+ int regularColor = getResources().getColor(R.color.lock_pattern_view_regular_color);
+ int errorColor = getResources().getColor(R.color.lock_pattern_view_error_color);
+ int successColor = getResources().getColor(R.color.lock_pattern_view_success_color);
+ regularColor = a.getColor(R.styleable.LockPatternView_regularColor, regularColor);
+ errorColor = a.getColor(R.styleable.LockPatternView_errorColor, errorColor);
+ successColor = a.getColor(R.styleable.LockPatternView_successColor, successColor);
+ mRegularColorFilter = new PorterDuffColorFilter(regularColor, PorterDuff.Mode.SRC_ATOP);
+ mErrorColorFilter = new PorterDuffColorFilter(errorColor, PorterDuff.Mode.SRC_ATOP);
+ mSuccessColorFilter = new PorterDuffColorFilter(successColor, PorterDuff.Mode.SRC_ATOP);
- final int color = a.getColor(R.styleable.LockPatternView_pathColor, defaultColor);
- mPathPaint.setColor(color);
+ int pathColor = a.getColor(R.styleable.LockPatternView_pathColor, regularColor);
+ mPathPaint.setColor(pathColor);
mPathPaint.setAlpha(mStrokeAlpha);
mPathPaint.setStyle(Paint.Style.STROKE);
@@ -284,25 +291,26 @@ public class LockPatternView extends View {
mPathPaint.setStrokeCap(Paint.Cap.ROUND);
// lot's of bitmaps!
- // TODO: those bitmaps are hardcoded to the Holo Theme which should not be the case!
- mBitmapBtnDefault = getBitmapFor(R.drawable.btn_code_lock_default_holo);
- mBitmapBtnTouched = getBitmapFor(R.drawable.btn_code_lock_touched_holo);
- mBitmapCircleDefault = getBitmapFor(R.drawable.indicator_code_lock_point_area_default_holo);
- mBitmapCircleGreen = getBitmapFor(R.drawable.indicator_code_lock_point_area_green_holo);
- mBitmapCircleRed = getBitmapFor(R.drawable.indicator_code_lock_point_area_red_holo);
-
- mBitmapArrowGreenUp = getBitmapFor(R.drawable.indicator_code_lock_drag_direction_green_up);
- mBitmapArrowRedUp = getBitmapFor(R.drawable.indicator_code_lock_drag_direction_red_up);
+ // TODO: those bitmaps are hardcoded to the Quantum Theme which should not be the case!
+ mBitmapBtnDefault = getBitmapFor(R.drawable.btn_code_lock_default_qntm_alpha);
+ mBitmapBtnTouched = getBitmapFor(R.drawable.btn_code_lock_touched_qntm_alpha);
+ mBitmapCircleDefault = getBitmapFor(
+ R.drawable.indicator_code_lock_point_area_default_qntm_alpha);
+ mBitmapCircleAlpha = getBitmapFor(R.drawable.indicator_code_lock_point_area_qntm_alpha);
+ mBitmapArrowAlphaUp = getBitmapFor(
+ R.drawable.indicator_code_lock_drag_direction_up_qntm_alpha);
// bitmaps have the size of the largest bitmap in this group
final Bitmap bitmaps[] = { mBitmapBtnDefault, mBitmapBtnTouched, mBitmapCircleDefault,
- mBitmapCircleGreen, mBitmapCircleRed };
+ mBitmapCircleAlpha};
for (Bitmap bitmap : bitmaps) {
mBitmapWidth = Math.max(mBitmapWidth, bitmap.getWidth());
mBitmapHeight = Math.max(mBitmapHeight, bitmap.getHeight());
}
+ mPaint.setAntiAlias(true);
+ mPaint.setDither(true);
mPaint.setFilterBitmap(true);
mCellStates = new CellState[3][3];
@@ -963,7 +971,12 @@ public class LockPatternView extends View {
}
private void drawArrow(Canvas canvas, float leftX, float topY, Cell start, Cell end) {
- boolean green = mPatternDisplayMode != DisplayMode.Wrong;
+ if (mPatternInProgress) {
+ mPaint.setColorFilter(mRegularColorFilter);
+ } else {
+ boolean success = mPatternDisplayMode != DisplayMode.Wrong;
+ mPaint.setColorFilter(success ? mSuccessColorFilter : mErrorColorFilter);
+ }
final int endRow = end.row;
final int startRow = start.row;
@@ -977,7 +990,6 @@ public class LockPatternView extends View {
// compute transform to place arrow bitmaps at correct angle inside circle.
// This assumes that the arrow image is drawn at 12:00 with it's top edge
// coincident with the circle bitmap's top edge.
- Bitmap arrow = green ? mBitmapArrowGreenUp : mBitmapArrowRedUp;
final int cellWidth = mBitmapWidth;
final int cellHeight = mBitmapHeight;
@@ -994,8 +1006,8 @@ public class LockPatternView extends View {
mArrowMatrix.preScale(sx, sy);
mArrowMatrix.preTranslate(-mBitmapWidth/2, -mBitmapHeight/2);
mArrowMatrix.preRotate(angle, cellWidth / 2.0f, cellHeight / 2.0f); // rotate about cell center
- mArrowMatrix.preTranslate((cellWidth - arrow.getWidth()) / 2.0f, 0.0f); // translate to 12:00 pos
- canvas.drawBitmap(arrow, mArrowMatrix, mPaint);
+ mArrowMatrix.preTranslate((cellWidth - mBitmapArrowAlphaUp.getWidth()) / 2.0f, 0.0f); // translate to 12:00 pos
+ canvas.drawBitmap(mBitmapArrowAlphaUp, mArrowMatrix, mPaint);
}
/**
@@ -1008,24 +1020,28 @@ public class LockPatternView extends View {
boolean partOfPattern) {
Bitmap outerCircle;
Bitmap innerCircle;
-
+ ColorFilter outerFilter;
if (!partOfPattern || mInStealthMode) {
// unselected circle
outerCircle = mBitmapCircleDefault;
innerCircle = mBitmapBtnDefault;
+ outerFilter = mRegularColorFilter;
} else if (mPatternInProgress) {
// user is in middle of drawing a pattern
- outerCircle = mBitmapCircleGreen;
+ outerCircle = mBitmapCircleAlpha;
innerCircle = mBitmapBtnTouched;
+ outerFilter = mRegularColorFilter;
} else if (mPatternDisplayMode == DisplayMode.Wrong) {
// the pattern is wrong
- outerCircle = mBitmapCircleRed;
+ outerCircle = mBitmapCircleAlpha;
innerCircle = mBitmapBtnDefault;
+ outerFilter = mErrorColorFilter;
} else if (mPatternDisplayMode == DisplayMode.Correct ||
mPatternDisplayMode == DisplayMode.Animate) {
// the pattern is correct
- outerCircle = mBitmapCircleGreen;
+ outerCircle = mBitmapCircleAlpha;
innerCircle = mBitmapBtnDefault;
+ outerFilter = mSuccessColorFilter;
} else {
throw new IllegalStateException("unknown display mode " + mPatternDisplayMode);
}
@@ -1048,7 +1064,9 @@ public class LockPatternView extends View {
mCircleMatrix.preScale(sx * scale, sy * scale);
mCircleMatrix.preTranslate(-mBitmapWidth/2, -mBitmapHeight/2);
+ mPaint.setColorFilter(outerFilter);
canvas.drawBitmap(outerCircle, mCircleMatrix, mPaint);
+ mPaint.setColorFilter(mRegularColorFilter);
canvas.drawBitmap(innerCircle, mCircleMatrix, mPaint);
}
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_default.png b/core/res/res/drawable-hdpi/btn_code_lock_default.png
deleted file mode 100644
index 4469ce07cbf37..0000000000000
Binary files a/core/res/res/drawable-hdpi/btn_code_lock_default.png and /dev/null differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png b/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png
deleted file mode 100644
index 449d4272acd64..0000000000000
Binary files a/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_default_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_code_lock_default_qntm_alpha.png
new file mode 100644
index 0000000000000..7cc3c1121dc99
Binary files /dev/null and b/core/res/res/drawable-hdpi/btn_code_lock_default_qntm_alpha.png differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_touched.png b/core/res/res/drawable-hdpi/btn_code_lock_touched.png
deleted file mode 100644
index 0410dd3c82423..0000000000000
Binary files a/core/res/res/drawable-hdpi/btn_code_lock_touched.png and /dev/null differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_touched_holo.png b/core/res/res/drawable-hdpi/btn_code_lock_touched_holo.png
deleted file mode 100644
index 66cb1eca1c05b..0000000000000
Binary files a/core/res/res/drawable-hdpi/btn_code_lock_touched_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_touched_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_code_lock_touched_qntm_alpha.png
new file mode 100644
index 0000000000000..70397d21dfb97
Binary files /dev/null and b/core/res/res/drawable-hdpi/btn_code_lock_touched_qntm_alpha.png differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_red_up.png b/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_red_up.png
deleted file mode 100644
index 698c3ecfbbab6..0000000000000
Binary files a/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_red_up.png and /dev/null differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png b/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png
new file mode 100644
index 0000000000000..b9b400fb3a019
Binary files /dev/null and b/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default.png
deleted file mode 100644
index c45b956cfd321..0000000000000
Binary files a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default.png and /dev/null differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_holo.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_qntm_alpha.png
similarity index 80%
rename from core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_holo.png
rename to core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_qntm_alpha.png
index 7fe402a593702..b1601f4e4fae4 100644
Binary files a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_holo.png and b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_qntm_alpha.png differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green.png
deleted file mode 100644
index b9fd0a453b06e..0000000000000
Binary files a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green.png and /dev/null differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green_holo.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_qntm_alpha.png
similarity index 95%
rename from core/res/res/drawable-hdpi/indicator_code_lock_point_area_green_holo.png
rename to core/res/res/drawable-hdpi/indicator_code_lock_point_area_qntm_alpha.png
index 4052eed858a81..a038a13bd445d 100644
Binary files a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green_holo.png and b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_qntm_alpha.png differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red.png
deleted file mode 100644
index 94e947da3544a..0000000000000
Binary files a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red.png and /dev/null differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red_holo.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red_holo.png
deleted file mode 100644
index 738d0fe630259..0000000000000
Binary files a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-ldpi/btn_code_lock_default.png b/core/res/res/drawable-ldpi/btn_code_lock_default.png
deleted file mode 100644
index 149da9bff1196..0000000000000
Binary files a/core/res/res/drawable-ldpi/btn_code_lock_default.png and /dev/null differ
diff --git a/core/res/res/drawable-ldpi/btn_code_lock_touched.png b/core/res/res/drawable-ldpi/btn_code_lock_touched.png
deleted file mode 100644
index ad9a313b0314b..0000000000000
Binary files a/core/res/res/drawable-ldpi/btn_code_lock_touched.png and /dev/null differ
diff --git a/core/res/res/drawable-ldpi/indicator_code_lock_drag_direction_red_up.png b/core/res/res/drawable-ldpi/indicator_code_lock_drag_direction_red_up.png
deleted file mode 100644
index ac8e42aeba841..0000000000000
Binary files a/core/res/res/drawable-ldpi/indicator_code_lock_drag_direction_red_up.png and /dev/null differ
diff --git a/core/res/res/drawable-ldpi/indicator_code_lock_point_area_default.png b/core/res/res/drawable-ldpi/indicator_code_lock_point_area_default.png
deleted file mode 100644
index 5b77b9ffb346d..0000000000000
Binary files a/core/res/res/drawable-ldpi/indicator_code_lock_point_area_default.png and /dev/null differ
diff --git a/core/res/res/drawable-ldpi/indicator_code_lock_point_area_green.png b/core/res/res/drawable-ldpi/indicator_code_lock_point_area_green.png
deleted file mode 100644
index c7c0b9a4d28b3..0000000000000
Binary files a/core/res/res/drawable-ldpi/indicator_code_lock_point_area_green.png and /dev/null differ
diff --git a/core/res/res/drawable-ldpi/indicator_code_lock_point_area_red.png b/core/res/res/drawable-ldpi/indicator_code_lock_point_area_red.png
deleted file mode 100644
index ac02dc4b087b7..0000000000000
Binary files a/core/res/res/drawable-ldpi/indicator_code_lock_point_area_red.png and /dev/null differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_default.png b/core/res/res/drawable-mdpi/btn_code_lock_default.png
deleted file mode 100644
index 206f9b3bc3b70..0000000000000
Binary files a/core/res/res/drawable-mdpi/btn_code_lock_default.png and /dev/null differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_default_holo.png b/core/res/res/drawable-mdpi/btn_code_lock_default_holo.png
deleted file mode 100644
index 4c4adf2cfe344..0000000000000
Binary files a/core/res/res/drawable-mdpi/btn_code_lock_default_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_default_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_code_lock_default_qntm_alpha.png
new file mode 100644
index 0000000000000..14d0b32b6e3dd
Binary files /dev/null and b/core/res/res/drawable-mdpi/btn_code_lock_default_qntm_alpha.png differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_touched.png b/core/res/res/drawable-mdpi/btn_code_lock_touched.png
deleted file mode 100644
index fe5c1af6a08bb..0000000000000
Binary files a/core/res/res/drawable-mdpi/btn_code_lock_touched.png and /dev/null differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_touched_holo.png b/core/res/res/drawable-mdpi/btn_code_lock_touched_holo.png
deleted file mode 100644
index ef701ed67d1cc..0000000000000
Binary files a/core/res/res/drawable-mdpi/btn_code_lock_touched_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_touched_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_code_lock_touched_qntm_alpha.png
new file mode 100644
index 0000000000000..9cfbdf9470db6
Binary files /dev/null and b/core/res/res/drawable-mdpi/btn_code_lock_touched_qntm_alpha.png differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_drag_direction_red_up.png b/core/res/res/drawable-mdpi/indicator_code_lock_drag_direction_red_up.png
deleted file mode 100644
index 7201e58a81c03..0000000000000
Binary files a/core/res/res/drawable-mdpi/indicator_code_lock_drag_direction_red_up.png and /dev/null differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png b/core/res/res/drawable-mdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png
new file mode 100644
index 0000000000000..2fb1325216faa
Binary files /dev/null and b/core/res/res/drawable-mdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png
deleted file mode 100644
index 05c194bf63e24..0000000000000
Binary files a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png and /dev/null differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_holo.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_qntm_alpha.png
similarity index 77%
rename from core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_holo.png
rename to core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_qntm_alpha.png
index 5762e5f4b38af..07d4afd694f77 100644
Binary files a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_holo.png and b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_qntm_alpha.png differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png
deleted file mode 100644
index 8f24832f1149d..0000000000000
Binary files a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png and /dev/null differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green_holo.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_qntm_alpha.png
similarity index 92%
rename from core/res/res/drawable-mdpi/indicator_code_lock_point_area_green_holo.png
rename to core/res/res/drawable-mdpi/indicator_code_lock_point_area_qntm_alpha.png
index bfb0967c73f50..ea8c2b4ed8a52 100644
Binary files a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green_holo.png and b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_qntm_alpha.png differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_red_holo.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_red_holo.png
deleted file mode 100644
index 8c0386fd36cfb..0000000000000
Binary files a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_red_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_green_up.png
deleted file mode 100644
index cc46f19b19b2d..0000000000000
Binary files a/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_green_up.png and /dev/null differ
diff --git a/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_red_up.png b/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_red_up.png
deleted file mode 100644
index cc46f19b19b2d..0000000000000
Binary files a/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_red_up.png and /dev/null differ
diff --git a/core/res/res/drawable-sw600dp-mdpi/indicator_code_lock_drag_direction_red_up.png b/core/res/res/drawable-sw600dp-mdpi/indicator_code_lock_drag_direction_red_up.png
deleted file mode 100644
index 2ab45477a1b85..0000000000000
Binary files a/core/res/res/drawable-sw600dp-mdpi/indicator_code_lock_drag_direction_red_up.png and /dev/null differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_default.png b/core/res/res/drawable-xhdpi/btn_code_lock_default.png
deleted file mode 100644
index c1358a21ad745..0000000000000
Binary files a/core/res/res/drawable-xhdpi/btn_code_lock_default.png and /dev/null differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_default_holo.png b/core/res/res/drawable-xhdpi/btn_code_lock_default_holo.png
deleted file mode 100644
index db1cbe6ca16c9..0000000000000
Binary files a/core/res/res/drawable-xhdpi/btn_code_lock_default_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_default_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_code_lock_default_qntm_alpha.png
new file mode 100644
index 0000000000000..0c457b4459f93
Binary files /dev/null and b/core/res/res/drawable-xhdpi/btn_code_lock_default_qntm_alpha.png differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_touched.png b/core/res/res/drawable-xhdpi/btn_code_lock_touched.png
deleted file mode 100644
index 0fafc3ef0436f..0000000000000
Binary files a/core/res/res/drawable-xhdpi/btn_code_lock_touched.png and /dev/null differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_touched_holo.png b/core/res/res/drawable-xhdpi/btn_code_lock_touched_holo.png
deleted file mode 100644
index 073c3ac912967..0000000000000
Binary files a/core/res/res/drawable-xhdpi/btn_code_lock_touched_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_touched_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_code_lock_touched_qntm_alpha.png
new file mode 100644
index 0000000000000..020d699fa6e83
Binary files /dev/null and b/core/res/res/drawable-xhdpi/btn_code_lock_touched_qntm_alpha.png differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_red_up.png b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_red_up.png
deleted file mode 100644
index 2d34cf67843bc..0000000000000
Binary files a/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_red_up.png and /dev/null differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png
new file mode 100644
index 0000000000000..fda5e37f67434
Binary files /dev/null and b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png
deleted file mode 100644
index 0812cb58107fb..0000000000000
Binary files a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png and /dev/null differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_holo.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_qntm_alpha.png
similarity index 83%
rename from core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_holo.png
rename to core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_qntm_alpha.png
index 6a9744570c92a..75d0221d6cfeb 100644
Binary files a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_holo.png and b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_qntm_alpha.png differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png
deleted file mode 100644
index 3ab2e99785c37..0000000000000
Binary files a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png and /dev/null differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green_holo.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_qntm_alpha.png
similarity index 96%
rename from core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green_holo.png
rename to core/res/res/drawable-xhdpi/indicator_code_lock_point_area_qntm_alpha.png
index f0e9ab965da89..225799b440001 100644
Binary files a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green_holo.png and b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_qntm_alpha.png differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_red_holo.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_red_holo.png
deleted file mode 100644
index 170b8333069e3..0000000000000
Binary files a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_red_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-xxhdpi/btn_code_lock_default_holo.png b/core/res/res/drawable-xxhdpi/btn_code_lock_default_qntm_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/btn_code_lock_default_holo.png
rename to core/res/res/drawable-xxhdpi/btn_code_lock_default_qntm_alpha.png
diff --git a/core/res/res/drawable-xxhdpi/btn_code_lock_touched_holo.png b/core/res/res/drawable-xxhdpi/btn_code_lock_touched_qntm_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/btn_code_lock_touched_holo.png
rename to core/res/res/drawable-xxhdpi/btn_code_lock_touched_qntm_alpha.png
diff --git a/core/res/res/drawable-xxhdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png b/core/res/res/drawable-xxhdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png
new file mode 100644
index 0000000000000..d3e80be41aa50
Binary files /dev/null and b/core/res/res/drawable-xxhdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png differ
diff --git a/core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_default_holo.png b/core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_default_qntm_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_default_holo.png
rename to core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_default_qntm_alpha.png
diff --git a/core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_green_holo.png b/core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_qntm_alpha.png
similarity index 100%
rename from core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_green_holo.png
rename to core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_qntm_alpha.png
diff --git a/core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_red_holo.png b/core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_red_holo.png
deleted file mode 100644
index f6c3e2716891f..0000000000000
Binary files a/core/res/res/drawable-xxhdpi/indicator_code_lock_point_area_red_holo.png and /dev/null differ
diff --git a/core/res/res/drawable-xxxhdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png b/core/res/res/drawable-xxxhdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png
new file mode 100644
index 0000000000000..23214fa188d7e
Binary files /dev/null and b/core/res/res/drawable-xxxhdpi/indicator_code_lock_drag_direction_up_qntm_alpha.png differ
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 3b6c1bd479d13..b47a8903bc32d 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -6369,6 +6369,12 @@
+
+
+
+
+
+
+ #ffffffff
+ #ff179d5b
+ #fff4511e
+
#CC000000
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 41238a3ed23c8..6a032e2a12b6a 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1017,8 +1017,14 @@
-
-
+
+
+
+
+
+
+
+
@@ -1062,11 +1068,6 @@
-
-
-
-
-