WM: Guard against released surfaces in forced rotator

Change-Id: Ibce67ccede8f114b82779a74853e43b3abe44c55
Fixes: 111670701
Test: Rotate phone with cutout enabled, verify cutout overlay is still properly synchornized and SystemUI does not crash.
This commit is contained in:
Adrian Roos
2018-07-23 15:07:11 +02:00
parent 8aa960f6b1
commit dcb24ca471

View File

@@ -75,12 +75,14 @@ public class ForcedSeamlessRotator {
public void finish(WindowToken token, WindowState win) {
mTransform.reset();
token.getPendingTransaction().setMatrix(token.mSurfaceControl, mTransform, mFloat9);
token.getPendingTransaction().deferTransactionUntil(token.mSurfaceControl,
win.mWinAnimator.mSurfaceController.mSurfaceControl.getHandle(),
win.getFrameNumber());
win.getPendingTransaction().deferTransactionUntil(win.mSurfaceControl,
win.mWinAnimator.mSurfaceController.mSurfaceControl.getHandle(),
win.getFrameNumber());
if (win.mWinAnimator.mSurfaceController != null) {
token.getPendingTransaction().deferTransactionUntil(token.mSurfaceControl,
win.mWinAnimator.mSurfaceController.mSurfaceControl.getHandle(),
win.getFrameNumber());
win.getPendingTransaction().deferTransactionUntil(win.mSurfaceControl,
win.mWinAnimator.mSurfaceController.mSurfaceControl.getHandle(),
win.getFrameNumber());
}
}
public void dump(PrintWriter pw) {