copy auto-group decisions to updates

The rocket runs too late to affect auto-grouping for updates before
the UI reacts to the group change, so make sure it stays the same
until the rocket has an opportunity to reconsider.

Bug: 28517296
Change-Id: I16a0509cac06912c8b3139f06474f312207f9f8c
This commit is contained in:
Chris Wren
2016-05-02 16:19:14 -04:00
parent dbe2dbae99
commit 8a1638f66a
4 changed files with 17 additions and 4 deletions

View File

@@ -143,8 +143,18 @@ public class StatusBarNotification implements Parcelable {
* Returns true if this notification is part of a group.
*/
public boolean isGroup() {
if (overrideGroupKey != null || getNotification().getGroup() != null
|| getNotification().getSortKey() != null) {
if (overrideGroupKey != null || isAppGroup()) {
return true;
}
return false;
}
/**
* Returns true if application asked that this notification be part of a group.
* @hide
*/
public boolean isAppGroup() {
if (getNotification().getGroup() != null || getNotification().getSortKey() != null) {
return true;
}
return false;

View File

@@ -59,7 +59,7 @@ public final class Ranker extends NotificationRankerService {
if (DEBUG) Log.i(TAG, "POSTED " + sbn.getKey());
try {
List<String> notificationsToBundle = new ArrayList<>();
if (!sbn.isGroup()) {
if (!sbn.isAppGroup()) {
// Not grouped by the app, add to the list of notifications for the app;
// send bundling update if app exceeds the autobundling limit.
synchronized (mUnbundledNotifications) {

View File

@@ -2948,7 +2948,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
}
public void topAppWindowChanged(boolean showMenu) {
if (DEBUG) {
if (SPEW) {
Log.d(TAG, (showMenu?"showing":"hiding") + " the MENU button");
}
if (mNavigationBarView != null) {

View File

@@ -176,6 +176,9 @@ public final class NotificationRecord {
mRankingTimeMs = calculateRankingTimeMs(previous.getRankingTimeMs());
mCreationTimeMs = previous.mCreationTimeMs;
mVisibleSinceMs = previous.mVisibleSinceMs;
if(previous.sbn.getOverrideGroupKey() != null) {
sbn.setOverrideGroupKey(previous.sbn.getOverrideGroupKey());
}
// Don't copy importance information or mGlobalSortKey, recompute them.
}