Merge "Fix NPE in PinnedTaskController" into sc-v2-dev

This commit is contained in:
Hongwei Wang
2021-12-15 22:47:59 +00:00
committed by Android (Google) Code Review

View File

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