diff --git a/core/java/android/view/translation/UiTranslationController.java b/core/java/android/view/translation/UiTranslationController.java index aa73ed7c89081..9d1bf171128eb 100644 --- a/core/java/android/view/translation/UiTranslationController.java +++ b/core/java/android/view/translation/UiTranslationController.java @@ -369,6 +369,10 @@ public class UiTranslationController { Log.v(TAG, "onVirtualViewTranslationCompleted: received response for " + "AutofillId " + autofillId); } + view.onVirtualViewTranslationResponses(virtualChildResponse); + if (mCurrentState == STATE_UI_TRANSLATION_PAUSED) { + return; + } mActivity.runOnUiThread(() -> { if (view.getViewTranslationCallback() == null) { if (DEBUG) { @@ -377,7 +381,6 @@ public class UiTranslationController { } return; } - view.onVirtualViewTranslationResponses(virtualChildResponse); if (view.getViewTranslationCallback() != null) { view.getViewTranslationCallback().onShowTranslation(view); } @@ -425,6 +428,8 @@ public class UiTranslationController { + " may be gone."); continue; } + int currentState; + currentState = mCurrentState; mActivity.runOnUiThread(() -> { ViewTranslationCallback callback = view.getViewTranslationCallback(); if (view.getViewTranslationResponse() != null @@ -458,6 +463,9 @@ public class UiTranslationController { callback.enableContentPadding(); } view.onViewTranslationResponse(response); + if (currentState == STATE_UI_TRANSLATION_PAUSED) { + return; + } callback.onShowTranslation(view); }); }