diff options
| author | ramindani <ramindani@google.com> | 2021-06-07 17:48:52 +0000 |
|---|---|---|
| committer | ramindani <ramindani@google.com> | 2021-06-07 17:56:13 +0000 |
| commit | 5bc17839f734c6d3d1ba01afdd2c561dedf4f0b3 (patch) | |
| tree | e184358e8c3805c531f407e323afc1a19a341a77 /core/java/android/widget/ImageView.java | |
| parent | f4c2124510f9cf0d9777c4408d4bcad1db40e894 (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.java | 6 |
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(); |
