Dispatch taskInfoChanged after the app transition is finished.

Bug: 197787343
Test: Follow the reproducible steps in b/197787343
Change-Id: Iff246e84c47bda3219b1a9adef5e9a4c3a888666
This commit is contained in:
Yuncheol Heo
2021-08-27 12:53:23 -07:00
parent c94c3639dc
commit cfb22eae9d

View File

@@ -4893,6 +4893,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
// getting visible so we also wait for them.
forAllWindows(mWmService::makeWindowFreezingScreenIfNeededLocked, true);
}
// 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 */);
ProtoLog.v(WM_DEBUG_APP_TRANSITIONS,
"commitVisibility: %s: visible=%b mVisibleRequested=%b", this,
isVisible(), mVisibleRequested);