Merge "Fix NPE going from PiP to Fullscreen." into udc-dev
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipMenuController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipMenuController.java
index be1f800b..b18e21c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipMenuController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipMenuController.java
@@ -276,15 +276,14 @@
             Rect pipBounds) {
         ProtoLog.d(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
                 "%s: resizePipMenu: %s", TAG, pipBounds.toShortString());
+
         if (pipBounds.isEmpty()) {
             return;
         }
-
-        if (!isMenuReadyToMove()) {
+        if (!isMenuAttached()) {
             return;
         }
 
-
         final SurfaceControl frontSurface = getSurfaceControl(mPipMenuView);
         final SurfaceControl backSurface = getSurfaceControl(mPipBackgroundView);
         final Rect menuBounds = calculateMenuSurfaceBounds(pipBounds);
@@ -321,7 +320,7 @@
             }
             return;
         }
-        if (!isMenuReadyToMove()) {
+        if (!isMenuAttached()) {
             return;
         }
 
@@ -344,12 +343,12 @@
         syncGroup.markSyncReady();
     }
 
-    private boolean isMenuReadyToMove() {
+    private boolean isMenuAttached() {
         final boolean ready = mPipMenuView != null && mPipMenuView.getViewRootImpl() != null
                 && mPipBackgroundView != null && mPipBackgroundView.getViewRootImpl() != null;
         if (!ready) {
             ProtoLog.v(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
-                    "%s: Not going to move PiP, either menu or its parent is not created.", TAG);
+                    "%s: the menu surfaces are not attached.", TAG);
         }
         return ready;
     }
@@ -368,6 +367,9 @@
 
     @Override
     public void updateMenuBounds(Rect pipBounds) {
+        if (!isMenuAttached()) {
+            return;
+        }
         final Rect menuBounds = calculateMenuSurfaceBounds(pipBounds);
         ProtoLog.d(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
                 "%s: updateMenuBounds: %s", TAG, menuBounds.toShortString());