Keyguard icon colors matching light or dark theme

Bug: 37014702
Test: visual
Change-Id: If3ca3dc83e606d1199e0a9e9a12ffd344c9919b3
This commit is contained in:
Lucas Dupin
2017-05-13 16:08:06 -07:00
parent df99c779fa
commit 00a959406c
2 changed files with 17 additions and 9 deletions

View File

@@ -39,7 +39,7 @@
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textStyle="italic"
android:textColor="#ffffff"
android:textColor="?attr/bgProtectSecondaryTextColor"
android:textAppearance="?android:attr/textAppearanceSmall"
android:visibility="gone" />
@@ -49,7 +49,7 @@
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textStyle="italic"
android:textColor="#ffffff"
android:textColor="?attr/bgProtectSecondaryTextColor"
android:textAppearance="?android:attr/textAppearanceSmall"
android:accessibilityLiveRegion="polite" />
@@ -68,7 +68,8 @@
android:layout_gravity="bottom|end"
android:src="@drawable/ic_camera_alt_24dp"
android:scaleType="center"
android:contentDescription="@string/accessibility_camera_button" />
android:contentDescription="@string/accessibility_camera_button"
android:tint="?attr/bgProtectTextColor" />
<com.android.systemui.statusbar.KeyguardAffordanceView
android:id="@+id/left_button"
@@ -77,7 +78,8 @@
android:layout_gravity="bottom|start"
android:src="@drawable/ic_phone_24dp"
android:scaleType="center"
android:contentDescription="@string/accessibility_phone_button" />
android:contentDescription="@string/accessibility_phone_button"
android:tint="?attr/bgProtectTextColor" />
<com.android.systemui.statusbar.phone.LockIcon
android:id="@+id/lock_icon"
@@ -86,7 +88,8 @@
android:layout_gravity="bottom|center_horizontal"
android:src="@drawable/ic_lock_24dp"
android:contentDescription="@string/accessibility_unlock_button"
android:scaleType="center" />
android:scaleType="center"
android:tint="?attr/bgProtectTextColor" />
<include layout="@layout/keyguard_bottom_area_overlay" />

View File

@@ -23,6 +23,7 @@ import android.animation.PropertyValuesHolder;
import android.animation.ValueAnimator;
import android.annotation.Nullable;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.CanvasProperty;
import android.graphics.Color;
@@ -55,7 +56,7 @@ public class KeyguardAffordanceView extends ImageView {
private final int mMinBackgroundRadius;
private final Paint mCirclePaint;
private final int mInverseColor;
private final int mDarkIconColor;
private final int mNormalColor;
private final ArgbEvaluator mColorInterpolator;
private final FlingAnimationUtils mFlingAnimationUtils;
@@ -126,17 +127,21 @@ public class KeyguardAffordanceView extends ImageView {
public KeyguardAffordanceView(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
TypedArray a = context.obtainStyledAttributes(attrs, android.R.styleable.ImageView);
mCirclePaint = new Paint();
mCirclePaint.setAntiAlias(true);
mCircleColor = 0xffffffff;
mCirclePaint.setColor(mCircleColor);
mNormalColor = 0xffffffff;
mInverseColor = 0xff000000;
mNormalColor = a.getColor(android.R.styleable.ImageView_tint, 0xffffffff);
mDarkIconColor = 0xff000000;
mMinBackgroundRadius = mContext.getResources().getDimensionPixelSize(
R.dimen.keyguard_affordance_min_background_radius);
mColorInterpolator = new ArgbEvaluator();
mFlingAnimationUtils = new FlingAnimationUtils(mContext, 0.3f);
a.recycle();
}
public void setImageDrawable(@Nullable Drawable drawable, boolean tint) {
@@ -177,7 +182,7 @@ public class KeyguardAffordanceView extends ImageView {
Drawable drawable = getDrawable().mutate();
float alpha = mCircleRadius / mMinBackgroundRadius;
alpha = Math.min(1.0f, alpha);
int color = (int) mColorInterpolator.evaluate(alpha, mNormalColor, mInverseColor);
int color = (int) mColorInterpolator.evaluate(alpha, mNormalColor, mDarkIconColor);
drawable.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
}