Reset Task surface to fullscreen when appeared

Some other modes leave the task surface in a bad state, so if
fullscreen gets onTaskAppeared, reset everything to fullscreen

Bug: 168278812
Test: Open an app, put it into pip, close pip by dragging to X,
      open the app from recents.
Change-Id: Icf4df30eb44fa0a589e7d0bd9be1eb2e72fc492a
This commit is contained in:
[1;3C
2020-09-11 14:26:24 -07:00
parent 8353fe0064
commit 30233c6fbd

View File

@@ -46,6 +46,12 @@ class FullscreenTaskListener implements ShellTaskOrganizer.TaskListener {
final SurfaceControl.Transaction t = mTransactionPool.acquire();
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TASK_ORG, "Fullscreen Task Appeared: #%d",
taskInfo.taskId);
// Reset several properties back to fullscreen (PiP, for example, leaves all these
// properties in a bad state).
t.setPosition(leash, 0, 0);
t.setWindowCrop(leash, null);
t.setAlpha(leash, 1f);
t.setMatrix(leash, 1, 0, 0, 1);
t.show(leash);
t.apply();
}