summaryrefslogtreecommitdiff
path: root/core/java/android/widget/ImageView.java
diff options
context:
space:
mode:
authorramindani <ramindani@google.com>2021-06-07 17:48:52 +0000
committerramindani <ramindani@google.com>2021-06-07 17:56:13 +0000
commit5bc17839f734c6d3d1ba01afdd2c561dedf4f0b3 (patch)
treee184358e8c3805c531f407e323afc1a19a341a77 /core/java/android/widget/ImageView.java
parentf4c2124510f9cf0d9777c4408d4bcad1db40e894 (diff)
Adds checks if level is set on ImageView to override the level on the Drawable in the updateDrawable
Test: verified with the tests that level is maintained on the drawable. Change-Id: Ifef75e3108f106bb6ca6dcf6594bcca79e5428ac BUG=129089894 Change-Id: Ic0fc1dc4d48203ef453f6b967330af60abc7b8b5
Diffstat (limited to 'core/java/android/widget/ImageView.java')
-rw-r--r--core/java/android/widget/ImageView.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java
index 8aa557bab4e3..f292c610f842 100644
--- a/core/java/android/widget/ImageView.java
+++ b/core/java/android/widget/ImageView.java
@@ -136,6 +136,7 @@ public class ImageView extends View {
private int[] mState = null;
private boolean mMergeState = false;
+ private boolean mHasLevelSet = false;
private int mLevel = 0;
@UnsupportedAppUsage
private int mDrawableWidth;
@@ -798,6 +799,7 @@ public class ImageView extends View {
@android.view.RemotableViewMethod
public void setImageLevel(int level) {
mLevel = level;
+ mHasLevelSet = true;
if (mDrawable != null) {
mDrawable.setLevel(level);
resizeFromDrawable();
@@ -1069,7 +1071,9 @@ public class ImageView extends View {
: isAttachedToWindow() && getWindowVisibility() == VISIBLE && isShown();
d.setVisible(visible, true);
}
- d.setLevel(mLevel);
+ if (mHasLevelSet) {
+ d.setLevel(mLevel);
+ }
mDrawableWidth = d.getIntrinsicWidth();
mDrawableHeight = d.getIntrinsicHeight();
applyImageTint();