Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 808d5683 authored by Hongwei Wang's avatar Hongwei Wang
Browse files

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
parent 6c7b0f7d
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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();
        }
    }
}
+13 −0
Original line number Diff line number Diff line
@@ -5102,6 +5102,19 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
                mRecentsView.mPipCornerRadius = cornerRadius;
            }
        }

        @Override
        public void onExpandPip() {
            MAIN_EXECUTOR.execute(() -> {
                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. */