diff options
| author | 2018-10-10 22:56:37 +0000 | |
|---|---|---|
| committer | 2018-10-10 22:56:37 +0000 | |
| commit | 19f946e80710bca06d2f86ba82c2744b49fdb65b (patch) | |
| tree | 6f7ce07665c23e0d125c1a9f7d83e9d71da999ae | |
| parent | d94fa79d8528ab0fdf83520bd13bd639540d1942 (diff) | |
| parent | c90a6bf698eef75d03f8bf839d0965b9fc0f36de (diff) | |
Merge "Tint lock icon when entering ambient mode"
3 files changed, 19 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java index 9d773edec551..18151d0e794a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java @@ -54,10 +54,10 @@ public class KeyguardAffordanceView extends ImageView { public static final float MAX_ICON_SCALE_AMOUNT = 1.5f; public static final float MIN_ICON_SCALE_AMOUNT = 0.8f; + protected final int mDarkIconColor; + protected final int mNormalColor; private final int mMinBackgroundRadius; private final Paint mCirclePaint; - private final int mDarkIconColor; - private final int mNormalColor; private final ArgbEvaluator mColorInterpolator; private final FlingAnimationUtils mFlingAnimationUtils; private float mCircleRadius; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java index 538a260b4b8e..ae1353dd220c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java @@ -561,6 +561,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL } mDarkAmount = darkAmount; mIndicationArea.setAlpha(1f - darkAmount); + mLockIcon.setDarkAmount(darkAmount); } private static boolean isSuccessfulLaunch(int result) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java index 2edc294084cd..d5067b5c7e8c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java @@ -18,13 +18,14 @@ package com.android.systemui.statusbar.phone; import android.content.Context; import android.content.res.Configuration; +import android.graphics.Color; +import android.graphics.PorterDuff; import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.Drawable; -import android.graphics.drawable.InsetDrawable; import android.util.AttributeSet; -import android.view.View; import android.view.accessibility.AccessibilityNodeInfo; +import com.android.internal.graphics.ColorUtils; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.R; import com.android.systemui.statusbar.KeyguardAffordanceView; @@ -58,6 +59,7 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange private int mDensity; private final Runnable mDrawOffTimeout = () -> update(true /* forceUpdate */); + private float mDarkAmount; public LockIcon(Context context, AttributeSet attrs) { super(context, attrs); @@ -130,6 +132,7 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange ? (AnimatedVectorDrawable) icon : null; setImageDrawable(icon, false); + updateDarkTint(); if (mHasFaceUnlockIcon) { announceForAccessibility(getContext().getString( R.string.accessibility_scanning_face)); @@ -259,4 +262,15 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange return STATE_LOCKED; } } + + public void setDarkAmount(float darkAmount) { + mDarkAmount = darkAmount; + updateDarkTint(); + } + + private void updateDarkTint() { + Drawable drawable = getDrawable().mutate(); + int color = ColorUtils.blendARGB(Color.TRANSPARENT, Color.WHITE, mDarkAmount); + drawable.setColorFilter(color, PorterDuff.Mode.SRC_ATOP); + } } |