Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5846da7a authored by Julia Reynolds's avatar Julia Reynolds Committed by Android (Google) Code Review
Browse files

Merge "Fix NPE" into sc-dev

parents 12442e7a 52742ec8
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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());
+22 −0
Original line number Diff line number Diff line
@@ -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) {