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

Commit 2b1b177a authored by Hongwei Wang's avatar Hongwei Wang Committed by Android (Google) Code Review
Browse files

Merge "Add SYSUI_STATE_DISABLE_GESTURE_PIP_INVOCATION" into main

parents e5318436 a193c2c0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -206,12 +206,13 @@ public abstract class Pip1Module {
    @WMSingleton
    @Provides
    static PipMotionHelper providePipMotionHelper(Context context,
            @ShellMainThread ShellExecutor mainExecutor,
            PipBoundsState pipBoundsState, PipTaskOrganizer pipTaskOrganizer,
            PhonePipMenuController menuController, PipSnapAlgorithm pipSnapAlgorithm,
            PipTransitionController pipTransitionController,
            FloatingContentCoordinator floatingContentCoordinator,
            Optional<PipPerfHintController> pipPerfHintControllerOptional) {
        return new PipMotionHelper(context, pipBoundsState, pipTaskOrganizer,
        return new PipMotionHelper(context, mainExecutor, pipBoundsState, pipTaskOrganizer,
                menuController, pipSnapAlgorithm, pipTransitionController,
                floatingContentCoordinator, pipPerfHintControllerOptional);
    }
+7 −4
Original line number Diff line number Diff line
@@ -16,10 +16,12 @@

package com.android.wm.shell.pip;

import android.annotation.NonNull;
import android.graphics.Rect;

import com.android.wm.shell.shared.annotations.ExternalThread;

import java.util.concurrent.Executor;
import java.util.function.Consumer;

/**
@@ -69,9 +71,10 @@ public interface Pip {
    default void removePipExclusionBoundsChangeListener(Consumer<Rect> listener) { }

    /**
     * @return {@link PipTransitionController} instance.
     * Register {@link PipTransitionController.PipTransitionCallback} to listen on PiP transition
     * started / finished callbacks.
     */
    default PipTransitionController getPipTransitionController() {
        return null;
    }
    default void registerPipTransitionCallback(
            @NonNull PipTransitionController.PipTransitionCallback callback,
            @NonNull Executor executor) { }
}
+1 −0
Original line number Diff line number Diff line
@@ -230,6 +230,7 @@ public class PipAnimationController {

    /**
     * Quietly cancel the animator by removing the listeners first.
     * TODO(b/275003573): deprecate this, cancelling without the proper callbacks is problematic.
     */
    static void quietCancel(@NonNull ValueAnimator animator) {
        animator.removeAllUpdateListeners();
+6 −3
Original line number Diff line number Diff line
@@ -423,7 +423,8 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
            });
            mPipTransitionController.setPipOrganizer(this);
            displayController.addDisplayWindowListener(this);
            pipTransitionController.registerPipTransitionCallback(mPipTransitionCallback);
            pipTransitionController.registerPipTransitionCallback(
                    mPipTransitionCallback, mMainExecutor);
        }
    }

@@ -495,7 +496,9 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
        ProtoLog.d(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
                "startSwipePipToHome: %s, state=%s", componentName, mPipTransitionState);
        mPipTransitionState.setInSwipePipToHomeTransition(true);
        if (!ENABLE_SHELL_TRANSITIONS) {
            sendOnPipTransitionStarted(TRANSITION_DIRECTION_TO_PIP);
        }
        setBoundsStateForEntry(componentName, pictureInPictureParams, activityInfo);
        return mPipBoundsAlgorithm.getEntryDestinationBounds();
    }
@@ -2023,7 +2026,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
            removeContentOverlay(mPipOverlay, null /* callback */);
        }
        if (animator != null) {
            PipAnimationController.quietCancel(animator);
            animator.cancel();
            mPipAnimationController.resetAnimatorState();
        }
    }
+1 −0
Original line number Diff line number Diff line
@@ -1173,6 +1173,7 @@ public class PipTransition extends PipTransitionController {
                    .setLayer(swipePipToHomeOverlay, Integer.MAX_VALUE);
        }

        sendOnPipTransitionStarted(TRANSITION_DIRECTION_TO_PIP);
        // Both Shell and Launcher calculate their own "adjusted" source-rect-hint values based on
        // appBounds being source bounds when entering PiP.
        final Rect sourceBounds = swipePipToHomeOverlay == null
Loading