diff options
author | Alan Viverette <alanv@google.com> | 2015-02-05 17:10:47 -0800 |
---|---|---|
committer | Alan Viverette <alanv@google.com> | 2015-02-05 17:10:47 -0800 |
commit | b989c5561ea10e623d73e7bb89b37ac38ccdd908 (patch) | |
tree | d7b124b5ea7a685b2c676af4181de3c6daad242a /core/java/android | |
parent | fe7712e758c12e3fbe26c652dc4ca33267210bd0 (diff) | |
parent | cbe32de4544bbd8a4a360949dc2535eeeb0e21ff (diff) | |
download | frameworks_base-b989c5561ea10e623d73e7bb89b37ac38ccdd908.zip frameworks_base-b989c5561ea10e623d73e7bb89b37ac38ccdd908.tar.gz frameworks_base-b989c5561ea10e623d73e7bb89b37ac38ccdd908.tar.bz2 |
resolve merge conflicts of da9653a to master.
Change-Id: I7458452389fb7b048fe5c6daa375fd4dbb9d9766
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/view/View.java | 4 | ||||
-rw-r--r-- | core/java/android/widget/ScrollBarDrawable.java | 25 |
2 files changed, 27 insertions, 2 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 5a8b265..bac087e 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -12872,7 +12872,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Interpolator.Result.FREEZE_END) { cache.state = ScrollabilityCache.OFF; } else { - cache.scrollBar.setAlpha(Math.round(values[0])); + cache.scrollBar.mutate().setAlpha(Math.round(values[0])); } // This will make the scroll bars inval themselves after @@ -12882,7 +12882,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } else { // We're just on -- but we may have been fading before so // reset alpha - cache.scrollBar.setAlpha(255); + cache.scrollBar.mutate().setAlpha(255); } diff --git a/core/java/android/widget/ScrollBarDrawable.java b/core/java/android/widget/ScrollBarDrawable.java index b12c581..6fd90c3 100644 --- a/core/java/android/widget/ScrollBarDrawable.java +++ b/core/java/android/widget/ScrollBarDrawable.java @@ -44,6 +44,7 @@ public class ScrollBarDrawable extends Drawable implements Drawable.Callback { private boolean mRangeChanged; private boolean mAlwaysDrawHorizontalTrack; private boolean mAlwaysDrawVerticalTrack; + private boolean mMutated; private int mAlpha = 255; private boolean mHasSetAlpha; @@ -266,6 +267,10 @@ public class ScrollBarDrawable extends Drawable implements Drawable.Callback { private void propagateCurrentState(Drawable d) { if (d != null) { + if (mMutated) { + d.mutate(); + } + d.setState(getState()); d.setCallback(this); @@ -290,6 +295,26 @@ public class ScrollBarDrawable extends Drawable implements Drawable.Callback { } @Override + public ScrollBarDrawable mutate() { + if (!mMutated && super.mutate() == this) { + if (mVerticalTrack != null) { + mVerticalTrack.mutate(); + } + if (mVerticalThumb != null) { + mVerticalThumb.mutate(); + } + if (mHorizontalTrack != null) { + mHorizontalTrack.mutate(); + } + if (mHorizontalThumb != null) { + mHorizontalThumb.mutate(); + } + mMutated = true; + } + return this; + } + + @Override public void setAlpha(int alpha) { mAlpha = alpha; mHasSetAlpha = true; |