Dispatch organized task info change after committing visibility

The activity may belong to a non-organized leaf task. But its root
task can be organized. In this case the change of root task should
still be sent.

Bug: 197787343
Test: CtsActivityManagerDeviceTestCases
Change-Id: Id05b1b8eb6720c1c301fb4123cd517e762687dc9
This commit is contained in:
Riddle Hsu
2021-09-06 17:20:44 +08:00
parent 08774f2ffc
commit 4786149fe7

View File

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