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 d04158907a..22491bcece 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -5104,6 +5104,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. */