From c134d8fac3fd8abf1741f21517f5ed0cf0e8a6e7 Mon Sep 17 00:00:00 2001 From: Stevie Kideckel Date: Thu, 8 Apr 2021 14:57:34 +0000 Subject: [PATCH] Apply tints when setting dial/hands to icons Bug: 184731376 Test: local testing with sample app Change-Id: Ib7c1aeaec6f805e93b9a731bc2d34e2182243ae1 --- core/java/android/widget/AnalogClock.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/java/android/widget/AnalogClock.java b/core/java/android/widget/AnalogClock.java index 42d75353e5dfd..9eebf06d06747 100644 --- a/core/java/android/widget/AnalogClock.java +++ b/core/java/android/widget/AnalogClock.java @@ -212,6 +212,9 @@ public class AnalogClock extends View { mDial = icon.loadDrawable(getContext()); mDialWidth = mDial.getIntrinsicWidth(); mDialHeight = mDial.getIntrinsicHeight(); + if (mDialTintInfo.mHasTintList || mDialTintInfo.mHasTintBlendMode) { + mDial = mDialTintInfo.apply(mDial); + } mChanged = true; invalidate(); @@ -283,6 +286,9 @@ public class AnalogClock extends View { @RemotableViewMethod public void setHourHand(@NonNull Icon icon) { mHourHand = icon.loadDrawable(getContext()); + if (mHourHandTintInfo.mHasTintList || mHourHandTintInfo.mHasTintBlendMode) { + mHourHand = mHourHandTintInfo.apply(mHourHand); + } mChanged = true; invalidate(); @@ -357,6 +363,9 @@ public class AnalogClock extends View { @RemotableViewMethod public void setMinuteHand(@NonNull Icon icon) { mMinuteHand = icon.loadDrawable(getContext()); + if (mMinuteHandTintInfo.mHasTintList || mMinuteHandTintInfo.mHasTintBlendMode) { + mMinuteHand = mMinuteHandTintInfo.apply(mMinuteHand); + } mChanged = true; invalidate(); @@ -434,6 +443,9 @@ public class AnalogClock extends View { @RemotableViewMethod public void setSecondHand(@Nullable Icon icon) { mSecondHand = icon == null ? null : icon.loadDrawable(getContext()); + if (mSecondHandTintInfo.mHasTintList || mSecondHandTintInfo.mHasTintBlendMode) { + mSecondHand = mSecondHandTintInfo.apply(mSecondHand); + } mSecondsTick.run(); mChanged = true;