Use Collection instead of List for entity list

Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest FrameworksCoreTests:android.view.textclassifier.TextLinksTest

Bug: 76448224

Change-Id: I354fa05f14b22075c2172624925f5b953956f3a4
This commit is contained in:
Richard Ledley
2018-04-03 15:15:43 +01:00
parent de3569ef84
commit ab669a01a7
3 changed files with 13 additions and 17 deletions

View File

@@ -41,8 +41,9 @@ import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/**
* Interface for providing text classification related features.
@@ -413,21 +414,15 @@ public interface TextClassifier {
*
* This method is intended for use by TextClassifier implementations.
*/
public List<String> resolveEntityListModifications(@NonNull Collection<String> entities) {
final ArrayList<String> finalList = new ArrayList<>();
public Collection<String> resolveEntityListModifications(
@NonNull Collection<String> entities) {
final Set<String> finalSet = new HashSet();
if (mUseHints) {
for (String entity : entities) {
if (!mExcludedEntityTypes.contains(entity)) {
finalList.add(entity);
}
}
finalSet.addAll(entities);
}
for (String entity : mIncludedEntityTypes) {
if (!mExcludedEntityTypes.contains(entity) && !finalList.contains(entity)) {
finalList.add(entity);
}
}
return finalList;
finalSet.addAll(mIncludedEntityTypes);
finalSet.removeAll(mExcludedEntityTypes);
return finalSet;
}
/**
@@ -508,7 +503,7 @@ public interface TextClassifier {
final String string = request.getText().toString();
final TextLinks.Builder links = new TextLinks.Builder(string);
final List<String> entities = request.getEntityConfig()
final Collection<String> entities = request.getEntityConfig()
.resolveEntityListModifications(Collections.emptyList());
if (entities.contains(TextClassifier.TYPE_URL)) {
addLinks(links, string, TextClassifier.TYPE_URL);