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

Commit 99827107 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "add conversation flags to channel atom" into rvc-dev am: 1d867453

Change-Id: I6a7e9d26b72c348e3d4b97e502ba34f745fcdf4f
parents 0eb15a89 1d867453
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -6032,6 +6032,12 @@ message PackageNotificationChannelPreferences {
    optional int32 user_locked_fields = 6;
    // Indicates if the channel was deleted by the app.
    optional bool is_deleted = 7;
    // Indicates if the channel was marked as a conversation by the app.
    optional bool is_conversation = 8;
    // Indicates if the channel is a conversation that was demoted by the user.
    optional bool is_demoted_conversation = 9;
    // Indicates if the channel is a conversation that was marked as important by the user.
    optional bool is_important_conversation = 10;
}

/**
+3 −0
Original line number Diff line number Diff line
@@ -1936,6 +1936,9 @@ public class PreferencesHelper implements RankingConfig {
                    event.writeInt(channel.getImportance());
                    event.writeInt(channel.getUserLockedFields());
                    event.writeBoolean(channel.isDeleted());
                    event.writeBoolean(channel.getConversationId() != null);
                    event.writeBoolean(channel.isDemoted());
                    event.writeBoolean(channel.isImportantConversation());
                    events.add(event.build());
                }
            }
+27 −0
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ import android.testing.TestableContentResolver;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.Pair;
import android.util.StatsEvent;
import android.util.Xml;

import androidx.test.InstrumentationRegistry;
@@ -89,6 +90,7 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.internal.util.FastXmlSerializer;
import com.android.server.UiServiceTestCase;


import org.json.JSONArray;
import org.json.JSONObject;
import org.junit.Before;
@@ -2996,6 +2998,31 @@ public class PreferencesHelperTest extends UiServiceTestCase {
                PKG_O, UID_O, parent.getId(), conversationId, false, false), conversationId);
    }


    @Test
    public void testPullConversationNotificationChannel() {
        String conversationId = "friend";

        NotificationChannel parent =
                new NotificationChannel("parent", "messages", IMPORTANCE_DEFAULT);
        mHelper.createNotificationChannel(PKG_O, UID_O, parent, true, false);

        String channelId = String.format(
                CONVERSATION_CHANNEL_ID_FORMAT, parent.getId(), conversationId);
        NotificationChannel friend = new NotificationChannel(channelId,
                "messages", IMPORTANCE_DEFAULT);
        friend.setConversationId(parent.getId(), conversationId);
        mHelper.createNotificationChannel(PKG_O, UID_O, friend, true, false);
        ArrayList<StatsEvent> events = new ArrayList<>();
        mHelper.pullPackageChannelPreferencesStats(events);
        boolean found = false;
        for (StatsEvent event : events) {
            // TODO(b/153195691): inspect the content once it is possible to do so
            found = true;
        }
        assertTrue("conversation was not in the pull", found);
    }

    @Test
    public void testGetNotificationChannel_conversationProvidedByNotCustomizedYet() {
        String conversationId = "friend";