Merge "NoMan: Cancel previous instance of ignored notification" into lmp-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
9d4b796339
@@ -1829,7 +1829,7 @@ public class NotificationManagerService extends SystemService {
|
|||||||
// can to avoid extracting signals.
|
// can to avoid extracting signals.
|
||||||
handleGroupedNotificationLocked(r, old, callingUid, callingPid);
|
handleGroupedNotificationLocked(r, old, callingUid, callingPid);
|
||||||
boolean ignoreNotification =
|
boolean ignoreNotification =
|
||||||
removeUnusedGroupedNotificationLocked(r, callingUid, callingPid);
|
removeUnusedGroupedNotificationLocked(r, old, callingUid, callingPid);
|
||||||
|
|
||||||
// This conditional is a dirty hack to limit the logging done on
|
// This conditional is a dirty hack to limit the logging done on
|
||||||
// behalf of the download manager without affecting other apps.
|
// behalf of the download manager without affecting other apps.
|
||||||
@@ -1966,7 +1966,8 @@ public class NotificationManagerService extends SystemService {
|
|||||||
*
|
*
|
||||||
* <p>Returns true if the given notification is a child of a group with a
|
* <p>Returns true if the given notification is a child of a group with a
|
||||||
* summary, which means that SysUI will never show it, and hence the new
|
* summary, which means that SysUI will never show it, and hence the new
|
||||||
* notification can be safely ignored.</p>
|
* notification can be safely ignored. Also cancels any previous instance
|
||||||
|
* of the ignored notification.</p>
|
||||||
*
|
*
|
||||||
* <p>For summaries, cancels all children of that group, as SysUI will
|
* <p>For summaries, cancels all children of that group, as SysUI will
|
||||||
* never show them anymore.</p>
|
* never show them anymore.</p>
|
||||||
@@ -1974,7 +1975,7 @@ public class NotificationManagerService extends SystemService {
|
|||||||
* @return true if the given notification can be ignored as an optimization
|
* @return true if the given notification can be ignored as an optimization
|
||||||
*/
|
*/
|
||||||
private boolean removeUnusedGroupedNotificationLocked(NotificationRecord r,
|
private boolean removeUnusedGroupedNotificationLocked(NotificationRecord r,
|
||||||
int callingUid, int callingPid) {
|
NotificationRecord old, int callingUid, int callingPid) {
|
||||||
// No optimizations are possible if listeners want groups.
|
// No optimizations are possible if listeners want groups.
|
||||||
if (mListeners.notificationGroupsDesired()) {
|
if (mListeners.notificationGroupsDesired()) {
|
||||||
return false;
|
return false;
|
||||||
@@ -1992,6 +1993,13 @@ public class NotificationManagerService extends SystemService {
|
|||||||
Slog.d(TAG, "Ignoring group child " + sbn.getKey() + " due to existing summary "
|
Slog.d(TAG, "Ignoring group child " + sbn.getKey() + " due to existing summary "
|
||||||
+ summary.getKey());
|
+ summary.getKey());
|
||||||
}
|
}
|
||||||
|
// Make sure we don't leave an old version of the notification around.
|
||||||
|
if (old != null) {
|
||||||
|
if (DBG) {
|
||||||
|
Slog.d(TAG, "Canceling old version of ignored group child " + sbn.getKey());
|
||||||
|
}
|
||||||
|
cancelNotificationLocked(old, false, REASON_GROUP_OPTIMIZATION);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
} else if (isSummary) {
|
} else if (isSummary) {
|
||||||
// Summary -> cancel children
|
// Summary -> cancel children
|
||||||
|
|||||||
Reference in New Issue
Block a user