Loading api/current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -48969,6 +48969,7 @@ package android.view.textclassifier { public abstract interface TextClassifier { method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.view.textclassifier.TextClassification.Options); method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.os.LocaleList); method public default android.view.textclassifier.TextLinks generateLinks(java.lang.CharSequence, android.view.textclassifier.TextLinks.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.view.textclassifier.TextSelection.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.os.LocaleList); field public static final android.view.textclassifier.TextClassifier NO_OP; Loading @@ -48979,6 +48980,36 @@ package android.view.textclassifier { field public static final java.lang.String TYPE_URL = "url"; } public final class TextLinks { method public boolean apply(android.text.SpannableString, java.util.function.Function<android.view.textclassifier.TextLinks.TextLink, android.text.style.ClickableSpan>); method public java.util.Collection<android.view.textclassifier.TextLinks.TextLink> getLinks(); } public static final class TextLinks.Builder { ctor public TextLinks.Builder(java.lang.String); method public android.view.textclassifier.TextLinks.Builder addLink(android.view.textclassifier.TextLinks.TextLink); method public android.view.textclassifier.TextLinks build(); } public static final class TextLinks.Options { method public android.os.LocaleList getDefaultLocales(); } public static final class TextLinks.Options.Builder { ctor public TextLinks.Options.Builder(); method public android.view.textclassifier.TextLinks.Options build(); method public android.view.textclassifier.TextLinks.Options.Builder setLocaleList(android.os.LocaleList); } public static final class TextLinks.TextLink { ctor public TextLinks.TextLink(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Float>); method public float getConfidenceScore(java.lang.String); method public int getEnd(); method public java.lang.String getEntity(int); method public int getEntityCount(); method public int getStart(); } public final class TextSelection { method public float getConfidenceScore(java.lang.String); method public java.lang.String getEntity(int); api/system-current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -52708,6 +52708,7 @@ package android.view.textclassifier { public abstract interface TextClassifier { method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.view.textclassifier.TextClassification.Options); method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.os.LocaleList); method public default android.view.textclassifier.TextLinks generateLinks(java.lang.CharSequence, android.view.textclassifier.TextLinks.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.view.textclassifier.TextSelection.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.os.LocaleList); field public static final android.view.textclassifier.TextClassifier NO_OP; Loading @@ -52718,6 +52719,36 @@ package android.view.textclassifier { field public static final java.lang.String TYPE_URL = "url"; } public final class TextLinks { method public boolean apply(android.text.SpannableString, java.util.function.Function<android.view.textclassifier.TextLinks.TextLink, android.text.style.ClickableSpan>); method public java.util.Collection<android.view.textclassifier.TextLinks.TextLink> getLinks(); } public static final class TextLinks.Builder { ctor public TextLinks.Builder(java.lang.String); method public android.view.textclassifier.TextLinks.Builder addLink(android.view.textclassifier.TextLinks.TextLink); method public android.view.textclassifier.TextLinks build(); } public static final class TextLinks.Options { method public android.os.LocaleList getDefaultLocales(); } public static final class TextLinks.Options.Builder { ctor public TextLinks.Options.Builder(); method public android.view.textclassifier.TextLinks.Options build(); method public android.view.textclassifier.TextLinks.Options.Builder setLocaleList(android.os.LocaleList); } public static final class TextLinks.TextLink { ctor public TextLinks.TextLink(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Float>); method public float getConfidenceScore(java.lang.String); method public int getEnd(); method public java.lang.String getEntity(int); method public int getEntityCount(); method public int getStart(); } public final class TextSelection { method public float getConfidenceScore(java.lang.String); method public java.lang.String getEntity(int); api/test-current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -49606,6 +49606,7 @@ package android.view.textclassifier { public abstract interface TextClassifier { method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.view.textclassifier.TextClassification.Options); method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.os.LocaleList); method public default android.view.textclassifier.TextLinks generateLinks(java.lang.CharSequence, android.view.textclassifier.TextLinks.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.view.textclassifier.TextSelection.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.os.LocaleList); field public static final android.view.textclassifier.TextClassifier NO_OP; Loading @@ -49616,6 +49617,36 @@ package android.view.textclassifier { field public static final java.lang.String TYPE_URL = "url"; } public final class TextLinks { method public boolean apply(android.text.SpannableString, java.util.function.Function<android.view.textclassifier.TextLinks.TextLink, android.text.style.ClickableSpan>); method public java.util.Collection<android.view.textclassifier.TextLinks.TextLink> getLinks(); } public static final class TextLinks.Builder { ctor public TextLinks.Builder(java.lang.String); method public android.view.textclassifier.TextLinks.Builder addLink(android.view.textclassifier.TextLinks.TextLink); method public android.view.textclassifier.TextLinks build(); } public static final class TextLinks.Options { method public android.os.LocaleList getDefaultLocales(); } public static final class TextLinks.Options.Builder { ctor public TextLinks.Options.Builder(); method public android.view.textclassifier.TextLinks.Options build(); method public android.view.textclassifier.TextLinks.Options.Builder setLocaleList(android.os.LocaleList); } public static final class TextLinks.TextLink { ctor public TextLinks.TextLink(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Float>); method public float getConfidenceScore(java.lang.String); method public int getEnd(); method public java.lang.String getEntity(int); method public int getEntityCount(); method public int getStart(); } public final class TextSelection { method public float getConfidenceScore(java.lang.String); method public java.lang.String getEntity(int); core/java/android/view/textclassifier/TextClassifier.java +15 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,21 @@ public interface TextClassifier { return LinksInfo.NO_OP; } /** * Returns a {@link TextLinks} that may be applied to the text to annotate it with links * information. * * @param text the text to generate annotations for * @param options configuration for link generation. If null, defaults will be used. * * @throws IllegalArgumentException if text is null */ @WorkerThread default TextLinks generateLinks( @NonNull CharSequence text, @Nullable TextLinks.Options options) { return new TextLinks.Builder(text.toString()).build(); } /** * Logs a TextClassifier event. * Loading core/java/android/view/textclassifier/TextClassifierImpl.java +28 −2 Original line number Diff line number Diff line Loading @@ -208,6 +208,32 @@ final class TextClassifierImpl implements TextClassifier { return TextClassifier.NO_OP.getLinks(text, linkMask, defaultLocales); } @Override public TextLinks generateLinks( @NonNull CharSequence text, @Nullable TextLinks.Options options) { Preconditions.checkNotNull(text); final String textString = text.toString(); final TextLinks.Builder builder = new TextLinks.Builder(textString); try { LocaleList defaultLocales = options != null ? options.getDefaultLocales() : null; final SmartSelection smartSelection = getSmartSelection(defaultLocales); final SmartSelection.AnnotatedSpan[] annotations = smartSelection.annotate(textString); for (SmartSelection.AnnotatedSpan span : annotations) { final Map<String, Float> entityScores = new HashMap<>(); final SmartSelection.ClassificationResult[] results = span.getClassification(); for (int i = 0; i < results.length; i++) { entityScores.put(results[i].mCollection, results[i].mScore); } builder.addLink(new TextLinks.TextLink( textString, span.getStartIndex(), span.getEndIndex(), entityScores)); } } catch (Throwable t) { // Avoid throwing from this method. Log the error. Log.e(LOG_TAG, "Error getting links info.", t); } return builder.build(); } @Override public void logEvent(String source, String event) { if (LOG_TAG.equals(source)) { Loading Loading
api/current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -48969,6 +48969,7 @@ package android.view.textclassifier { public abstract interface TextClassifier { method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.view.textclassifier.TextClassification.Options); method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.os.LocaleList); method public default android.view.textclassifier.TextLinks generateLinks(java.lang.CharSequence, android.view.textclassifier.TextLinks.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.view.textclassifier.TextSelection.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.os.LocaleList); field public static final android.view.textclassifier.TextClassifier NO_OP; Loading @@ -48979,6 +48980,36 @@ package android.view.textclassifier { field public static final java.lang.String TYPE_URL = "url"; } public final class TextLinks { method public boolean apply(android.text.SpannableString, java.util.function.Function<android.view.textclassifier.TextLinks.TextLink, android.text.style.ClickableSpan>); method public java.util.Collection<android.view.textclassifier.TextLinks.TextLink> getLinks(); } public static final class TextLinks.Builder { ctor public TextLinks.Builder(java.lang.String); method public android.view.textclassifier.TextLinks.Builder addLink(android.view.textclassifier.TextLinks.TextLink); method public android.view.textclassifier.TextLinks build(); } public static final class TextLinks.Options { method public android.os.LocaleList getDefaultLocales(); } public static final class TextLinks.Options.Builder { ctor public TextLinks.Options.Builder(); method public android.view.textclassifier.TextLinks.Options build(); method public android.view.textclassifier.TextLinks.Options.Builder setLocaleList(android.os.LocaleList); } public static final class TextLinks.TextLink { ctor public TextLinks.TextLink(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Float>); method public float getConfidenceScore(java.lang.String); method public int getEnd(); method public java.lang.String getEntity(int); method public int getEntityCount(); method public int getStart(); } public final class TextSelection { method public float getConfidenceScore(java.lang.String); method public java.lang.String getEntity(int);
api/system-current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -52708,6 +52708,7 @@ package android.view.textclassifier { public abstract interface TextClassifier { method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.view.textclassifier.TextClassification.Options); method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.os.LocaleList); method public default android.view.textclassifier.TextLinks generateLinks(java.lang.CharSequence, android.view.textclassifier.TextLinks.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.view.textclassifier.TextSelection.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.os.LocaleList); field public static final android.view.textclassifier.TextClassifier NO_OP; Loading @@ -52718,6 +52719,36 @@ package android.view.textclassifier { field public static final java.lang.String TYPE_URL = "url"; } public final class TextLinks { method public boolean apply(android.text.SpannableString, java.util.function.Function<android.view.textclassifier.TextLinks.TextLink, android.text.style.ClickableSpan>); method public java.util.Collection<android.view.textclassifier.TextLinks.TextLink> getLinks(); } public static final class TextLinks.Builder { ctor public TextLinks.Builder(java.lang.String); method public android.view.textclassifier.TextLinks.Builder addLink(android.view.textclassifier.TextLinks.TextLink); method public android.view.textclassifier.TextLinks build(); } public static final class TextLinks.Options { method public android.os.LocaleList getDefaultLocales(); } public static final class TextLinks.Options.Builder { ctor public TextLinks.Options.Builder(); method public android.view.textclassifier.TextLinks.Options build(); method public android.view.textclassifier.TextLinks.Options.Builder setLocaleList(android.os.LocaleList); } public static final class TextLinks.TextLink { ctor public TextLinks.TextLink(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Float>); method public float getConfidenceScore(java.lang.String); method public int getEnd(); method public java.lang.String getEntity(int); method public int getEntityCount(); method public int getStart(); } public final class TextSelection { method public float getConfidenceScore(java.lang.String); method public java.lang.String getEntity(int);
api/test-current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -49606,6 +49606,7 @@ package android.view.textclassifier { public abstract interface TextClassifier { method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.view.textclassifier.TextClassification.Options); method public default android.view.textclassifier.TextClassification classifyText(java.lang.CharSequence, int, int, android.os.LocaleList); method public default android.view.textclassifier.TextLinks generateLinks(java.lang.CharSequence, android.view.textclassifier.TextLinks.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.view.textclassifier.TextSelection.Options); method public default android.view.textclassifier.TextSelection suggestSelection(java.lang.CharSequence, int, int, android.os.LocaleList); field public static final android.view.textclassifier.TextClassifier NO_OP; Loading @@ -49616,6 +49617,36 @@ package android.view.textclassifier { field public static final java.lang.String TYPE_URL = "url"; } public final class TextLinks { method public boolean apply(android.text.SpannableString, java.util.function.Function<android.view.textclassifier.TextLinks.TextLink, android.text.style.ClickableSpan>); method public java.util.Collection<android.view.textclassifier.TextLinks.TextLink> getLinks(); } public static final class TextLinks.Builder { ctor public TextLinks.Builder(java.lang.String); method public android.view.textclassifier.TextLinks.Builder addLink(android.view.textclassifier.TextLinks.TextLink); method public android.view.textclassifier.TextLinks build(); } public static final class TextLinks.Options { method public android.os.LocaleList getDefaultLocales(); } public static final class TextLinks.Options.Builder { ctor public TextLinks.Options.Builder(); method public android.view.textclassifier.TextLinks.Options build(); method public android.view.textclassifier.TextLinks.Options.Builder setLocaleList(android.os.LocaleList); } public static final class TextLinks.TextLink { ctor public TextLinks.TextLink(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Float>); method public float getConfidenceScore(java.lang.String); method public int getEnd(); method public java.lang.String getEntity(int); method public int getEntityCount(); method public int getStart(); } public final class TextSelection { method public float getConfidenceScore(java.lang.String); method public java.lang.String getEntity(int);
core/java/android/view/textclassifier/TextClassifier.java +15 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,21 @@ public interface TextClassifier { return LinksInfo.NO_OP; } /** * Returns a {@link TextLinks} that may be applied to the text to annotate it with links * information. * * @param text the text to generate annotations for * @param options configuration for link generation. If null, defaults will be used. * * @throws IllegalArgumentException if text is null */ @WorkerThread default TextLinks generateLinks( @NonNull CharSequence text, @Nullable TextLinks.Options options) { return new TextLinks.Builder(text.toString()).build(); } /** * Logs a TextClassifier event. * Loading
core/java/android/view/textclassifier/TextClassifierImpl.java +28 −2 Original line number Diff line number Diff line Loading @@ -208,6 +208,32 @@ final class TextClassifierImpl implements TextClassifier { return TextClassifier.NO_OP.getLinks(text, linkMask, defaultLocales); } @Override public TextLinks generateLinks( @NonNull CharSequence text, @Nullable TextLinks.Options options) { Preconditions.checkNotNull(text); final String textString = text.toString(); final TextLinks.Builder builder = new TextLinks.Builder(textString); try { LocaleList defaultLocales = options != null ? options.getDefaultLocales() : null; final SmartSelection smartSelection = getSmartSelection(defaultLocales); final SmartSelection.AnnotatedSpan[] annotations = smartSelection.annotate(textString); for (SmartSelection.AnnotatedSpan span : annotations) { final Map<String, Float> entityScores = new HashMap<>(); final SmartSelection.ClassificationResult[] results = span.getClassification(); for (int i = 0; i < results.length; i++) { entityScores.put(results[i].mCollection, results[i].mScore); } builder.addLink(new TextLinks.TextLink( textString, span.getStartIndex(), span.getEndIndex(), entityScores)); } } catch (Throwable t) { // Avoid throwing from this method. Log the error. Log.e(LOG_TAG, "Error getting links info.", t); } return builder.build(); } @Override public void logEvent(String source, String event) { if (LOG_TAG.equals(source)) { Loading