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:
@@ -50538,7 +50538,7 @@ package android.view.textclassifier {
|
||||
method public static android.view.textclassifier.TextClassifier.EntityConfig createWithHints(java.util.Collection<java.lang.String>);
|
||||
method public int describeContents();
|
||||
method public java.util.Collection<java.lang.String> getHints();
|
||||
method public java.util.List<java.lang.String> resolveEntityListModifications(java.util.Collection<java.lang.String>);
|
||||
method public java.util.Collection<java.lang.String> resolveEntityListModifications(java.util.Collection<java.lang.String>);
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifier.EntityConfig> CREATOR;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -30,6 +30,7 @@ import org.junit.runner.RunWith;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
@@ -105,7 +106,7 @@ public class TextLinksTest {
|
||||
assertEquals("en-US,de-DE", result.getDefaultLocales().toLanguageTags());
|
||||
assertEquals(new String[]{TextClassifier.HINT_TEXT_IS_EDITABLE},
|
||||
result.getEntityConfig().getHints().toArray());
|
||||
assertEquals(Arrays.asList("a", "c"),
|
||||
assertEquals(new HashSet<String>(Arrays.asList("a", "c")),
|
||||
result.getEntityConfig().resolveEntityListModifications(Collections.emptyList()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user