diff options
| author | Tima Vaisburd <timav@google.com> | 2017-03-28 11:35:58 -0700 |
|---|---|---|
| committer | Tima Vaisburd <timav@google.com> | 2017-03-28 14:24:16 -0700 |
| commit | cf49a23b3c3028776a238ac10331e7bc64f94842 (patch) | |
| tree | 375377456b71a592076f6cd627b81fb659894a8b /core/java | |
| parent | 881a623e3522e3e4f0905b606ca5c77cf899b21c (diff) | |
TextClassifier: add API to WebView
Delegate the actions to WebViewProvider, by default they are no-ops.
Bug: 34780392
Test: Existing tests should be enough
Change-Id: Iefb1045b44a6e8cee5d1cc2c9b194b392d33f36d
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/webkit/WebView.java | 19 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewProvider.java | 9 |
2 files changed, 28 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index c2b4138b90db..bc491230aa60 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -18,6 +18,7 @@ package android.webkit; import android.annotation.IntDef; import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.Widget; import android.content.Context; @@ -58,6 +59,7 @@ import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeProvider; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; +import android.view.textclassifier.TextClassifier; import android.widget.AbsoluteLayout; import java.io.BufferedWriter; @@ -2249,6 +2251,23 @@ public class WebView extends AbsoluteLayout public boolean getRendererPriorityWaivedWhenNotVisible() { return mProvider.getRendererPriorityWaivedWhenNotVisible(); } + + /** + * Sets the {@link TextClassifier} for this WebView. + */ + public void setTextClassifier(@Nullable TextClassifier textClassifier) { + mProvider.setTextClassifier(textClassifier); + } + + /** + * Returns the {@link TextClassifier} used by this WebView. + * If no TextClassifier has been set, this WebView uses the default set by the system. + */ + @NonNull + public TextClassifier getTextClassifier() { + return mProvider.getTextClassifier(); + } + //------------------------------------------------------------------------- // Interface for WebView providers //------------------------------------------------------------------------- diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java index 5724a9b24052..aa1ffa25931d 100644 --- a/core/java/android/webkit/WebViewProvider.java +++ b/core/java/android/webkit/WebViewProvider.java @@ -16,6 +16,8 @@ package android.webkit; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.SystemApi; import android.content.res.Configuration; import android.content.Intent; @@ -41,6 +43,7 @@ import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeProvider; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; +import android.view.textclassifier.TextClassifier; import android.webkit.WebView.HitTestResult; import android.webkit.WebView.PictureListener; import android.webkit.WebView.VisualStateCallback; @@ -275,6 +278,12 @@ public interface WebViewProvider { public boolean getRendererPriorityWaivedWhenNotVisible(); + @SuppressWarnings("unused") + public default void setTextClassifier(@Nullable TextClassifier textClassifier) {} + + @NonNull + public default TextClassifier getTextClassifier() { return TextClassifier.NO_OP; } + //------------------------------------------------------------------------- // Provider internal methods //------------------------------------------------------------------------- |
