Merge "Fixed a crash with the heads up manager" into mnc-dr1.5-dev

This commit is contained in:
Selim Cinek
2016-01-13 23:01:13 +00:00
committed by Android (Google) Code Review

View File

@@ -453,7 +453,10 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL
mReleaseOnExpandFinish = false; mReleaseOnExpandFinish = false;
} else { } else {
for (NotificationData.Entry entry : mEntriesToRemoveAfterExpand) { for (NotificationData.Entry entry : mEntriesToRemoveAfterExpand) {
removeHeadsUpEntry(entry); if (isHeadsUp(entry.key)) {
// Maybe the heads-up was removed already
removeHeadsUpEntry(entry);
}
} }
} }
mEntriesToRemoveAfterExpand.clear(); mEntriesToRemoveAfterExpand.clear();
@@ -572,6 +575,9 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL
earliestRemovaltime = currentTime + mMinimumDisplayTime; earliestRemovaltime = currentTime + mMinimumDisplayTime;
postTime = Math.max(postTime, currentTime); postTime = Math.max(postTime, currentTime);
removeAutoRemovalCallbacks(); removeAutoRemovalCallbacks();
if (mEntriesToRemoveAfterExpand.contains(entry)) {
mEntriesToRemoveAfterExpand.remove(entry);
}
if (!hasFullScreenIntent(entry)) { if (!hasFullScreenIntent(entry)) {
long finishTime = postTime + mHeadsUpNotificationDecay; long finishTime = postTime + mHeadsUpNotificationDecay;
long removeDelay = Math.max(finishTime - currentTime, mMinimumDisplayTime); long removeDelay = Math.max(finishTime - currentTime, mMinimumDisplayTime);