diff options
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipMenuView.java | 19 |
1 files changed, 8 insertions, 11 deletions
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 ccf65c299613..6eb719ba60a3 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 @@ -92,7 +92,6 @@ public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.L private @TvPipMenuController.TvPipMenuMode int mCurrentMenuMode = MODE_NO_MENU; private final Rect mCurrentPipBounds = new Rect(); private int mCurrentPipGravity; - private boolean mSwitchingOrientation; private final AccessibilityManager mA11yManager; private final Handler mMainHandler; @@ -176,17 +175,12 @@ public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.L } if (mCurrentMenuMode == MODE_ALL_ACTIONS_MENU) { - mSwitchingOrientation = true; + // Fade out while orientation change is ongoing and fade back in once transition is + // finished. mActionButtonsRecyclerView.animate() .alpha(0) .setInterpolator(TvPipInterpolators.EXIT) - .setDuration(mResizeAnimationDuration / 2) - .withEndAction(() -> { - mButtonLayoutManager.setOrientation(vertical - ? LinearLayoutManager.VERTICAL : LinearLayoutManager.HORIZONTAL); - // Only make buttons visible again in onPipTransitionFinished to keep in - // sync with PiP content alpha animation. - }); + .setDuration(mResizeAnimationDuration / 2); } else { mButtonLayoutManager.setOrientation(vertical ? LinearLayoutManager.VERTICAL : LinearLayoutManager.HORIZONTAL); @@ -208,13 +202,16 @@ public class TvPipMenuView extends FrameLayout implements TvPipActionsProvider.L mEduTextDrawer.init(); } - if (mSwitchingOrientation) { + mButtonLayoutManager.setOrientation( + mCurrentPipBounds.height() > mCurrentPipBounds.width() + ? LinearLayoutManager.VERTICAL : LinearLayoutManager.HORIZONTAL); + if (mCurrentMenuMode == MODE_ALL_ACTIONS_MENU + && mActionButtonsRecyclerView.getAlpha() != 1f) { mActionButtonsRecyclerView.animate() .alpha(1) .setInterpolator(TvPipInterpolators.ENTER) .setDuration(mResizeAnimationDuration / 2); } - mSwitchingOrientation = false; } /** |