Merge "DO NOT MERGE: Don't let NotificationEntryManager keep around old RankingMaps" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
5c9dd5462f
@@ -85,7 +85,6 @@ public class NotificationEntryManager implements
|
|||||||
private NotificationRowBinder mNotificationRowBinder;
|
private NotificationRowBinder mNotificationRowBinder;
|
||||||
|
|
||||||
private NotificationPresenter mPresenter;
|
private NotificationPresenter mPresenter;
|
||||||
private NotificationListenerService.RankingMap mLatestRankingMap;
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected NotificationData mNotificationData;
|
protected NotificationData mNotificationData;
|
||||||
|
|
||||||
@@ -163,8 +162,7 @@ public class NotificationEntryManager implements
|
|||||||
/** Adds a {@link NotificationLifetimeExtender}. */
|
/** Adds a {@link NotificationLifetimeExtender}. */
|
||||||
public void addNotificationLifetimeExtender(NotificationLifetimeExtender extender) {
|
public void addNotificationLifetimeExtender(NotificationLifetimeExtender extender) {
|
||||||
mNotificationLifetimeExtenders.add(extender);
|
mNotificationLifetimeExtenders.add(extender);
|
||||||
extender.setCallback(key -> removeNotification(key, mLatestRankingMap,
|
extender.setCallback(key -> removeNotification(key, null, UNDEFINED_DISMISS_REASON));
|
||||||
UNDEFINED_DISMISS_REASON));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public NotificationData getNotificationData() {
|
public NotificationData getNotificationData() {
|
||||||
@@ -302,7 +300,6 @@ public class NotificationEntryManager implements
|
|||||||
if (!forceRemove && !entryDismissed) {
|
if (!forceRemove && !entryDismissed) {
|
||||||
for (NotificationLifetimeExtender extender : mNotificationLifetimeExtenders) {
|
for (NotificationLifetimeExtender extender : mNotificationLifetimeExtenders) {
|
||||||
if (extender.shouldExtendLifetime(entry)) {
|
if (extender.shouldExtendLifetime(entry)) {
|
||||||
mLatestRankingMap = ranking;
|
|
||||||
extendLifetime(entry, extender);
|
extendLifetime(entry, extender);
|
||||||
lifetimeExtended = true;
|
lifetimeExtended = true;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -203,6 +203,9 @@ public class NotificationData {
|
|||||||
removed = mEntries.remove(key);
|
removed = mEntries.remove(key);
|
||||||
}
|
}
|
||||||
if (removed == null) return null;
|
if (removed == null) return null;
|
||||||
|
// NEM may pass us a null ranking map if removing a lifetime-extended notification,
|
||||||
|
// so use the most recent ranking
|
||||||
|
if (ranking == null) ranking = mRankingMap;
|
||||||
mGroupManager.onEntryRemoved(removed);
|
mGroupManager.onEntryRemoved(removed);
|
||||||
updateRankingAndSort(ranking);
|
updateRankingAndSort(ranking);
|
||||||
return removed;
|
return removed;
|
||||||
|
|||||||
Reference in New Issue
Block a user