From 808d5683670e00cb5670b39cde3382dade2749c4 Mon Sep 17 00:00:00 2001 From: Hongwei Wang Date: Tue, 22 Mar 2022 17:37:03 -0700 Subject: [PATCH] Hide the Taskbar when user leaves PiP mode This is to prevent the Taskbar from flickering when the app settles in full-screen mode. Video: http://recall/-/aaaaaabFQoRHlzixHdtY/dIgvinb9yEB8MYfYDx0Ijy Bug: 218450853 Test: see video Change-Id: I9cfb0ca151dea6951561f78798bb16bafa48eba0 --- .../launcher3/taskbar/TaskbarUIController.java | 11 +++++++++++ .../com/android/quickstep/views/RecentsView.java | 13 +++++++++++++ 2 files changed, 24 insertions(+) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java index 6bc2a932b1..d5c399b619 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java @@ -75,4 +75,15 @@ public class TaskbarUIController { public void hideAllApps() { mControllers.taskbarAllAppsController.hide(); } + + /** + * User expands PiP to full-screen (or split-screen) mode, try to hide the Taskbar. + */ + public void onExpandPip() { + if (mControllers != null) { + final TaskbarStashController stashController = mControllers.taskbarStashController; + stashController.updateStateForFlag(TaskbarStashController.FLAG_IN_APP, true); + stashController.applyState(); + } + } } diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 3c10e212fc..da3b77b0d2 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -5102,6 +5102,19 @@ public abstract class RecentsView { + if (mRecentsView == null + || mRecentsView.mSizeStrategy.getTaskbarController() == null) { + return; + } + // Hide the task bar when leaving PiP to prevent it from flickering once + // the app settles in full-screen mode. + mRecentsView.mSizeStrategy.getTaskbarController().onExpandPip(); + }); + } } /** Get the color used for foreground scrimming the RecentsView for sharing. */