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

Commit ab669a01 authored by Richard Ledley's avatar Richard Ledley
Browse files

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
parent de3569ef
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
  }
+10 −15
Original line number Diff line number Diff line
@@ -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);
+2 −1
Original line number Diff line number Diff line
@@ -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()));
    }
}