diff options
| author | Abodunrinwa Toki <toki@google.com> | 2018-04-02 22:20:45 +0000 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2018-04-02 22:20:45 +0000 |
| commit | dd5bc6f1274b0cb6ea422a50a1a0579f881a261f (patch) | |
| tree | 689c568aa3143b1cf6ea51fbfc11c50fd42c087e /core/java/android/widget/TextView.java | |
| parent | 02fe46286057d34d23f165502a7189bbc408f96a (diff) | |
| parent | 008a5d01af57886f0f96bd2aa903c81c2fca2bfc (diff) | |
Merge "Merge "TextClassifier API updates." into pi-dev am: bf9dfb16be" into pi-dev-plus-aosp
am: 008a5d01af
Change-Id: I4efb43ab74ac98244c6f4145855a75480e2c85b0
Diffstat (limited to 'core/java/android/widget/TextView.java')
| -rw-r--r-- | core/java/android/widget/TextView.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 4b20570a34c9..a120e9b15498 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -36,6 +36,7 @@ import android.annotation.StringRes; import android.annotation.StyleRes; import android.annotation.XmlRes; import android.app.Activity; +import android.app.PendingIntent; import android.app.assist.AssistStructure; import android.content.ClipData; import android.content.ClipDescription; @@ -11557,6 +11558,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener /** * Returns a session-aware text classifier. + * This method creates one if none already exists or the current one is destroyed. */ @NonNull TextClassifier getTextClassificationSession() { @@ -11639,15 +11641,20 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener final int start = spanned.getSpanStart(clickedSpan); final int end = spanned.getSpanEnd(clickedSpan); if (start >= 0 && end <= mText.length() && start < end) { - final TextClassification.Options options = new TextClassification.Options() - .setDefaultLocales(getTextLocales()); + final TextClassification.Request request = new TextClassification.Request.Builder( + mText, start, end) + .setDefaultLocales(getTextLocales()) + .build(); final Supplier<TextClassification> supplier = () -> - getTextClassifier().classifyText(mText, start, end, options); + getTextClassifier().classifyText(request); final Consumer<TextClassification> consumer = classification -> { if (classification != null) { - final Intent intent = classification.getIntent(); - if (intent != null) { - TextClassification.fireIntent(mContext, intent); + if (!classification.getActions().isEmpty()) { + try { + classification.getActions().get(0).getActionIntent().send(); + } catch (PendingIntent.CanceledException e) { + Log.e(LOG_TAG, "Error sending PendingIntent", e); + } } else { Log.d(LOG_TAG, "No link action to perform"); } |
