summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/WebView.java
diff options
context:
space:
mode:
authorJoanne Chung <joannechung@google.com>2021-03-24 22:24:37 +0800
committerJoanne Chung <joannechung@google.com>2021-03-29 20:36:40 +0800
commite1b23cd423453013e65f3bec29d7419fc7bbf62b (patch)
tree610f0fef41d248f4dfb2ec33c3fc9bd19882bfa1 /core/java/android/webkit/WebView.java
parent948bd86481993faa0aefa3f276c9f5d8180e7b07 (diff)
Add translation APIs for virtual views.
Bug: 178046780 Test: manual Test: atest CtsTranslationTestCases CTS-Coverage-Bug: 177960696 Change-Id: I99caed0d42b3a164a25c2707eba7057c42c19140
Diffstat (limited to 'core/java/android/webkit/WebView.java')
-rw-r--r--core/java/android/webkit/WebView.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 487d13e40bf3..6d4fa658b3e9 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -45,6 +45,7 @@ import android.os.StrictMode;
import android.print.PrintDocumentAdapter;
import android.util.AttributeSet;
import android.util.Log;
+import android.util.LongSparseArray;
import android.util.SparseArray;
import android.view.DragEvent;
import android.view.KeyEvent;
@@ -64,6 +65,9 @@ import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.view.inspector.InspectableProperty;
import android.view.textclassifier.TextClassifier;
+import android.view.translation.TranslationSpec.DataFormat;
+import android.view.translation.ViewTranslationRequest;
+import android.view.translation.ViewTranslationResponse;
import android.widget.AbsoluteLayout;
import java.io.BufferedWriter;
@@ -73,6 +77,7 @@ import java.lang.annotation.RetentionPolicy;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Executor;
+import java.util.function.Consumer;
/**
* A View that displays web pages.
@@ -2854,6 +2859,20 @@ public class WebView extends AbsoluteLayout
return mProvider.getViewDelegate().isVisibleToUserForAutofill(virtualId);
}
+ @Override
+ @Nullable
+ public void onCreateTranslationRequests(@NonNull long[] virtualChildIds,
+ @NonNull @DataFormat int[] supportedFormats,
+ @NonNull Consumer<ViewTranslationRequest> requestsCollector) {
+ mProvider.getViewDelegate().onCreateTranslationRequests(virtualChildIds, supportedFormats,
+ requestsCollector);
+ }
+
+ @Override
+ public void onTranslationResponse(@NonNull LongSparseArray<ViewTranslationResponse> response) {
+ mProvider.getViewDelegate().onTranslationResponse(response);
+ }
+
/** @hide */
@Override
public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {