Fixed a crash with the autocancelling

Change-Id: If9cb9cc89bafbc9e7e053b4758382239bac97adc
Fixes: 28878632
Fixes: 28898623
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 182075f..0df1204 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
@@ -215,17 +215,23 @@
 
     public boolean isOnlyChildInSuppressedGroup(StatusBarNotification sbn) {
         return isGroupSuppressed(sbn.getGroupKey())
-                && isOnlyChildInGroup(sbn);
+                && isOnlyChild(sbn);
     }
 
-    public boolean isOnlyChildInGroup(StatusBarNotification sbn) {
+    private boolean isOnlyChild(StatusBarNotification sbn) {
         return !sbn.getNotification().isGroupSummary()
                 && getTotalNumberOfChildren(sbn) == 1;
     }
 
+    public boolean isOnlyChildInGroup(StatusBarNotification sbn) {
+        return isOnlyChild(sbn) && getLogicalGroupSummary(sbn) != null;
+    }
+
     private int getTotalNumberOfChildren(StatusBarNotification sbn) {
-        return getNumberOfIsolatedChildren(sbn.getGroupKey())
-                + mGroupMap.get(sbn.getGroupKey()).children.size();
+        int isolatedChildren = getNumberOfIsolatedChildren(sbn.getGroupKey());
+        NotificationGroup group = mGroupMap.get(sbn.getGroupKey());
+        int realChildren = group != null ? group.children.size() : 0;
+        return isolatedChildren + realChildren;
     }
 
     private boolean isGroupSuppressed(String groupKey) {