Merge "Fix autogroupsummary bug"
This commit is contained in:
@@ -82,7 +82,7 @@ public class GroupHelper {
|
|||||||
}
|
}
|
||||||
String combinedKey = generatePackageGroupKey(userId, sbn.getPackageName(), group);
|
String combinedKey = generatePackageGroupKey(userId, sbn.getPackageName(), group);
|
||||||
boolean needsOngoingFlag = notifications.size() > 0;
|
boolean needsOngoingFlag = notifications.size() > 0;
|
||||||
mCallback.updateAutogroupSummary(sbn.getKey(), needsOngoingFlag);
|
mCallback.updateAutogroupSummary(userId, sbn.getPackageName(), needsOngoingFlag);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onNotificationUpdated(StatusBarNotification childSbn,
|
public void onNotificationUpdated(StatusBarNotification childSbn,
|
||||||
@@ -211,6 +211,6 @@ public class GroupHelper {
|
|||||||
void removeAutoGroup(String key);
|
void removeAutoGroup(String key);
|
||||||
void addAutoGroupSummary(int userId, String pkg, String triggeringKey);
|
void addAutoGroupSummary(int userId, String pkg, String triggeringKey);
|
||||||
void removeAutoGroupSummary(int user, String pkg);
|
void removeAutoGroupSummary(int user, String pkg);
|
||||||
void updateAutogroupSummary(String key, boolean needsOngoingFlag);
|
void updateAutogroupSummary(int userId, String pkg, boolean needsOngoingFlag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2498,19 +2498,11 @@ public class NotificationManagerService extends SystemService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAutogroupSummary(String key, boolean needsOngoingFlag) {
|
public void updateAutogroupSummary(int userId, String pkg, boolean needsOngoingFlag) {
|
||||||
String pkg;
|
|
||||||
synchronized (mNotificationLock) {
|
|
||||||
NotificationRecord r = mNotificationsByKey.get(key);
|
|
||||||
pkg = r != null && r.getSbn() != null ? r.getSbn().getPackageName() : null;
|
|
||||||
}
|
|
||||||
boolean isAppForeground = pkg != null
|
boolean isAppForeground = pkg != null
|
||||||
&& mActivityManager.getPackageImportance(pkg) == IMPORTANCE_FOREGROUND;
|
&& mActivityManager.getPackageImportance(pkg) == IMPORTANCE_FOREGROUND;
|
||||||
synchronized (mNotificationLock) {
|
synchronized (mNotificationLock) {
|
||||||
NotificationRecord r = mNotificationsByKey.get(key);
|
updateAutobundledSummaryFlags(userId, pkg, needsOngoingFlag, isAppForeground);
|
||||||
if (r == null) return;
|
|
||||||
updateAutobundledSummaryFlags(r.getUser().getIdentifier(),
|
|
||||||
r.getSbn().getPackageName(), needsOngoingFlag, isAppForeground);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ public class GroupHelperTest extends UiServiceTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
verify(mCallback, times(AUTOGROUP_AT_COUNT + 1))
|
verify(mCallback, times(AUTOGROUP_AT_COUNT + 1))
|
||||||
.updateAutogroupSummary(anyString(), eq(true));
|
.updateAutogroupSummary(anyInt(), anyString(), eq(true));
|
||||||
|
|
||||||
int userId = UserHandle.SYSTEM.getIdentifier();
|
int userId = UserHandle.SYSTEM.getIdentifier();
|
||||||
assertEquals(mGroupHelper.getOngoingGroupCount(
|
assertEquals(mGroupHelper.getOngoingGroupCount(
|
||||||
@@ -203,7 +203,7 @@ public class GroupHelperTest extends UiServiceTestCase {
|
|||||||
mGroupHelper.onNotificationUpdated(notifications.get(0), true);
|
mGroupHelper.onNotificationUpdated(notifications.get(0), true);
|
||||||
|
|
||||||
verify(mCallback, times(AUTOGROUP_AT_COUNT + 2))
|
verify(mCallback, times(AUTOGROUP_AT_COUNT + 2))
|
||||||
.updateAutogroupSummary(anyString(), eq(true));
|
.updateAutogroupSummary(anyInt(), anyString(), eq(true));
|
||||||
|
|
||||||
int userId = UserHandle.SYSTEM.getIdentifier();
|
int userId = UserHandle.SYSTEM.getIdentifier();
|
||||||
assertEquals(mGroupHelper.getOngoingGroupCount(
|
assertEquals(mGroupHelper.getOngoingGroupCount(
|
||||||
@@ -236,7 +236,7 @@ public class GroupHelperTest extends UiServiceTestCase {
|
|||||||
mGroupHelper.onNotificationUpdated(notifications.get(0), true);
|
mGroupHelper.onNotificationUpdated(notifications.get(0), true);
|
||||||
|
|
||||||
verify(mCallback, times(AUTOGROUP_AT_COUNT + 3))
|
verify(mCallback, times(AUTOGROUP_AT_COUNT + 3))
|
||||||
.updateAutogroupSummary(anyString(), eq(true));
|
.updateAutogroupSummary(anyInt(), anyString(), eq(true));
|
||||||
|
|
||||||
int userId = UserHandle.SYSTEM.getIdentifier();
|
int userId = UserHandle.SYSTEM.getIdentifier();
|
||||||
assertEquals(mGroupHelper.getOngoingGroupCount(
|
assertEquals(mGroupHelper.getOngoingGroupCount(
|
||||||
@@ -263,7 +263,7 @@ public class GroupHelperTest extends UiServiceTestCase {
|
|||||||
mGroupHelper.onNotificationRemoved(notifications.get(0));
|
mGroupHelper.onNotificationRemoved(notifications.get(0));
|
||||||
|
|
||||||
verify(mCallback, times(AUTOGROUP_AT_COUNT + 2))
|
verify(mCallback, times(AUTOGROUP_AT_COUNT + 2))
|
||||||
.updateAutogroupSummary(anyString(), eq(true));
|
.updateAutogroupSummary(anyInt(), anyString(), eq(true));
|
||||||
|
|
||||||
int userId = UserHandle.SYSTEM.getIdentifier();
|
int userId = UserHandle.SYSTEM.getIdentifier();
|
||||||
assertEquals(mGroupHelper.getOngoingGroupCount(
|
assertEquals(mGroupHelper.getOngoingGroupCount(
|
||||||
@@ -291,7 +291,7 @@ public class GroupHelperTest extends UiServiceTestCase {
|
|||||||
mGroupHelper.onNotificationUpdated(notifications.get(0), true);
|
mGroupHelper.onNotificationUpdated(notifications.get(0), true);
|
||||||
|
|
||||||
verify(mCallback, times(1))
|
verify(mCallback, times(1))
|
||||||
.updateAutogroupSummary(anyString(), eq(true));
|
.updateAutogroupSummary(anyInt(), anyString(), eq(true));
|
||||||
|
|
||||||
int userId = UserHandle.SYSTEM.getIdentifier();
|
int userId = UserHandle.SYSTEM.getIdentifier();
|
||||||
assertEquals(mGroupHelper.getOngoingGroupCount(
|
assertEquals(mGroupHelper.getOngoingGroupCount(
|
||||||
@@ -315,7 +315,7 @@ public class GroupHelperTest extends UiServiceTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
verify(mCallback, times(1))
|
verify(mCallback, times(1))
|
||||||
.updateAutogroupSummary(anyString(), eq(true));
|
.updateAutogroupSummary(anyInt(), anyString(), eq(true));
|
||||||
|
|
||||||
int userId = UserHandle.SYSTEM.getIdentifier();
|
int userId = UserHandle.SYSTEM.getIdentifier();
|
||||||
assertEquals(mGroupHelper.getOngoingGroupCount(
|
assertEquals(mGroupHelper.getOngoingGroupCount(
|
||||||
@@ -339,7 +339,7 @@ public class GroupHelperTest extends UiServiceTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
verify(mCallback, times(0))
|
verify(mCallback, times(0))
|
||||||
.updateAutogroupSummary(anyString(), eq(true));
|
.updateAutogroupSummary(anyInt(), anyString(), eq(true));
|
||||||
|
|
||||||
int userId = UserHandle.SYSTEM.getIdentifier();
|
int userId = UserHandle.SYSTEM.getIdentifier();
|
||||||
assertEquals(mGroupHelper.getOngoingGroupCount(userId, pkg, AUTOGROUP_KEY), 0);
|
assertEquals(mGroupHelper.getOngoingGroupCount(userId, pkg, AUTOGROUP_KEY), 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user