Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b154cd7 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix pass null TranslationCapability to dispatchRequestTranslation()"...

Merge "Fix pass null TranslationCapability to dispatchRequestTranslation()" into sc-dev am: 00ea5427

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14340324

Change-Id: Ifaadc2453fba9967c34886da34d1e05ad6628d1b
parents 4fbd9969 00ea5427
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -253,6 +253,11 @@ public class Translator {
        }
    }

    /** @hide */
    public TranslationContext getTranslationContext() {
        return mTranslationContext;
    }

    /** @hide */
    public int getTranslatorId() {
        return mId;
+13 −3
Original line number Diff line number Diff line
@@ -451,13 +451,14 @@ public class UiTranslationController {
            int[] supportedFormats = getSupportedFormatsLocked();
            ArrayList<ViewRootImpl> roots =
                    WindowManagerGlobal.getInstance().getRootViews(mActivity.getActivityToken());
            TranslationCapability capability =
                    getTranslationCapability(translator.getTranslationContext());
            mActivity.runOnUiThread(() -> {
                // traverse the hierarchy to collect ViewTranslationRequests
                for (int rootNum = 0; rootNum < roots.size(); rootNum++) {
                    View rootView = roots.get(rootNum).getView();
                    // TODO(b/183589662): call getTranslationCapabilities() for capability
                    rootView.dispatchRequestTranslation(viewIds, supportedFormats, /* capability */
                            null, requests);
                    rootView.dispatchRequestTranslation(viewIds, supportedFormats, capability,
                            requests);
                }
                mWorkerHandler.sendMessage(PooledLambda.obtainMessage(
                        UiTranslationController::sendTranslationRequest,
@@ -487,6 +488,15 @@ public class UiTranslationController {
        return new int[] {TranslationSpec.DATA_FORMAT_TEXT};
    }

    private TranslationCapability getTranslationCapability(TranslationContext translationContext) {
        // We only support text to text capability now, we will query real status from service when
        // we support more translation capabilities.
        return new TranslationCapability(TranslationCapability.STATE_ON_DEVICE,
                translationContext.getSourceSpec(),
                translationContext.getTargetSpec(), /* uiTranslationEnabled= */ true,
                /* supportedTranslationFlags= */ 0);
    }

    private void findViewsTraversalByAutofillIds(IntArray sourceViewIds) {
        final ArrayList<ViewRootImpl> roots =
                WindowManagerGlobal.getInstance().getRootViews(mActivity.getActivityToken());