diff options
| author | 2022-04-12 16:06:09 +0000 | |
|---|---|---|
| committer | 2022-04-12 16:06:09 +0000 | |
| commit | b5d8f6a658ec1cdf7748451179eef838301fe149 (patch) | |
| tree | 1ca50e35b45a973e7de30fa56de69513d1d7557a | |
| parent | 01673de24ef58068d8f461cbedc64c1c566d8aa7 (diff) | |
| parent | 15e5749d4bf9146e26fe97cc30d0d506770f2804 (diff) | |
Merge "Fix autogroupsummary bug" am: 15e5749d4b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1948925
Change-Id: I7d26ec73fb70e7e93b4d1aae8159895b08160fd1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
3 files changed, 11 insertions, 19 deletions
diff --git a/services/core/java/com/android/server/notification/GroupHelper.java b/services/core/java/com/android/server/notification/GroupHelper.java index 9cb8a0105286..4f2680904fae 100644 --- a/services/core/java/com/android/server/notification/GroupHelper.java +++ b/services/core/java/com/android/server/notification/GroupHelper.java @@ -82,7 +82,7 @@ public class GroupHelper { } String combinedKey = generatePackageGroupKey(userId, sbn.getPackageName(), group); boolean needsOngoingFlag = notifications.size() > 0; - mCallback.updateAutogroupSummary(sbn.getKey(), needsOngoingFlag); + mCallback.updateAutogroupSummary(userId, sbn.getPackageName(), needsOngoingFlag); } public void onNotificationUpdated(StatusBarNotification childSbn, @@ -211,6 +211,6 @@ public class GroupHelper { void removeAutoGroup(String key); void addAutoGroupSummary(int userId, String pkg, String triggeringKey); void removeAutoGroupSummary(int user, String pkg); - void updateAutogroupSummary(String key, boolean needsOngoingFlag); + void updateAutogroupSummary(int userId, String pkg, boolean needsOngoingFlag); } } diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index 0fda3a36b8e9..f836a6c4af7a 100755 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -2507,19 +2507,11 @@ public class NotificationManagerService extends SystemService { } @Override - public void updateAutogroupSummary(String key, boolean needsOngoingFlag) { - String pkg; - synchronized (mNotificationLock) { - NotificationRecord r = mNotificationsByKey.get(key); - pkg = r != null && r.getSbn() != null ? r.getSbn().getPackageName() : null; - } + public void updateAutogroupSummary(int userId, String pkg, boolean needsOngoingFlag) { boolean isAppForeground = pkg != null && mActivityManager.getPackageImportance(pkg) == IMPORTANCE_FOREGROUND; synchronized (mNotificationLock) { - NotificationRecord r = mNotificationsByKey.get(key); - if (r == null) return; - updateAutobundledSummaryFlags(r.getUser().getIdentifier(), - r.getSbn().getPackageName(), needsOngoingFlag, isAppForeground); + updateAutobundledSummaryFlags(userId, pkg, needsOngoingFlag, isAppForeground); } } }); diff --git a/services/tests/uiservicestests/src/com/android/server/notification/GroupHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/GroupHelperTest.java index 721641a7a8c8..5458a5b84eea 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/GroupHelperTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/GroupHelperTest.java @@ -174,7 +174,7 @@ public class GroupHelperTest extends UiServiceTestCase { } verify(mCallback, times(AUTOGROUP_AT_COUNT + 1)) - .updateAutogroupSummary(anyString(), eq(true)); + .updateAutogroupSummary(anyInt(), anyString(), eq(true)); int userId = UserHandle.SYSTEM.getIdentifier(); assertEquals(mGroupHelper.getOngoingGroupCount( @@ -203,7 +203,7 @@ public class GroupHelperTest extends UiServiceTestCase { mGroupHelper.onNotificationUpdated(notifications.get(0), true); verify(mCallback, times(AUTOGROUP_AT_COUNT + 2)) - .updateAutogroupSummary(anyString(), eq(true)); + .updateAutogroupSummary(anyInt(), anyString(), eq(true)); int userId = UserHandle.SYSTEM.getIdentifier(); assertEquals(mGroupHelper.getOngoingGroupCount( @@ -236,7 +236,7 @@ public class GroupHelperTest extends UiServiceTestCase { mGroupHelper.onNotificationUpdated(notifications.get(0), true); verify(mCallback, times(AUTOGROUP_AT_COUNT + 3)) - .updateAutogroupSummary(anyString(), eq(true)); + .updateAutogroupSummary(anyInt(), anyString(), eq(true)); int userId = UserHandle.SYSTEM.getIdentifier(); assertEquals(mGroupHelper.getOngoingGroupCount( @@ -263,7 +263,7 @@ public class GroupHelperTest extends UiServiceTestCase { mGroupHelper.onNotificationRemoved(notifications.get(0)); verify(mCallback, times(AUTOGROUP_AT_COUNT + 2)) - .updateAutogroupSummary(anyString(), eq(true)); + .updateAutogroupSummary(anyInt(), anyString(), eq(true)); int userId = UserHandle.SYSTEM.getIdentifier(); assertEquals(mGroupHelper.getOngoingGroupCount( @@ -291,7 +291,7 @@ public class GroupHelperTest extends UiServiceTestCase { mGroupHelper.onNotificationUpdated(notifications.get(0), true); verify(mCallback, times(1)) - .updateAutogroupSummary(anyString(), eq(true)); + .updateAutogroupSummary(anyInt(), anyString(), eq(true)); int userId = UserHandle.SYSTEM.getIdentifier(); assertEquals(mGroupHelper.getOngoingGroupCount( @@ -315,7 +315,7 @@ public class GroupHelperTest extends UiServiceTestCase { } verify(mCallback, times(1)) - .updateAutogroupSummary(anyString(), eq(true)); + .updateAutogroupSummary(anyInt(), anyString(), eq(true)); int userId = UserHandle.SYSTEM.getIdentifier(); assertEquals(mGroupHelper.getOngoingGroupCount( @@ -339,7 +339,7 @@ public class GroupHelperTest extends UiServiceTestCase { } verify(mCallback, times(0)) - .updateAutogroupSummary(anyString(), eq(true)); + .updateAutogroupSummary(anyInt(), anyString(), eq(true)); int userId = UserHandle.SYSTEM.getIdentifier(); assertEquals(mGroupHelper.getOngoingGroupCount(userId, pkg, AUTOGROUP_KEY), 0); |