Merge "API feedback: Translation View API improvement." into sc-dev

This commit is contained in:
Joanne Chung
2021-05-12 00:29:53 +00:00
committed by Android (Google) Code Review
4 changed files with 13 additions and 9 deletions

View File

@@ -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>);

View File

@@ -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) {

View File

@@ -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);
}
}
}

View File

@@ -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,