summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Joanne Chung <joannechung@google.com> 2021-05-12 00:29:53 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-05-12 00:29:53 +0000
commitf13de286ff235493fe7b6c6e274f2301623300da (patch)
treeaeb4a29cffb400ff48051e5db8a95cea5b95a544
parent6438998d643422c3175665672507b745ff8bc58f (diff)
parent1450a8706d13153976021e9a946b32993b156f07 (diff)
Merge "API feedback: Translation View API improvement." into sc-dev
-rw-r--r--core/api/current.txt2
-rw-r--r--core/java/android/view/View.java6
-rw-r--r--core/java/android/view/ViewGroup.java10
-rw-r--r--core/java/android/view/translation/UiTranslationController.java4
4 files changed, 13 insertions, 9 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index 184d3cf15dd1..cb61bbc746e5 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -48544,6 +48544,7 @@ package android.view {
method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets);
method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent);
method public void dispatchConfigurationChanged(android.content.res.Configuration);
+ method public void dispatchCreateViewTranslationRequest(@NonNull java.util.Map<android.view.autofill.AutofillId,long[]>, @NonNull int[], @NonNull android.view.translation.TranslationCapability, @NonNull java.util.List<android.view.translation.ViewTranslationRequest>);
method public void dispatchDisplayHint(int);
method public boolean dispatchDragEvent(android.view.DragEvent);
method protected void dispatchDraw(android.graphics.Canvas);
@@ -48565,7 +48566,6 @@ package android.view {
method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
method public void dispatchProvideAutofillStructure(@NonNull android.view.ViewStructure, int);
method public void dispatchProvideStructure(android.view.ViewStructure);
- method public void dispatchRequestTranslation(@NonNull java.util.Map<android.view.autofill.AutofillId,long[]>, @NonNull int[], @NonNull android.view.translation.TranslationCapability, @NonNull java.util.List<android.view.translation.ViewTranslationRequest>);
method protected void dispatchRestoreInstanceState(android.util.SparseArray<android.os.Parcelable>);
method protected void dispatchSaveInstanceState(android.util.SparseArray<android.os.Parcelable>);
method public void dispatchScrollCaptureSearch(@NonNull android.graphics.Rect, @NonNull android.graphics.Point, @NonNull java.util.function.Consumer<android.view.ScrollCaptureTarget>);
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index e0c26cb0e5f0..acc0fc178d6e 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -30876,7 +30876,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
/**
* Called when the content from {@link View#onCreateViewTranslationRequest} had been translated
- * by the TranslationService.
+ * by the TranslationService. The {@link ViewTranslationResponse} should be saved here so that
+ * the {@link ViewTranslationResponse} can be used to display the translation when the system
+ * calls {@link ViewTranslationCallback#onShowTranslation}.
*
* <p> The default implementation will set the ViewTranslationResponse that can be get from
* {@link View#getViewTranslationResponse}. </p>
@@ -30929,7 +30931,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* information, e.g. source spec, target spec.
* @param requests fill in with {@link ViewTranslationRequest}s for translation purpose.
*/
- public void dispatchRequestTranslation(@NonNull Map<AutofillId, long[]> viewIds,
+ public void dispatchCreateViewTranslationRequest(@NonNull Map<AutofillId, long[]> viewIds,
@NonNull @DataFormat int[] supportedFormats,
@NonNull TranslationCapability capability,
@NonNull List<ViewTranslationRequest> requests) {
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index a02281be1228..4647f472f2a2 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -9275,21 +9275,23 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
/**
* {@inheritDoc}
*
- * The implementation calls {@link #dispatchRequestTranslation} for all the child views.
+ * The implementation calls {@link #dispatchCreateViewTranslationRequest} for all the child
+ * views.
*/
@Override
- public void dispatchRequestTranslation(@NonNull Map<AutofillId, long[]> viewIds,
+ public void dispatchCreateViewTranslationRequest(@NonNull Map<AutofillId, long[]> viewIds,
@NonNull @DataFormat int[] supportedFormats,
@Nullable TranslationCapability capability,
@NonNull List<ViewTranslationRequest> requests) {
- super.dispatchRequestTranslation(viewIds, supportedFormats, capability, requests);
+ super.dispatchCreateViewTranslationRequest(viewIds, supportedFormats, capability, requests);
final int childCount = getChildCount();
if (childCount == 0) {
return;
}
for (int i = 0; i < childCount; ++i) {
final View child = getChildAt(i);
- child.dispatchRequestTranslation(viewIds, supportedFormats, capability, requests);
+ child.dispatchCreateViewTranslationRequest(viewIds, supportedFormats, capability,
+ requests);
}
}
}
diff --git a/core/java/android/view/translation/UiTranslationController.java b/core/java/android/view/translation/UiTranslationController.java
index 8a2b629b53cd..e0526f87340a 100644
--- a/core/java/android/view/translation/UiTranslationController.java
+++ b/core/java/android/view/translation/UiTranslationController.java
@@ -466,8 +466,8 @@ public class UiTranslationController {
// traverse the hierarchy to collect ViewTranslationRequests
for (int rootNum = 0; rootNum < roots.size(); rootNum++) {
View rootView = roots.get(rootNum).getView();
- rootView.dispatchRequestTranslation(viewIds, supportedFormats, capability,
- requests);
+ rootView.dispatchCreateViewTranslationRequest(viewIds, supportedFormats,
+ capability, requests);
}
mWorkerHandler.sendMessage(PooledLambda.obtainMessage(
UiTranslationController::sendTranslationRequest,