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

Commit 8960d666 authored by Joanne Chung's avatar Joanne Chung
Browse files

Add debug log to help to debug translation problem.

There are some issues the resume/finish seems not work well. The
debug flag should be enabled manually, but in the most time the
user may forget to enable it before testing. Try to enable it in the
debug rom to help debugging, we use b/182433547 to trace the disable
this check before rom release.

Bug: 182433547
Test: manual
Change-Id: I2f85a0e17f8a2b8a4b93252044cf48d739b4eca2
parent aabfff1f
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -302,6 +302,11 @@ public class UiTranslationController {
                }
                final LongSparseArray<ViewTranslationResponse> virtualChildResponse =
                        translatedResult.valueAt(i);
                if (DEBUG) {
                    // TODO(b/182433547): remove before S release
                    Log.v(TAG, "onVirtualViewTranslationCompleted: receive "
                            + virtualChildResponse + " for AutofillId " + autofillId);
                }
                mActivity.runOnUiThread(() -> {
                    if (view.getViewTranslationCallback() == null) {
                        if (DEBUG) {
@@ -341,8 +346,13 @@ public class UiTranslationController {
            }
            for (int i = 0; i < resultCount; i++) {
                final ViewTranslationResponse response = translatedResult.valueAt(i);
                if (DEBUG) {
                    // TODO(b/182433547): remove before S release
                    Log.v(TAG, "onTranslationCompleted: response= " + response);
                }
                final AutofillId autofillId = response.getAutofillId();
                if (autofillId == null) {
                    Log.w(TAG, "No AutofillId is set in ViewTranslationResponse:" + response);
                    continue;
                }
                final View view = mViews.get(autofillId).get();
@@ -394,6 +404,9 @@ public class UiTranslationController {
        final TranslationRequest request = new TranslationRequest.Builder()
                .setViewTranslationRequests(requests)
                .build();
        if (DEBUG) {
            Log.d(TAG, "sendTranslationRequest: request= " + request);
        }
        translator.requestUiTranslate(request, (r) -> r.run(), this::onTranslationCompleted);
    }

@@ -508,10 +521,17 @@ public class UiTranslationController {
    private void runForEachView(BiConsumer<View, ViewTranslationCallback> action) {
        synchronized (mLock) {
            final ArrayMap<AutofillId, WeakReference<View>> views = new ArrayMap<>(mViews);
            if (views.size() == 0) {
                Log.w(TAG, "No views can be excuted for runForEachView.");
            }
            mActivity.runOnUiThread(() -> {
                final int viewCounts = views.size();
                for (int i = 0; i < viewCounts; i++) {
                    final View view = views.valueAt(i).get();
                    if (DEBUG) {
                        // TODO(b/182433547): remove before S release
                        Log.d(TAG, "runForEachView: view= " + view);
                    }
                    if (view == null || view.getViewTranslationCallback() == null) {
                        if (DEBUG) {
                            Log.d(TAG, "View was gone or ViewTranslationCallback for autofillid "
+5 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.widget;

import android.annotation.NonNull;
import android.os.Build;
import android.text.method.TranslationTransformationMethod;
import android.util.Log;
import android.view.View;
@@ -34,7 +35,10 @@ public class TextViewTranslationCallback implements ViewTranslationCallback {

    private static final String TAG = "TextViewTranslationCallback";

    private static final boolean DEBUG = Log.isLoggable(UiTranslationManager.LOG_TAG, Log.DEBUG);
    // TODO(b/182433547): remove Build.IS_DEBUGGABLE before ship. Enable the logging in debug build
    //  to help the debug during the development phase
    private static final boolean DEBUG = Log.isLoggable(UiTranslationManager.LOG_TAG, Log.DEBUG)
            || Build.IS_DEBUGGABLE;

    private TranslationTransformationMethod mTranslationTransformation;