Merge "Doing sublisting after deduplication" into qt-dev

am: 143c735ee6

Change-Id: I766154f9831feab0884a58a7ad27606a99f7d299
This commit is contained in:
Tony Mak
2019-04-17 03:38:22 -07:00
committed by android-build-merger
2 changed files with 28 additions and 11 deletions

View File

@@ -451,10 +451,6 @@ public final class TextClassifierImpl implements TextClassifier {
Collection<String> expectedTypes = resolveActionTypesFromRequest(request);
List<ConversationAction> conversationActions = new ArrayList<>();
for (ActionsSuggestionsModel.ActionSuggestion nativeSuggestion : nativeSuggestions) {
if (request.getMaxSuggestions() >= 0
&& conversationActions.size() == request.getMaxSuggestions()) {
break;
}
String actionType = nativeSuggestion.getActionType();
if (!expectedTypes.contains(actionType)) {
continue;
@@ -484,6 +480,10 @@ public final class TextClassifierImpl implements TextClassifier {
}
conversationActions =
ActionsSuggestionsHelper.removeActionsWithDuplicates(conversationActions);
if (request.getMaxSuggestions() >= 0
&& conversationActions.size() > request.getMaxSuggestions()) {
conversationActions = conversationActions.subList(0, request.getMaxSuggestions());
}
String resultId = ActionsSuggestionsHelper.createResultId(
mContext,
request.getConversation(),

View File

@@ -380,7 +380,7 @@ public class TextClassifierTest {
}
@Test
public void testSuggestConversationActions_textReplyOnly_maxThree() {
public void testSuggestConversationActions_textReplyOnly_maxOne() {
if (isTextClassifierDisabled()) return;
ConversationActions.Message message =
new ConversationActions.Message.Builder(
@@ -399,12 +399,11 @@ public class TextClassifierTest {
.build();
ConversationActions conversationActions = mClassifier.suggestConversationActions(request);
assertTrue(conversationActions.getConversationActions().size() > 0);
for (ConversationAction conversationAction :
conversationActions.getConversationActions()) {
assertThat(conversationAction,
isConversationAction(ConversationAction.TYPE_TEXT_REPLY));
}
Truth.assertThat(conversationActions.getConversationActions()).hasSize(1);
ConversationAction conversationAction = conversationActions.getConversationActions().get(0);
Truth.assertThat(conversationAction.getType()).isEqualTo(
ConversationAction.TYPE_TEXT_REPLY);
Truth.assertThat(conversationAction.getTextReply()).isNotNull();
}
@Test
@@ -493,6 +492,24 @@ public class TextClassifierTest {
ExtrasUtils.getSerializedEntityData(conversationAction.getExtras())).isNotEmpty();
}
@Test
public void testSuggetsConversationActions_deduplicate() {
if (isTextClassifierDisabled()) return;
ConversationActions.Message message =
new ConversationActions.Message.Builder(
ConversationActions.Message.PERSON_USER_OTHERS)
.setText("a@android.com b@android.com")
.build();
ConversationActions.Request request =
new ConversationActions.Request.Builder(Collections.singletonList(message))
.setMaxSuggestions(3)
.build();
ConversationActions conversationActions = mClassifier.suggestConversationActions(request);
Truth.assertThat(conversationActions.getConversationActions()).isEmpty();
}
private boolean isTextClassifierDisabled() {
return mClassifier == null || mClassifier == TextClassifier.NO_OP;
}