diff options
Diffstat (limited to 'core/java/android/widget/CompoundButton.java')
| -rw-r--r-- | core/java/android/widget/CompoundButton.java | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/core/java/android/widget/CompoundButton.java b/core/java/android/widget/CompoundButton.java index 602e1ab069dd..b19fe17054d7 100644 --- a/core/java/android/widget/CompoundButton.java +++ b/core/java/android/widget/CompoundButton.java @@ -456,14 +456,11 @@ public abstract class CompoundButton extends Button implements Checkable { @Override protected void drawableStateChanged() { super.drawableStateChanged(); - - if (mButtonDrawable != null) { - int[] myDrawableState = getDrawableState(); - - // Set the state of the Drawable - mButtonDrawable.setState(myDrawableState); - - invalidate(); + + final Drawable buttonDrawable = mButtonDrawable; + if (buttonDrawable != null && buttonDrawable.isStateful() + && buttonDrawable.setState(getDrawableState())) { + invalidateDrawable(buttonDrawable); } } |
