diff --git a/core/java/android/view/translation/UiTranslationController.java b/core/java/android/view/translation/UiTranslationController.java index 442d099f06785..eca74812a7e91 100644 --- a/core/java/android/view/translation/UiTranslationController.java +++ b/core/java/android/view/translation/UiTranslationController.java @@ -110,11 +110,10 @@ public class UiTranslationController { public void updateUiTranslationState(@UiTranslationState int state, TranslationSpec sourceSpec, TranslationSpec targetSpec, List views, UiTranslationSpec uiTranslationSpec) { - if (!mActivity.isResumed() && (state == STATE_UI_TRANSLATION_STARTED - || state == STATE_UI_TRANSLATION_RESUMED)) { + if (mActivity.isDestroyed()) { + Log.i(TAG, "Cannot update " + stateToString(state) + " for destroyed " + mActivity); return; } - Log.i(TAG, "updateUiTranslationState state: " + stateToString(state) + (DEBUG ? (", views: " + views + ", spec: " + uiTranslationSpec) : "")); synchronized (mLock) { @@ -342,10 +341,8 @@ public class UiTranslationController { */ private void onVirtualViewTranslationCompleted( SparseArray> translatedResult) { - if (!mActivity.isResumed()) { - if (DEBUG) { - Log.v(TAG, "onTranslationCompleted: Activity is not resumed."); - } + if (mActivity.isDestroyed()) { + Log.v(TAG, "onTranslationCompleted:" + mActivity + "is destroyed."); return; } synchronized (mLock) { @@ -393,10 +390,8 @@ public class UiTranslationController { * The method is used to handle the translation result for non-vertual views. */ private void onTranslationCompleted(SparseArray translatedResult) { - if (!mActivity.isResumed()) { - if (DEBUG) { - Log.v(TAG, "onTranslationCompleted: Activity is not resumed."); - } + if (mActivity.isDestroyed()) { + Log.v(TAG, "onTranslationCompleted:" + mActivity + "is destroyed."); return; } final int resultCount = translatedResult.size();