From df61b0328e21dd03ce6e0ef735e0fb32054659c9 Mon Sep 17 00:00:00 2001 From: Abodunrinwa Toki Date: Wed, 29 Mar 2017 22:41:57 +0100 Subject: TextClassificationManager API updates. - Changes getDefaultTextClassifier to getTextClassifier - Adds a setTextClassifier API Test: cts-tradefed run cts-dev -m CtsWidgetTestCases -t android.widget.cts.TextViewTest Bug: 35763797 Change-Id: I24e86272cf58bf6864505bee3b06978c1c0d46e5 --- api/current.txt | 3 ++- api/removed.txt | 8 ++++++ api/system-current.txt | 3 ++- api/system-removed.txt | 8 ++++++ api/test-current.txt | 3 ++- api/test-removed.txt | 8 ++++++ .../textclassifier/TextClassificationManager.java | 30 +++++++++++++++++----- core/java/android/widget/TextView.java | 2 +- 8 files changed, 55 insertions(+), 10 deletions(-) diff --git a/api/current.txt b/api/current.txt index 6234168a3a99..482df8b32a87 100644 --- a/api/current.txt +++ b/api/current.txt @@ -48108,7 +48108,8 @@ package android.view.textclassifier { public final class TextClassificationManager { method public java.util.List detectLanguages(java.lang.CharSequence); - method public android.view.textclassifier.TextClassifier getDefaultTextClassifier(); + method public android.view.textclassifier.TextClassifier getTextClassifier(); + method public void setTextClassifier(android.view.textclassifier.TextClassifier); } public final class TextClassificationResult { diff --git a/api/removed.txt b/api/removed.txt index 75da976d1b64..af429b85eb9b 100644 --- a/api/removed.txt +++ b/api/removed.txt @@ -380,6 +380,14 @@ package android.view { } +package android.view.textclassifier { + + public final class TextClassificationManager { + method public android.view.textclassifier.TextClassifier getDefaultTextClassifier(); + } + +} + package android.webkit { public class WebViewClient { diff --git a/api/system-current.txt b/api/system-current.txt index 6a6b279d8f32..ba13bbeffbb0 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -51566,7 +51566,8 @@ package android.view.textclassifier { public final class TextClassificationManager { method public java.util.List detectLanguages(java.lang.CharSequence); - method public android.view.textclassifier.TextClassifier getDefaultTextClassifier(); + method public android.view.textclassifier.TextClassifier getTextClassifier(); + method public void setTextClassifier(android.view.textclassifier.TextClassifier); } public final class TextClassificationResult { diff --git a/api/system-removed.txt b/api/system-removed.txt index 3aa93982fc94..272ae772b2ee 100644 --- a/api/system-removed.txt +++ b/api/system-removed.txt @@ -374,6 +374,14 @@ package android.view { } +package android.view.textclassifier { + + public final class TextClassificationManager { + method public android.view.textclassifier.TextClassifier getDefaultTextClassifier(); + } + +} + package android.webkit { public class WebViewClient { diff --git a/api/test-current.txt b/api/test-current.txt index 1f342e6b9409..9d616bd978be 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -48491,7 +48491,8 @@ package android.view.textclassifier { public final class TextClassificationManager { method public java.util.List detectLanguages(java.lang.CharSequence); - method public android.view.textclassifier.TextClassifier getDefaultTextClassifier(); + method public android.view.textclassifier.TextClassifier getTextClassifier(); + method public void setTextClassifier(android.view.textclassifier.TextClassifier); } public final class TextClassificationResult { diff --git a/api/test-removed.txt b/api/test-removed.txt index 75da976d1b64..af429b85eb9b 100644 --- a/api/test-removed.txt +++ b/api/test-removed.txt @@ -380,6 +380,14 @@ package android.view { } +package android.view.textclassifier { + + public final class TextClassificationManager { + method public android.view.textclassifier.TextClassifier getDefaultTextClassifier(); + } + +} + package android.webkit { public class WebViewClient { diff --git a/core/java/android/view/textclassifier/TextClassificationManager.java b/core/java/android/view/textclassifier/TextClassificationManager.java index 548796584dc8..0b6021ac7d03 100644 --- a/core/java/android/view/textclassifier/TextClassificationManager.java +++ b/core/java/android/view/textclassifier/TextClassificationManager.java @@ -17,6 +17,7 @@ package android.view.textclassifier; import android.annotation.NonNull; +import android.annotation.Nullable; import android.content.Context; import android.os.ParcelFileDescriptor; import android.util.Log; @@ -45,7 +46,7 @@ public final class TextClassificationManager { private final Context mContext; private ParcelFileDescriptor mLangIdFd; - private TextClassifier mDefault; + private TextClassifier mTextClassifier; private LangId mLangId; /** @hide */ @@ -53,15 +54,32 @@ public final class TextClassificationManager { mContext = Preconditions.checkNotNull(context); } + // TODO: Remove. + /** @removed */ + public TextClassifier getDefaultTextClassifier() { + return getTextClassifier(); + } + /** - * Returns the default text classifier. + * Returns the text classifier. */ - public TextClassifier getDefaultTextClassifier() { + public TextClassifier getTextClassifier() { synchronized (mTextClassifierLock) { - if (mDefault == null) { - mDefault = new TextClassifierImpl(mContext); + if (mTextClassifier == null) { + mTextClassifier = new TextClassifierImpl(mContext); } - return mDefault; + return mTextClassifier; + } + } + + /** + * Sets the text classifier. + * Set to null to use the system default text classifier. + * Set to {@link TextClassifier#NO_OP} to disable text classifier features. + */ + public void setTextClassifier(@Nullable TextClassifier textClassifier) { + synchronized (mTextClassifierLock) { + mTextClassifier = textClassifier; } } diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index bc7c79d2e701..056fa0662d07 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -10769,7 +10769,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener TextClassificationManager tcm = mContext.getSystemService(TextClassificationManager.class); if (tcm != null) { - mTextClassifier = tcm.getDefaultTextClassifier(); + mTextClassifier = tcm.getTextClassifier(); } else { mTextClassifier = TextClassifier.NO_OP; } -- cgit v1.2.3-59-g8ed1b