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

Commit 26708715 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Send source rect hint to Shell via stopSwipePipToHome

Launcher has calculated it, so shell side can use it directly to
avoid inconsistency.

Bug: 331315278
Test: Assume the target app support auto-pip and it doesn't draw
      under display cutout.
      E.g. LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
      Enter PiP from 90 degrees to home with 0 degrees.
      The left side of pip should not flicker.
Change-Id: Id09efc8a30eeef14a031d9db2ab1e00b6f3034bc
parent ac8e132f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1582,7 +1582,8 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
                        mSwipePipToHomeAnimator.getComponentName(),
                        mSwipePipToHomeAnimator.getDestinationBounds(),
                        mSwipePipToHomeAnimator.getContentOverlay(),
                        mSwipePipToHomeAnimator.getAppBounds());
                        mSwipePipToHomeAnimator.getAppBounds(),
                        mSwipePipToHomeAnimator.getSourceRectHint());

                windowAnim = mSwipePipToHomeAnimators;
            } else {
+2 −2
Original line number Diff line number Diff line
@@ -653,11 +653,11 @@ public class SystemUiProxy implements ISystemUiProxy, NavHandle {
     * should be responsible for cleaning up the overlay.
     */
    public void stopSwipePipToHome(int taskId, ComponentName componentName, Rect destinationBounds,
            SurfaceControl overlay, Rect appBounds) {
            SurfaceControl overlay, Rect appBounds, Rect sourceRectHint) {
        if (mPip != null) {
            try {
                mPip.stopSwipePipToHome(taskId, componentName, destinationBounds, overlay,
                        appBounds);
                        appBounds, sourceRectHint);
            } catch (RemoteException e) {
                Log.w(TAG, "Failed call stopSwipePipToHome");
            }
+4 −0
Original line number Diff line number Diff line
@@ -272,6 +272,10 @@ public class SwipePipToHomeAnimator extends RectFSpringAnim {
        return mAppBounds;
    }

    public Rect getSourceRectHint() {
        return mSourceRectHint;
    }

    @Nullable
    public SurfaceControl getContentOverlay() {
        return mPipContentOverlay == null ? null : mPipContentOverlay.getLeash();