diff options
| author | Alan Viverette <alanv@google.com> | 2014-10-28 14:41:36 -0700 |
|---|---|---|
| committer | Alan Viverette <alanv@google.com> | 2014-10-29 19:46:54 +0000 |
| commit | d5133792391443521dc15f7da7de5d280e6703dd (patch) | |
| tree | 61dfd88ec02dc4ff1afe499c2c4e918fa990d8ae /core/java/android/widget/ImageView.java | |
| parent | e2502eb9ad5eafc54ae06f06a72493748616dbd5 (diff) | |
Update drawable state after updating tint list
BUG: 18155988
Change-Id: Ic536027a54c10b2082fbc22476530165b76e2c59
Diffstat (limited to 'core/java/android/widget/ImageView.java')
| -rw-r--r-- | core/java/android/widget/ImageView.java | 7 |
1 files changed, 7 insertions, 0 deletions
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; |
