From 00a959406c6ca562f04d8c7662adec4f86190741 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Sat, 13 May 2017 16:08:06 -0700 Subject: [PATCH] Keyguard icon colors matching light or dark theme Bug: 37014702 Test: visual Change-Id: If3ca3dc83e606d1199e0a9e9a12ffd344c9919b3 --- .../SystemUI/res/layout/keyguard_bottom_area.xml | 13 ++++++++----- .../systemui/statusbar/KeyguardAffordanceView.java | 13 +++++++++---- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/packages/SystemUI/res/layout/keyguard_bottom_area.xml b/packages/SystemUI/res/layout/keyguard_bottom_area.xml index 143a462e7c794..ef9cf4af5844d 100644 --- a/packages/SystemUI/res/layout/keyguard_bottom_area.xml +++ b/packages/SystemUI/res/layout/keyguard_bottom_area.xml @@ -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" /> + android:contentDescription="@string/accessibility_phone_button" + android:tint="?attr/bgProtectTextColor" /> + android:scaleType="center" + android:tint="?attr/bgProtectTextColor" /> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java index b15f0900a72b5..e12b574449934 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java @@ -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); }