Fix NPE in PinnedTaskController

Bug: 210570569
Test: follow the steps in bug report
Change-Id: I8d09142e277e0d7bae21dd68db52fefe71a1bf95
This commit is contained in:
Hongwei Wang
2021-12-14 10:26:23 -08:00
parent e805f2b12f
commit 528a1061f1

View File

@@ -243,7 +243,8 @@ class PinnedTaskController {
int oldRotation, int newRotation) {
final Rect bounds = mDestRotatedBounds;
final PictureInPictureSurfaceTransaction pipTx = mPipTransaction;
if (bounds == null && pipTx == null) {
final boolean emptyPipPositionTx = pipTx == null || pipTx.mPosition == null;
if (bounds == null && emptyPipPositionTx) {
return;
}
final TaskDisplayArea taskArea = mDisplayContent.getDefaultTaskDisplayArea();
@@ -255,7 +256,7 @@ class PinnedTaskController {
mDestRotatedBounds = null;
mPipTransaction = null;
final Rect areaBounds = taskArea.getBounds();
if (pipTx != null && pipTx.mPosition != null) {
if (!emptyPipPositionTx) {
// The transaction from recents animation is in old rotation. So the position needs to
// be rotated.
float dx = pipTx.mPosition.x;