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
This commit is contained in:
Joanne Chung
2021-04-12 17:57:39 +08:00
parent aabfff1f73
commit 8960d6667b
2 changed files with 25 additions and 1 deletions

View File

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

View File

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