Loading core/java/android/service/textclassifier/TextClassifierService.java +3 −62 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,6 @@ package android.service.textclassifier; package android.service.textclassifier; import android.Manifest; import android.Manifest; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.SystemApi; Loading Loading @@ -98,8 +97,7 @@ public abstract class TextClassifierService extends Service { Preconditions.checkNotNull(request); Preconditions.checkNotNull(request); Preconditions.checkNotNull(callback); Preconditions.checkNotNull(callback); TextClassifierService.this.onSuggestSelection( TextClassifierService.this.onSuggestSelection( request.getText(), request.getStartIndex(), request.getEndIndex(), sessionId, request, mCancellationSignal, TextSelection.Options.from(sessionId, request), mCancellationSignal, new Callback<TextSelection>() { new Callback<TextSelection>() { @Override @Override public void onSuccess(TextSelection result) { public void onSuccess(TextSelection result) { Loading Loading @@ -132,8 +130,7 @@ public abstract class TextClassifierService extends Service { Preconditions.checkNotNull(request); Preconditions.checkNotNull(request); Preconditions.checkNotNull(callback); Preconditions.checkNotNull(callback); TextClassifierService.this.onClassifyText( TextClassifierService.this.onClassifyText( request.getText(), request.getStartIndex(), request.getEndIndex(), sessionId, request, mCancellationSignal, TextClassification.Options.from(sessionId, request), mCancellationSignal, new Callback<TextClassification>() { new Callback<TextClassification>() { @Override @Override public void onSuccess(TextClassification result) { public void onSuccess(TextClassification result) { Loading Loading @@ -164,7 +161,7 @@ public abstract class TextClassifierService extends Service { Preconditions.checkNotNull(request); Preconditions.checkNotNull(request); Preconditions.checkNotNull(callback); Preconditions.checkNotNull(callback); TextClassifierService.this.onGenerateLinks( TextClassifierService.this.onGenerateLinks( request.getText(), TextLinks.Options.from(sessionId, request), sessionId, request, mCancellationSignal, mCancellationSignal, new Callback<TextLinks>() { new Callback<TextLinks>() { @Override @Override Loading Loading @@ -238,25 +235,6 @@ public abstract class TextClassifierService extends Service { @NonNull CancellationSignal cancellationSignal, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextSelection> callback); @NonNull Callback<TextSelection> callback); // TODO: Remove once apps can build against the latest sdk. /** @hide */ public void onSuggestSelection( @NonNull CharSequence text, @IntRange(from = 0) int selectionStartIndex, @IntRange(from = 0) int selectionEndIndex, @Nullable TextSelection.Options options, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextSelection> callback) { final TextClassificationSessionId sessionId = options.getSessionId(); final TextSelection.Request request = options.getRequest() != null ? options.getRequest() : new TextSelection.Request.Builder( text, selectionStartIndex, selectionEndIndex) .setDefaultLocales(options.getDefaultLocales()) .build(); onSuggestSelection(sessionId, request, cancellationSignal, callback); } /** /** * Classifies the specified text and returns a {@link TextClassification} object that can be * Classifies the specified text and returns a {@link TextClassification} object that can be * used to generate a widget for handling the classified text. * used to generate a widget for handling the classified text. Loading @@ -272,26 +250,6 @@ public abstract class TextClassifierService extends Service { @NonNull CancellationSignal cancellationSignal, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextClassification> callback); @NonNull Callback<TextClassification> callback); // TODO: Remove once apps can build against the latest sdk. /** @hide */ public void onClassifyText( @NonNull CharSequence text, @IntRange(from = 0) int startIndex, @IntRange(from = 0) int endIndex, @Nullable TextClassification.Options options, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextClassification> callback) { final TextClassificationSessionId sessionId = options.getSessionId(); final TextClassification.Request request = options.getRequest() != null ? options.getRequest() : new TextClassification.Request.Builder( text, startIndex, endIndex) .setDefaultLocales(options.getDefaultLocales()) .setReferenceTime(options.getReferenceTime()) .build(); onClassifyText(sessionId, request, cancellationSignal, callback); } /** /** * Generates and returns a {@link TextLinks} that may be applied to the text to annotate it with * Generates and returns a {@link TextLinks} that may be applied to the text to annotate it with * links information. * links information. Loading @@ -307,23 +265,6 @@ public abstract class TextClassifierService extends Service { @NonNull CancellationSignal cancellationSignal, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextLinks> callback); @NonNull Callback<TextLinks> callback); // TODO: Remove once apps can build against the latest sdk. /** @hide */ public void onGenerateLinks( @NonNull CharSequence text, @Nullable TextLinks.Options options, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextLinks> callback) { final TextClassificationSessionId sessionId = options.getSessionId(); final TextLinks.Request request = options.getRequest() != null ? options.getRequest() : new TextLinks.Request.Builder(text) .setDefaultLocales(options.getDefaultLocales()) .setEntityConfig(options.getEntityConfig()) .build(); onGenerateLinks(sessionId, request, cancellationSignal, callback); } /** /** * Writes the selection event. * Writes the selection event. * This is called when a selection event occurs. e.g. user changed selection; or smart selection * This is called when a selection event occurs. e.g. user changed selection; or smart selection Loading core/java/android/view/textclassifier/TextClassification.java +0 −63 Original line number Original line Diff line number Diff line Loading @@ -776,67 +776,4 @@ public final class TextClassification implements Parcelable { } } return null; return null; } } // TODO: Remove once apps can build against the latest sdk. /** * Optional input parameters for generating TextClassification. * @hide */ public static final class Options { @Nullable private final TextClassificationSessionId mSessionId; @Nullable private final Request mRequest; @Nullable private LocaleList mDefaultLocales; @Nullable private ZonedDateTime mReferenceTime; public Options() { this(null, null); } private Options( @Nullable TextClassificationSessionId sessionId, @Nullable Request request) { mSessionId = sessionId; mRequest = request; } /** Helper to create Options from a Request. */ public static Options from(TextClassificationSessionId sessionId, Request request) { final Options options = new Options(sessionId, request); options.setDefaultLocales(request.getDefaultLocales()); options.setReferenceTime(request.getReferenceTime()); return options; } /** @param defaultLocales ordered list of locale preferences. */ public Options setDefaultLocales(@Nullable LocaleList defaultLocales) { mDefaultLocales = defaultLocales; return this; } /** @param referenceTime refrence time used for interpreting relatives dates */ public Options setReferenceTime(@Nullable ZonedDateTime referenceTime) { mReferenceTime = referenceTime; return this; } @Nullable public LocaleList getDefaultLocales() { return mDefaultLocales; } @Nullable public ZonedDateTime getReferenceTime() { return mReferenceTime; } @Nullable public Request getRequest() { return mRequest; } @Nullable public TextClassificationSessionId getSessionId() { return mSessionId; } } } } core/java/android/view/textclassifier/TextLinks.java +0 −124 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ import android.annotation.FloatRange; import android.annotation.IntDef; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.Context; import android.os.LocaleList; import android.os.LocaleList; import android.os.Parcel; import android.os.Parcel; Loading @@ -29,8 +28,6 @@ import android.text.Spannable; import android.text.method.MovementMethod; import android.text.method.MovementMethod; import android.text.style.ClickableSpan; import android.text.style.ClickableSpan; import android.text.style.URLSpan; import android.text.style.URLSpan; import android.text.util.Linkify; import android.text.util.Linkify.LinkifyMask; import android.view.View; import android.view.View; import android.view.textclassifier.TextClassifier.EntityType; import android.view.textclassifier.TextClassifier.EntityType; import android.widget.TextView; import android.widget.TextView; Loading Loading @@ -634,125 +631,4 @@ public final class TextLinks implements Parcelable { return new TextLinks(mFullText, mLinks); return new TextLinks(mFullText, mLinks); } } } } // TODO: Remove once apps can build against the latest sdk. /** * Optional input parameters for generating TextLinks. * @hide */ public static final class Options { @Nullable private final TextClassificationSessionId mSessionId; @Nullable private final Request mRequest; @Nullable private LocaleList mDefaultLocales; @Nullable private TextClassifier.EntityConfig mEntityConfig; private boolean mLegacyFallback; private @ApplyStrategy int mApplyStrategy; private Function<TextLink, TextLinkSpan> mSpanFactory; private String mCallingPackageName; @UnsupportedAppUsage public Options() { this(null, null); } private Options( @Nullable TextClassificationSessionId sessionId, @Nullable Request request) { mSessionId = sessionId; mRequest = request; } /** Helper to create Options from a Request. */ public static Options from(TextClassificationSessionId sessionId, Request request) { final Options options = new Options(sessionId, request); options.setDefaultLocales(request.getDefaultLocales()); options.setEntityConfig(request.getEntityConfig()); return options; } /** Returns a new options object based on the specified link mask. */ public static Options fromLinkMask(@LinkifyMask int mask) { final List<String> entitiesToFind = new ArrayList<>(); if ((mask & Linkify.WEB_URLS) != 0) { entitiesToFind.add(TextClassifier.TYPE_URL); } if ((mask & Linkify.EMAIL_ADDRESSES) != 0) { entitiesToFind.add(TextClassifier.TYPE_EMAIL); } if ((mask & Linkify.PHONE_NUMBERS) != 0) { entitiesToFind.add(TextClassifier.TYPE_PHONE); } if ((mask & Linkify.MAP_ADDRESSES) != 0) { entitiesToFind.add(TextClassifier.TYPE_ADDRESS); } return new Options().setEntityConfig( TextClassifier.EntityConfig.createWithEntityList(entitiesToFind)); } /** @param defaultLocales ordered list of locale preferences. */ public Options setDefaultLocales(@Nullable LocaleList defaultLocales) { mDefaultLocales = defaultLocales; return this; } /** @param entityConfig definition of which entity types to look for. */ public Options setEntityConfig(@Nullable TextClassifier.EntityConfig entityConfig) { mEntityConfig = entityConfig; return this; } /** @param applyStrategy strategy to use when resolving conflicts. */ public Options setApplyStrategy(@ApplyStrategy int applyStrategy) { checkValidApplyStrategy(applyStrategy); mApplyStrategy = applyStrategy; return this; } /** @param spanFactory factory for converting TextLink to TextLinkSpan. */ public Options setSpanFactory(@Nullable Function<TextLink, TextLinkSpan> spanFactory) { mSpanFactory = spanFactory; return this; } @Nullable public LocaleList getDefaultLocales() { return mDefaultLocales; } @Nullable public TextClassifier.EntityConfig getEntityConfig() { return mEntityConfig; } @ApplyStrategy public int getApplyStrategy() { return mApplyStrategy; } @Nullable public Function<TextLink, TextLinkSpan> getSpanFactory() { return mSpanFactory; } @Nullable public Request getRequest() { return mRequest; } @Nullable public TextClassificationSessionId getSessionId() { return mSessionId; } private static void checkValidApplyStrategy(int applyStrategy) { if (applyStrategy != APPLY_STRATEGY_IGNORE && applyStrategy != APPLY_STRATEGY_REPLACE) { throw new IllegalArgumentException( "Invalid apply strategy. See TextLinks.ApplyStrategy for options."); } } } } } core/java/android/view/textclassifier/TextSelection.java +0 −52 Original line number Original line Diff line number Diff line Loading @@ -375,56 +375,4 @@ public final class TextSelection implements Parcelable { mEntityConfidence = EntityConfidence.CREATOR.createFromParcel(in); mEntityConfidence = EntityConfidence.CREATOR.createFromParcel(in); mId = in.readString(); mId = in.readString(); } } // TODO: Remove once apps can build against the latest sdk. /** * Optional input parameters for generating TextSelection. * @hide */ public static final class Options { @Nullable private final TextClassificationSessionId mSessionId; @Nullable private final Request mRequest; @Nullable private LocaleList mDefaultLocales; private boolean mDarkLaunchAllowed; public Options() { this(null, null); } private Options( @Nullable TextClassificationSessionId sessionId, @Nullable Request request) { mSessionId = sessionId; mRequest = request; } /** Helper to create Options from a Request. */ public static Options from(TextClassificationSessionId sessionId, Request request) { final Options options = new Options(sessionId, request); options.setDefaultLocales(request.getDefaultLocales()); return options; } /** @param defaultLocales ordered list of locale preferences. */ public Options setDefaultLocales(@Nullable LocaleList defaultLocales) { mDefaultLocales = defaultLocales; return this; } @Nullable public LocaleList getDefaultLocales() { return mDefaultLocales; } @Nullable public Request getRequest() { return mRequest; } @Nullable public TextClassificationSessionId getSessionId() { return mSessionId; } } } } Loading
core/java/android/service/textclassifier/TextClassifierService.java +3 −62 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,6 @@ package android.service.textclassifier; package android.service.textclassifier; import android.Manifest; import android.Manifest; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.SystemApi; Loading Loading @@ -98,8 +97,7 @@ public abstract class TextClassifierService extends Service { Preconditions.checkNotNull(request); Preconditions.checkNotNull(request); Preconditions.checkNotNull(callback); Preconditions.checkNotNull(callback); TextClassifierService.this.onSuggestSelection( TextClassifierService.this.onSuggestSelection( request.getText(), request.getStartIndex(), request.getEndIndex(), sessionId, request, mCancellationSignal, TextSelection.Options.from(sessionId, request), mCancellationSignal, new Callback<TextSelection>() { new Callback<TextSelection>() { @Override @Override public void onSuccess(TextSelection result) { public void onSuccess(TextSelection result) { Loading Loading @@ -132,8 +130,7 @@ public abstract class TextClassifierService extends Service { Preconditions.checkNotNull(request); Preconditions.checkNotNull(request); Preconditions.checkNotNull(callback); Preconditions.checkNotNull(callback); TextClassifierService.this.onClassifyText( TextClassifierService.this.onClassifyText( request.getText(), request.getStartIndex(), request.getEndIndex(), sessionId, request, mCancellationSignal, TextClassification.Options.from(sessionId, request), mCancellationSignal, new Callback<TextClassification>() { new Callback<TextClassification>() { @Override @Override public void onSuccess(TextClassification result) { public void onSuccess(TextClassification result) { Loading Loading @@ -164,7 +161,7 @@ public abstract class TextClassifierService extends Service { Preconditions.checkNotNull(request); Preconditions.checkNotNull(request); Preconditions.checkNotNull(callback); Preconditions.checkNotNull(callback); TextClassifierService.this.onGenerateLinks( TextClassifierService.this.onGenerateLinks( request.getText(), TextLinks.Options.from(sessionId, request), sessionId, request, mCancellationSignal, mCancellationSignal, new Callback<TextLinks>() { new Callback<TextLinks>() { @Override @Override Loading Loading @@ -238,25 +235,6 @@ public abstract class TextClassifierService extends Service { @NonNull CancellationSignal cancellationSignal, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextSelection> callback); @NonNull Callback<TextSelection> callback); // TODO: Remove once apps can build against the latest sdk. /** @hide */ public void onSuggestSelection( @NonNull CharSequence text, @IntRange(from = 0) int selectionStartIndex, @IntRange(from = 0) int selectionEndIndex, @Nullable TextSelection.Options options, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextSelection> callback) { final TextClassificationSessionId sessionId = options.getSessionId(); final TextSelection.Request request = options.getRequest() != null ? options.getRequest() : new TextSelection.Request.Builder( text, selectionStartIndex, selectionEndIndex) .setDefaultLocales(options.getDefaultLocales()) .build(); onSuggestSelection(sessionId, request, cancellationSignal, callback); } /** /** * Classifies the specified text and returns a {@link TextClassification} object that can be * Classifies the specified text and returns a {@link TextClassification} object that can be * used to generate a widget for handling the classified text. * used to generate a widget for handling the classified text. Loading @@ -272,26 +250,6 @@ public abstract class TextClassifierService extends Service { @NonNull CancellationSignal cancellationSignal, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextClassification> callback); @NonNull Callback<TextClassification> callback); // TODO: Remove once apps can build against the latest sdk. /** @hide */ public void onClassifyText( @NonNull CharSequence text, @IntRange(from = 0) int startIndex, @IntRange(from = 0) int endIndex, @Nullable TextClassification.Options options, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextClassification> callback) { final TextClassificationSessionId sessionId = options.getSessionId(); final TextClassification.Request request = options.getRequest() != null ? options.getRequest() : new TextClassification.Request.Builder( text, startIndex, endIndex) .setDefaultLocales(options.getDefaultLocales()) .setReferenceTime(options.getReferenceTime()) .build(); onClassifyText(sessionId, request, cancellationSignal, callback); } /** /** * Generates and returns a {@link TextLinks} that may be applied to the text to annotate it with * Generates and returns a {@link TextLinks} that may be applied to the text to annotate it with * links information. * links information. Loading @@ -307,23 +265,6 @@ public abstract class TextClassifierService extends Service { @NonNull CancellationSignal cancellationSignal, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextLinks> callback); @NonNull Callback<TextLinks> callback); // TODO: Remove once apps can build against the latest sdk. /** @hide */ public void onGenerateLinks( @NonNull CharSequence text, @Nullable TextLinks.Options options, @NonNull CancellationSignal cancellationSignal, @NonNull Callback<TextLinks> callback) { final TextClassificationSessionId sessionId = options.getSessionId(); final TextLinks.Request request = options.getRequest() != null ? options.getRequest() : new TextLinks.Request.Builder(text) .setDefaultLocales(options.getDefaultLocales()) .setEntityConfig(options.getEntityConfig()) .build(); onGenerateLinks(sessionId, request, cancellationSignal, callback); } /** /** * Writes the selection event. * Writes the selection event. * This is called when a selection event occurs. e.g. user changed selection; or smart selection * This is called when a selection event occurs. e.g. user changed selection; or smart selection Loading
core/java/android/view/textclassifier/TextClassification.java +0 −63 Original line number Original line Diff line number Diff line Loading @@ -776,67 +776,4 @@ public final class TextClassification implements Parcelable { } } return null; return null; } } // TODO: Remove once apps can build against the latest sdk. /** * Optional input parameters for generating TextClassification. * @hide */ public static final class Options { @Nullable private final TextClassificationSessionId mSessionId; @Nullable private final Request mRequest; @Nullable private LocaleList mDefaultLocales; @Nullable private ZonedDateTime mReferenceTime; public Options() { this(null, null); } private Options( @Nullable TextClassificationSessionId sessionId, @Nullable Request request) { mSessionId = sessionId; mRequest = request; } /** Helper to create Options from a Request. */ public static Options from(TextClassificationSessionId sessionId, Request request) { final Options options = new Options(sessionId, request); options.setDefaultLocales(request.getDefaultLocales()); options.setReferenceTime(request.getReferenceTime()); return options; } /** @param defaultLocales ordered list of locale preferences. */ public Options setDefaultLocales(@Nullable LocaleList defaultLocales) { mDefaultLocales = defaultLocales; return this; } /** @param referenceTime refrence time used for interpreting relatives dates */ public Options setReferenceTime(@Nullable ZonedDateTime referenceTime) { mReferenceTime = referenceTime; return this; } @Nullable public LocaleList getDefaultLocales() { return mDefaultLocales; } @Nullable public ZonedDateTime getReferenceTime() { return mReferenceTime; } @Nullable public Request getRequest() { return mRequest; } @Nullable public TextClassificationSessionId getSessionId() { return mSessionId; } } } }
core/java/android/view/textclassifier/TextLinks.java +0 −124 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ import android.annotation.FloatRange; import android.annotation.IntDef; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.Context; import android.os.LocaleList; import android.os.LocaleList; import android.os.Parcel; import android.os.Parcel; Loading @@ -29,8 +28,6 @@ import android.text.Spannable; import android.text.method.MovementMethod; import android.text.method.MovementMethod; import android.text.style.ClickableSpan; import android.text.style.ClickableSpan; import android.text.style.URLSpan; import android.text.style.URLSpan; import android.text.util.Linkify; import android.text.util.Linkify.LinkifyMask; import android.view.View; import android.view.View; import android.view.textclassifier.TextClassifier.EntityType; import android.view.textclassifier.TextClassifier.EntityType; import android.widget.TextView; import android.widget.TextView; Loading Loading @@ -634,125 +631,4 @@ public final class TextLinks implements Parcelable { return new TextLinks(mFullText, mLinks); return new TextLinks(mFullText, mLinks); } } } } // TODO: Remove once apps can build against the latest sdk. /** * Optional input parameters for generating TextLinks. * @hide */ public static final class Options { @Nullable private final TextClassificationSessionId mSessionId; @Nullable private final Request mRequest; @Nullable private LocaleList mDefaultLocales; @Nullable private TextClassifier.EntityConfig mEntityConfig; private boolean mLegacyFallback; private @ApplyStrategy int mApplyStrategy; private Function<TextLink, TextLinkSpan> mSpanFactory; private String mCallingPackageName; @UnsupportedAppUsage public Options() { this(null, null); } private Options( @Nullable TextClassificationSessionId sessionId, @Nullable Request request) { mSessionId = sessionId; mRequest = request; } /** Helper to create Options from a Request. */ public static Options from(TextClassificationSessionId sessionId, Request request) { final Options options = new Options(sessionId, request); options.setDefaultLocales(request.getDefaultLocales()); options.setEntityConfig(request.getEntityConfig()); return options; } /** Returns a new options object based on the specified link mask. */ public static Options fromLinkMask(@LinkifyMask int mask) { final List<String> entitiesToFind = new ArrayList<>(); if ((mask & Linkify.WEB_URLS) != 0) { entitiesToFind.add(TextClassifier.TYPE_URL); } if ((mask & Linkify.EMAIL_ADDRESSES) != 0) { entitiesToFind.add(TextClassifier.TYPE_EMAIL); } if ((mask & Linkify.PHONE_NUMBERS) != 0) { entitiesToFind.add(TextClassifier.TYPE_PHONE); } if ((mask & Linkify.MAP_ADDRESSES) != 0) { entitiesToFind.add(TextClassifier.TYPE_ADDRESS); } return new Options().setEntityConfig( TextClassifier.EntityConfig.createWithEntityList(entitiesToFind)); } /** @param defaultLocales ordered list of locale preferences. */ public Options setDefaultLocales(@Nullable LocaleList defaultLocales) { mDefaultLocales = defaultLocales; return this; } /** @param entityConfig definition of which entity types to look for. */ public Options setEntityConfig(@Nullable TextClassifier.EntityConfig entityConfig) { mEntityConfig = entityConfig; return this; } /** @param applyStrategy strategy to use when resolving conflicts. */ public Options setApplyStrategy(@ApplyStrategy int applyStrategy) { checkValidApplyStrategy(applyStrategy); mApplyStrategy = applyStrategy; return this; } /** @param spanFactory factory for converting TextLink to TextLinkSpan. */ public Options setSpanFactory(@Nullable Function<TextLink, TextLinkSpan> spanFactory) { mSpanFactory = spanFactory; return this; } @Nullable public LocaleList getDefaultLocales() { return mDefaultLocales; } @Nullable public TextClassifier.EntityConfig getEntityConfig() { return mEntityConfig; } @ApplyStrategy public int getApplyStrategy() { return mApplyStrategy; } @Nullable public Function<TextLink, TextLinkSpan> getSpanFactory() { return mSpanFactory; } @Nullable public Request getRequest() { return mRequest; } @Nullable public TextClassificationSessionId getSessionId() { return mSessionId; } private static void checkValidApplyStrategy(int applyStrategy) { if (applyStrategy != APPLY_STRATEGY_IGNORE && applyStrategy != APPLY_STRATEGY_REPLACE) { throw new IllegalArgumentException( "Invalid apply strategy. See TextLinks.ApplyStrategy for options."); } } } } }
core/java/android/view/textclassifier/TextSelection.java +0 −52 Original line number Original line Diff line number Diff line Loading @@ -375,56 +375,4 @@ public final class TextSelection implements Parcelable { mEntityConfidence = EntityConfidence.CREATOR.createFromParcel(in); mEntityConfidence = EntityConfidence.CREATOR.createFromParcel(in); mId = in.readString(); mId = in.readString(); } } // TODO: Remove once apps can build against the latest sdk. /** * Optional input parameters for generating TextSelection. * @hide */ public static final class Options { @Nullable private final TextClassificationSessionId mSessionId; @Nullable private final Request mRequest; @Nullable private LocaleList mDefaultLocales; private boolean mDarkLaunchAllowed; public Options() { this(null, null); } private Options( @Nullable TextClassificationSessionId sessionId, @Nullable Request request) { mSessionId = sessionId; mRequest = request; } /** Helper to create Options from a Request. */ public static Options from(TextClassificationSessionId sessionId, Request request) { final Options options = new Options(sessionId, request); options.setDefaultLocales(request.getDefaultLocales()); return options; } /** @param defaultLocales ordered list of locale preferences. */ public Options setDefaultLocales(@Nullable LocaleList defaultLocales) { mDefaultLocales = defaultLocales; return this; } @Nullable public LocaleList getDefaultLocales() { return mDefaultLocales; } @Nullable public Request getRequest() { return mRequest; } @Nullable public TextClassificationSessionId getSessionId() { return mSessionId; } } } }