diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 73faca70de6b0..8f777e6306c6d 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -4897,7 +4897,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // dispatchTaskInfoChangedIfNeeded() right after ActivityRecord#setVisibility() can report // the stale visible state, because the state will be updated after the app transition. // So tries to report the actual visible state again where the state is changed. - if (task != null) task.dispatchTaskInfoChangedIfNeeded(false /* force */); + if (!mTaskSupervisor.inActivityVisibilityUpdate()) { + final Task task = getOrganizedTask(); + if (task != null) { + task.dispatchTaskInfoChangedIfNeeded(false /* force */); + } + } ProtoLog.v(WM_DEBUG_APP_TRANSITIONS, "commitVisibility: %s: visible=%b mVisibleRequested=%b", this, isVisible(), mVisibleRequested);