Attempt to fix infinite recursion.

When collapsing a panel without animating, it might be that an
overscroll animating was still running, and thus expandedHeight != 0
even if we set expandedFraction manually to 0, which sets the state
to STATE_OPEN again and tries to close it in an infinite loop.

Bug: 15721600
Change-Id: I14e0ee43fb4a47286d618cc97581d4e4a98fb2a2
This commit is contained in:
Jorim Jaggi
2014-06-25 21:54:48 +02:00
parent bcd8365197
commit dbbf45e79a
2 changed files with 3 additions and 1 deletions

View File

@@ -302,6 +302,8 @@ public class NotificationPanelView extends PanelView implements
mUnlockIconActive = false;
mPageSwiper.reset();
closeQs();
mNotificationStackScroller.setOverScrollAmount(0f, true /* onTop */, false /* animate */,
true /* cancelAnimators */);
}
public void closeQs() {

View File

@@ -188,10 +188,10 @@ public class PanelBar extends FrameLayout {
pv.collapse();
waiting = true;
} else {
pv.resetViews();
pv.setExpandedFraction(0); // just in case
pv.setVisibility(View.GONE);
pv.cancelPeek();
pv.resetViews();
}
}
if (DEBUG) LOG("collapseAllPanels: animate=%s waiting=%s", animate, waiting);