Use correct checked value when animating Switch
BUG: 16984959
Change-Id: I1b4ffea568619663e26c097a28b86579d090c0ce
diff --git a/core/java/android/widget/Switch.java b/core/java/android/widget/Switch.java
index 682f2ae..8b97329 100644
--- a/core/java/android/widget/Switch.java
+++ b/core/java/android/widget/Switch.java
@@ -833,6 +833,10 @@
public void setChecked(boolean checked) {
super.setChecked(checked);
+ // Calling the super method may result in setChecked() getting called
+ // recursively with a different value, so load the REAL value...
+ checked = isChecked();
+
if (isAttachedToWindow() && isLaidOut()) {
animateThumbToCheckedState(checked);
} else {