CTS for id and conversationId in ConversationActions

Test: atest ConversationActionsTest.java
BUG: 120809869

Change-Id: I9f82755a036e8732d7fe43fb406db2a81347a7dd
diff --git a/tests/tests/view/src/android/view/textclassifier/cts/ConversationActionsTest.java b/tests/tests/view/src/android/view/textclassifier/cts/ConversationActionsTest.java
index ab56bce..54f6166 100644
--- a/tests/tests/view/src/android/view/textclassifier/cts/ConversationActionsTest.java
+++ b/tests/tests/view/src/android/view/textclassifier/cts/ConversationActionsTest.java
@@ -45,6 +45,8 @@
 @SmallTest
 @RunWith(AndroidJUnit4.class)
 public class ConversationActionsTest {
+    private static final String ID = "ID";
+    private static final String CONVERSATION_ID = "conversation_id";
     private static final String TEXT = "TEXT";
     private static final Person PERSON = new Person.Builder().setKey(TEXT).build();
     private static final ZonedDateTime TIME =
@@ -170,6 +172,7 @@
                         .build();
         ConversationActions.Request request =
                 new ConversationActions.Request.Builder(Collections.singletonList(message))
+                        .setConversationId(CONVERSATION_ID)
                         .setHints(Collections.singletonList(ConversationActions.HINT_FOR_IN_APP))
                         .setMaxSuggestions(10)
                         .setTypeConfig(typeConfig)
@@ -217,20 +220,37 @@
     }
 
     @Test
-    public void testConversationActions() {
+    public void testConversationActions_full() {
         ConversationActions.ConversationAction conversationAction =
                 new ConversationActions.ConversationAction.Builder(
                         ConversationActions.TYPE_CALL_PHONE)
                         .build();
 
         ConversationActions conversationActions =
-                new ConversationActions(Arrays.asList(conversationAction));
+                new ConversationActions(Arrays.asList(conversationAction), ID);
 
         ConversationActions recovered =
                 parcelizeDeparcelize(conversationActions, ConversationActions.CREATOR);
 
-        assertConversationActions(conversationActions);
-        assertConversationActions(recovered);
+        assertFullConversationActions(conversationActions);
+        assertFullConversationActions(recovered);
+    }
+
+    @Test
+    public void testConversationActions_minimal() {
+        ConversationActions.ConversationAction conversationAction =
+                new ConversationActions.ConversationAction.Builder(
+                        ConversationActions.TYPE_CALL_PHONE)
+                        .build();
+
+        ConversationActions conversationActions =
+                new ConversationActions(Arrays.asList(conversationAction), null);
+
+        ConversationActions recovered =
+                parcelizeDeparcelize(conversationActions, ConversationActions.CREATOR);
+
+        assertMinimalConversationActions(conversationActions);
+        assertMinimalConversationActions(recovered);
     }
 
     private void assertFullMessage(ConversationActions.Message message) {
@@ -289,6 +309,7 @@
         assertThat(request.getHints()).isEmpty();
         assertThat(request.getMaxSuggestions()).isEqualTo(0);
         assertThat(request.getTypeConfig()).isNotNull();
+        assertThat(request.getConversationId()).isNull();
     }
 
     private void assertFullRequest(ConversationActions.Request request) {
@@ -298,6 +319,7 @@
         assertThat(request.getHints()).containsExactly(ConversationActions.HINT_FOR_IN_APP);
         assertThat(request.getMaxSuggestions()).isEqualTo(10);
         assertThat(request.getTypeConfig().shouldIncludeTypesFromTextClassifier()).isFalse();
+        assertThat(request.getConversationId()).isEqualTo(CONVERSATION_ID);
     }
 
     private void assertMinimalConversationAction(
@@ -316,10 +338,18 @@
         assertThat(conversationAction.getExtras().keySet()).containsExactly(TEXT);
     }
 
-    private void assertConversationActions(ConversationActions conversationActions) {
+    private void assertMinimalConversationActions(ConversationActions conversationActions) {
         assertThat(conversationActions.getConversationActions()).hasSize(1);
         assertThat(conversationActions.getConversationActions().get(0).getType())
                 .isEqualTo(ConversationActions.TYPE_CALL_PHONE);
+        assertThat(conversationActions.getId()).isNull();
+    }
+
+    private void assertFullConversationActions(ConversationActions conversationActions) {
+        assertThat(conversationActions.getConversationActions()).hasSize(1);
+        assertThat(conversationActions.getConversationActions().get(0).getType())
+                .isEqualTo(ConversationActions.TYPE_CALL_PHONE);
+        assertThat(conversationActions.getId()).isEqualTo(ID);
     }
 
     private <T extends Parcelable> T parcelizeDeparcelize(