From 3b5654d71f2768cf922d5dd18d7d1337244b1a13 Mon Sep 17 00:00:00 2001 From: Ivan Makarov Date: Tue, 5 Jul 2022 16:34:45 +0000 Subject: [PATCH] Fix the expand button changing too soon The expand button used to change its icon right after it was clicked and before the animation has finished. This resulted in the icon being changed too soon. This CL fixes this by waiting until the pip transition is finished Bug: 237269877 Test: Manual Change-Id: I46d8bc82be7db0532c51aa116ff2dbbf5e09fc68 --- .../src/com/android/wm/shell/pip/tv/TvPipMenuController.java | 3 +-- .../Shell/src/com/android/wm/shell/pip/tv/TvPipMenuView.java | 4 +++- 2 files changed, 4 insertions(+), 3 deletions(-) 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 4ce45e142c643..c6f7974e43bc3 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 @@ -200,7 +200,7 @@ public class TvPipMenuController implements PipMenuController, TvPipMenuView.Lis void notifyPipAnimating(boolean animating) { mPipMenuView.setEduTextActive(!animating); if (!animating) { - mPipMenuView.onPipTransitionFinished(); + mPipMenuView.onPipTransitionFinished(mTvPipBoundsState.isTvPipExpanded()); } } @@ -267,7 +267,6 @@ public class TvPipMenuController implements PipMenuController, TvPipMenuView.Lis void updateExpansionState() { mPipMenuView.setExpandedModeEnabled(mTvPipBoundsState.isTvExpandedPipSupported() && mTvPipBoundsState.getDesiredTvExpandedAspectRatio() != 0); - mPipMenuView.setIsExpanded(mTvPipBoundsState.isTvPipExpanded()); } private Rect calculateMenuSurfaceBounds(Rect pipBounds) { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipMenuView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipMenuView.java index 1c30755583b10..57d3a44ed2afc 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipMenuView.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipMenuView.java @@ -266,7 +266,7 @@ public class TvPipMenuView extends FrameLayout implements View.OnClickListener { } } - void onPipTransitionFinished() { + void onPipTransitionFinished(boolean isTvPipExpanded) { ProtoLog.d(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE, "%s: onPipTransitionFinished()", TAG); @@ -277,6 +277,8 @@ public class TvPipMenuView extends FrameLayout implements View.OnClickListener { .setInterpolator(TvPipInterpolators.ENTER) .start(); + setIsExpanded(isTvPipExpanded); + // Update buttons. if (mSwitchingOrientation) { mActionButtonsContainer.animate()