diff options
| author | 2021-05-12 00:29:53 +0000 | |
|---|---|---|
| committer | 2021-05-12 00:29:53 +0000 | |
| commit | f13de286ff235493fe7b6c6e274f2301623300da (patch) | |
| tree | aeb4a29cffb400ff48051e5db8a95cea5b95a544 | |
| parent | 6438998d643422c3175665672507b745ff8bc58f (diff) | |
| parent | 1450a8706d13153976021e9a946b32993b156f07 (diff) | |
Merge "API feedback: Translation View API improvement." into sc-dev
| -rw-r--r-- | core/api/current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/view/View.java | 6 | ||||
| -rw-r--r-- | core/java/android/view/ViewGroup.java | 10 | ||||
| -rw-r--r-- | core/java/android/view/translation/UiTranslationController.java | 4 |
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, |