summaryrefslogtreecommitdiff
path: root/core/java/android/widget/ImageView.java
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2014-10-28 14:41:36 -0700
committerAlan Viverette <alanv@google.com>2014-10-29 19:46:54 +0000
commitd5133792391443521dc15f7da7de5d280e6703dd (patch)
tree61dfd88ec02dc4ff1afe499c2c4e918fa990d8ae /core/java/android/widget/ImageView.java
parente2502eb9ad5eafc54ae06f06a72493748616dbd5 (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.java7
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;