From bf7df8a8a361f03e745f20a9d92cd8f2608af6d8 Mon Sep 17 00:00:00 2001 From: "jorgegil@google.com" Date: Tue, 2 Feb 2021 17:26:31 -0800 Subject: [PATCH] Only show Pip actions when menu is FULL (i.e. shown) - The actions container viewgroup should only be visible when the menu state is FULL - Update the PipMenuView mMenuState before updating the action views so that the views reflect the actual new state of the pip menu. Bug: 179046413 Test: Enter PiP from Youtube, tap on where the pause icon would be if the menu was visible, verify it doesn't pause the video. Change-Id: I97c55fc12b8eca21a4aa2a94d7890330ca543fc1 --- .../Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java index 2df3e2ec1f811..962c4672644a7 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java @@ -231,7 +231,6 @@ public class PipMenuView extends FrameLayout { && (mMenuState == MENU_STATE_FULL || menuState == MENU_STATE_FULL); mAllowTouches = !disallowTouchesUntilAnimationEnd; cancelDelayedHide(); - updateActionViews(stackBounds); if (mMenuContainerAnimator != null) { mMenuContainerAnimator.cancel(); } @@ -280,6 +279,7 @@ public class PipMenuView extends FrameLayout { setVisibility(VISIBLE); mMenuContainerAnimator.start(); } + updateActionViews(stackBounds); } else { // If we are already visible, then just start the delayed dismiss and unregister any // existing input consumers from the previous drag @@ -395,7 +395,7 @@ public class PipMenuView extends FrameLayout { return true; }); - if (mActions.isEmpty() || mMenuState == MENU_STATE_CLOSE) { + if (mActions.isEmpty() || mMenuState == MENU_STATE_CLOSE || mMenuState == MENU_STATE_NONE) { actionsContainer.setVisibility(View.INVISIBLE); } else { actionsContainer.setVisibility(View.VISIBLE);