Changed the appearance of notification bundles
Children now show up as one line notifications even
if the summary is not expanded. The childrenContainer
shows a summary if there are some which don't fit
in there currently.
Bug: 24866646
Change-Id: I0cfae9342722c9f8941f51704618190cfe4e76b4
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
index d0b3c4b..bbef1c0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
@@ -21,7 +21,6 @@
import com.android.systemui.statusbar.ExpandableNotificationRow;
import com.android.systemui.statusbar.NotificationData;
-import com.android.systemui.statusbar.StatusBarState;
import java.util.HashMap;
import java.util.HashSet;
@@ -93,21 +92,8 @@
if (group.children.isEmpty()) {
if (group.summary == null) {
mGroupMap.remove(groupKey);
- } else {
- if (group.expanded) {
- // only the summary is left. Change it to unexpanded in a few ms. We do this to
- // avoid raceconditions
- removed.row.post(new Runnable() {
- @Override
- public void run() {
- if (group.children.isEmpty()) {
- setGroupExpanded(sbn, false);
- }
- }
- });
- } else {
- group.summary.row.updateNotificationHeader();
- }
+ } else if (!group.expanded) {
+ group.summary.row.updateNotificationHeader();
}
}
}
@@ -155,9 +141,6 @@
}
public boolean hasGroupChildren(StatusBarNotification sbn) {
- if (areGroupsProhibited()) {
- return false;
- }
if (!sbn.getNotification().isGroupSummary()) {
return false;
}
@@ -168,29 +151,6 @@
return !group.children.isEmpty();
}
- public void setStatusBarState(int newState) {
- if (mBarState == newState) {
- return;
- }
- boolean prohibitedBefore = areGroupsProhibited();
- mBarState = newState;
- boolean nowProhibited = areGroupsProhibited();
- if (nowProhibited != prohibitedBefore) {
- if (nowProhibited) {
- for (NotificationGroup group : mGroupMap.values()) {
- if (group.expanded) {
- setGroupExpanded(group, false);
- }
- }
- }
- mListener.onGroupsProhibitedChanged();
- }
- }
-
- private boolean areGroupsProhibited() {
- return mBarState == StatusBarState.KEYGUARD;
- }
-
/**
* @return whether a given notification is a child in a group which has a summary
*/
@@ -226,6 +186,18 @@
: group.summary.row;
}
+ public void onEntryHeadsUped(NotificationData.Entry headsUp) {
+ // TODO: handle this nicely
+ }
+
+ public void toggleGroupExpansion(StatusBarNotification sbn) {
+ NotificationGroup group = mGroupMap.get(sbn.getGroupKey());
+ if (group == null) {
+ return;
+ }
+ setGroupExpanded(group, !group.expanded);
+ }
+
public static class NotificationGroup {
public final HashSet<NotificationData.Entry> children = new HashSet<>();
public NotificationData.Entry summary;
@@ -242,11 +214,6 @@
void onGroupExpansionChanged(ExpandableNotificationRow changedRow, boolean expanded);
/**
- * Children group policy has changed and children may no be prohibited or allowed.
- */
- void onGroupsProhibitedChanged();
-
- /**
* A group of children just received a summary notification and should therefore become
* children of it.
*