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

Commit bddc58e3 authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Add IPipAnimationListener#onExpandPip

This signals Launcher when user leaves PiP mode by tapping on the
expand button in PiP window. Launcher can use signal, for instance, to
hide the Taskbar to avoid flicker when the app settles in full-screen mode.

Video: http://recall/-/aaaaaabFQoRHlzixHdtY/dIgvinb9yEB8MYfYDx0Ijy
Bug: 218450853
Test: see video
Change-Id: I0e9882324daa6dc419ad2746312a22a0c8721ff4
parent d5826ea5
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -32,4 +32,9 @@ oneway interface IPipAnimationListener {
     * @param cornerRadius the pixel value of the corner radius, zero means it's disabled.
     * @param cornerRadius the pixel value of the corner radius, zero means it's disabled.
     */
     */
    void onPipCornerRadiusChanged(int cornerRadius);
    void onPipCornerRadiusChanged(int cornerRadius);

    /**
     * Notifies the listener that user leaves PiP by tapping on the expand button.
     */
    void onExpandPip();
}
}
+13 −0
Original line number Original line Diff line number Diff line
@@ -136,6 +136,11 @@ public class PipController implements PipTransitionController.PipTransitionCallb
         * @param cornerRadius the pixel value of the corner radius, zero means it's disabled.
         * @param cornerRadius the pixel value of the corner radius, zero means it's disabled.
         */
         */
        void onPipCornerRadiusChanged(int cornerRadius);
        void onPipCornerRadiusChanged(int cornerRadius);

        /**
         * Notifies the listener that user leaves PiP by tapping on the expand button.
         */
        void onExpandPip();
    }
    }


    /**
    /**
@@ -643,6 +648,9 @@ public class PipController implements PipTransitionController.PipTransitionCallb
        mTouchHandler.setTouchEnabled(false);
        mTouchHandler.setTouchEnabled(false);
        if (mPinnedStackAnimationRecentsCallback != null) {
        if (mPinnedStackAnimationRecentsCallback != null) {
            mPinnedStackAnimationRecentsCallback.onPipAnimationStarted();
            mPinnedStackAnimationRecentsCallback.onPipAnimationStarted();
            if (direction == TRANSITION_DIRECTION_LEAVE_PIP) {
                mPinnedStackAnimationRecentsCallback.onExpandPip();
            }
        }
        }
    }
    }


@@ -902,6 +910,11 @@ public class PipController implements PipTransitionController.PipTransitionCallb
            public void onPipCornerRadiusChanged(int cornerRadius) {
            public void onPipCornerRadiusChanged(int cornerRadius) {
                mListener.call(l -> l.onPipCornerRadiusChanged(cornerRadius));
                mListener.call(l -> l.onPipCornerRadiusChanged(cornerRadius));
            }
            }

            @Override
            public void onExpandPip() {
                mListener.call(l -> l.onExpandPip());
            }
        };
        };


        IPipImpl(PipController controller) {
        IPipImpl(PipController controller) {