Fixed a bug where the headsup would be stuck disappearing

am: a4155bb7c0

Change-Id: Ibb48a2b105212634bdff1daadb53be3f5caa4413
This commit is contained in:
Selim Cinek
2016-08-29 18:08:28 +00:00
committed by android-build-merger

View File

@@ -2347,6 +2347,7 @@ public class NotificationStackScrollLayout extends ViewGroup
if (hasAddEvent) {
// This child was just added lets remove all events.
mHeadsUpChangeAnimations.removeAll(mTmpList);
((ExpandableNotificationRow ) child).setHeadsupDisappearRunning(false);
}
mTmpList.clear();
return hasAddEvent;
@@ -2604,6 +2605,10 @@ public class NotificationStackScrollLayout extends ViewGroup
type = row.wasJustClicked()
? AnimationEvent.ANIMATION_TYPE_HEADS_UP_DISAPPEAR_CLICK
: AnimationEvent.ANIMATION_TYPE_HEADS_UP_DISAPPEAR;
if (row.isChildInGroup()) {
// We can otherwise get stuck in there if it was just isolated
row.setHeadsupDisappearRunning(false);
}
} else {
StackViewState viewState = mCurrentStackScrollState.getViewStateForView(row);
if (viewState == null) {
@@ -3093,6 +3098,22 @@ public class NotificationStackScrollLayout extends ViewGroup
requestChildrenUpdate();
runAnimationFinishedRunnables();
clearViewOverlays();
clearHeadsUpDisappearRunning();
}
private void clearHeadsUpDisappearRunning() {
for (int i = 0; i < getChildCount(); i++) {
View view = getChildAt(i);
if (view instanceof ExpandableNotificationRow) {
ExpandableNotificationRow row = (ExpandableNotificationRow) view;
row.setHeadsupDisappearRunning(false);
if (row.isSummaryWithChildren()) {
for (ExpandableNotificationRow child : row.getNotificationChildren()) {
child.setHeadsupDisappearRunning(false);
}
}
}
}
}
private void clearViewOverlays() {