From d5133792391443521dc15f7da7de5d280e6703dd Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Tue, 28 Oct 2014 14:41:36 -0700 Subject: Update drawable state after updating tint list BUG: 18155988 Change-Id: Ic536027a54c10b2082fbc22476530165b76e2c59 --- core/java/android/widget/ImageView.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'core/java/android/widget/ImageView.java') diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java index 75dfccad3728..1ac4dd8e78de 100644 --- a/core/java/android/widget/ImageView.java +++ b/core/java/android/widget/ImageView.java @@ -527,6 +527,12 @@ public class ImageView extends View { if (mHasDrawableTintMode) { mDrawable.setTintMode(mDrawableTintMode); } + + // The drawable (or one of its children) may not have been + // stateful before applying the tint, so let's try again. + if (mDrawable.isStateful()) { + mDrawable.setState(getDrawableState()); + } } } @@ -820,6 +826,7 @@ public class ImageView extends View { mDrawableHeight = d.getIntrinsicHeight(); applyImageTint(); applyColorMod(); + configureBounds(); } else { mDrawableWidth = mDrawableHeight = -1; -- cgit v1.2.3