Loading services/core/java/com/android/server/notification/PreferencesHelper.java +4 −2 Original line number Diff line number Diff line Loading @@ -1419,8 +1419,10 @@ public class PreferencesHelper implements RankingConfig { conversation.setPkg(p.pkg); conversation.setUid(p.uid); conversation.setNotificationChannel(nc); conversation.setParentChannelLabel( p.channels.get(nc.getParentChannelId()).getName()); NotificationChannel parent = p.channels.get(nc.getParentChannelId()); conversation.setParentChannelLabel(parent == null ? null : parent.getName()); boolean blockedByGroup = false; if (nc.getGroup() != null) { NotificationChannelGroup group = p.groups.get(nc.getGroup()); Loading services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -3536,6 +3536,28 @@ public class PreferencesHelperTest extends UiServiceTestCase { assertFalse(conversationWrapperContainsChannel(convos, channel2)); } @Test public void testGetConversations_parentDeleted() { String convoId = "convo"; NotificationChannel messages = new NotificationChannel("messages", "Messages", IMPORTANCE_DEFAULT); mHelper.createNotificationChannel(PKG_O, UID_O, messages, true, false); NotificationChannel channel = new NotificationChannel("A person msgs", "messages from A", IMPORTANCE_DEFAULT); channel.setConversationId(messages.getId(), convoId); channel.setImportantConversation(true); mHelper.createNotificationChannel(PKG_O, UID_O, channel, true, false); mHelper.permanentlyDeleteNotificationChannel(PKG_O, UID_O, "messages"); List<ConversationChannelWrapper> convos = mHelper.getConversations(IntArray.wrap(new int[] {0}), true); assertEquals(1, convos.size()); assertTrue(conversationWrapperContainsChannel(convos, channel)); } private boolean conversationWrapperContainsChannel(List<ConversationChannelWrapper> list, NotificationChannel expected) { for (ConversationChannelWrapper ccw : list) { Loading Loading
services/core/java/com/android/server/notification/PreferencesHelper.java +4 −2 Original line number Diff line number Diff line Loading @@ -1419,8 +1419,10 @@ public class PreferencesHelper implements RankingConfig { conversation.setPkg(p.pkg); conversation.setUid(p.uid); conversation.setNotificationChannel(nc); conversation.setParentChannelLabel( p.channels.get(nc.getParentChannelId()).getName()); NotificationChannel parent = p.channels.get(nc.getParentChannelId()); conversation.setParentChannelLabel(parent == null ? null : parent.getName()); boolean blockedByGroup = false; if (nc.getGroup() != null) { NotificationChannelGroup group = p.groups.get(nc.getGroup()); Loading
services/tests/uiservicestests/src/com/android/server/notification/PreferencesHelperTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -3536,6 +3536,28 @@ public class PreferencesHelperTest extends UiServiceTestCase { assertFalse(conversationWrapperContainsChannel(convos, channel2)); } @Test public void testGetConversations_parentDeleted() { String convoId = "convo"; NotificationChannel messages = new NotificationChannel("messages", "Messages", IMPORTANCE_DEFAULT); mHelper.createNotificationChannel(PKG_O, UID_O, messages, true, false); NotificationChannel channel = new NotificationChannel("A person msgs", "messages from A", IMPORTANCE_DEFAULT); channel.setConversationId(messages.getId(), convoId); channel.setImportantConversation(true); mHelper.createNotificationChannel(PKG_O, UID_O, channel, true, false); mHelper.permanentlyDeleteNotificationChannel(PKG_O, UID_O, "messages"); List<ConversationChannelWrapper> convos = mHelper.getConversations(IntArray.wrap(new int[] {0}), true); assertEquals(1, convos.size()); assertTrue(conversationWrapperContainsChannel(convos, channel)); } private boolean conversationWrapperContainsChannel(List<ConversationChannelWrapper> list, NotificationChannel expected) { for (ConversationChannelWrapper ccw : list) { Loading