Fix NPE when ripples are canceled due to visibility change

BUG: 15406248
Change-Id: I63ce42fef8e1614372ee4a82e45eb15e8bbe1fe3
This commit is contained in:
Alan Viverette
2014-06-03 10:13:22 -07:00
parent 6fbe3982b0
commit 7a98f74438

View File

@@ -441,8 +441,11 @@ public class RippleDrawable extends LayerDrawable {
final int count = mAnimatingRipplesCount;
final Ripple[] ripples = mAnimatingRipples;
for (int i = 0; i < count; i++) {
ripples[i].cancel();
// Calling cancel may remove the ripple from the animating ripple
// array, so cache the reference before nulling it out.
final Ripple ripple = ripples[i];
ripples[i] = null;
ripple.cancel();
}
mAnimatingRipplesCount = 0;