summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewGroup.java
diff options
context:
space:
mode:
authorJoanne Chung <joannechung@google.com>2021-03-23 23:46:17 +0800
committerAhaan Ugale <augale@google.com>2021-03-25 22:31:54 -0700
commitf51da99ac179cfa35f89c26245440dc2a85f60e3 (patch)
tree6afa84d211bfe4a57c23471c74410aafda9b0e1b /core/java/android/view/ViewGroup.java
parentae6711b2a78edb30fdec09a083480df002dde0d1 (diff)
Implement dispatchRequestTranslation for getting translation information.
This change doesn't contain the virtual view part and the API, it will be done in the next change. Bug: 178046780 Test: manual Test: atest CtsTranslationTestCases CTS-Coverage-Bug: 177960696 Change-Id: Idba66a882a90168ecdd93423c0d5d054ab040dad
Diffstat (limited to 'core/java/android/view/ViewGroup.java')
-rw-r--r--core/java/android/view/ViewGroup.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index 38a59373554c..8198254958f4 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -65,9 +65,13 @@ import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.LayoutAnimationController;
import android.view.animation.Transformation;
+import android.view.autofill.AutofillId;
import android.view.autofill.Helper;
import android.view.inspector.InspectableProperty;
import android.view.inspector.InspectableProperty.EnumEntry;
+import android.view.translation.TranslationCapability;
+import android.view.translation.TranslationSpec.DataFormat;
+import android.view.translation.ViewTranslationRequest;
import com.android.internal.R;
@@ -9264,4 +9268,25 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
mParent.onDescendantUnbufferedRequested();
}
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * The implementation calls {@link #dispatchRequestTranslation} for all the child views.
+ */
+ @Override
+ public void dispatchRequestTranslation(@NonNull Map<AutofillId, long[]> viewIds,
+ @NonNull @DataFormat int[] supportedFormats,
+ @Nullable TranslationCapability capability,
+ @NonNull List<ViewTranslationRequest> requests) {
+ super.dispatchRequestTranslation(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);
+ }
+ }
}