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

Commit 181cf612 authored by Hongwei Wang's avatar Hongwei Wang Committed by Android Build Coastguard Worker
Browse files

Revert "Add SYSUI_STATE_DISABLE_GESTURE_PIP_INVOCATION"

Revert submission 28059459-disable-gesture-on-pip-animation

Reason for revert: b/352475079
Reverted changes: /q/submissionid:28059459-disable-gesture-on-pip-animation
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:acfbefc54d3bc41d918dd4348b979f4c6fe62b6d)
Merged-In: If4e0eebb9d4b7fc48952cfd634793b2d4e9bf457
Change-Id: If4e0eebb9d4b7fc48952cfd634793b2d4e9bf457
parent df52a61e
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -212,13 +212,12 @@ 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, mainExecutor, pipBoundsState, pipTaskOrganizer,
        return new PipMotionHelper(context, pipBoundsState, pipTaskOrganizer,
                menuController, pipSnapAlgorithm, pipTransitionController,
                floatingContentCoordinator, pipPerfHintControllerOptional);
    }
+4 −7
Original line number Diff line number Diff line
@@ -16,12 +16,10 @@

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;

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

    /**
     * Register {@link PipTransitionController.PipTransitionCallback} to listen on PiP transition
     * started / finished callbacks.
     * @return {@link PipTransitionController} instance.
     */
    default void registerPipTransitionCallback(
            @NonNull PipTransitionController.PipTransitionCallback callback,
            @NonNull Executor executor) { }
    default PipTransitionController getPipTransitionController() {
        return null;
    }
}
+1 −2
Original line number Diff line number Diff line
@@ -423,8 +423,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
            });
            mPipTransitionController.setPipOrganizer(this);
            displayController.addDisplayWindowListener(this);
            pipTransitionController.registerPipTransitionCallback(
                    mPipTransitionCallback, mMainExecutor);
            pipTransitionController.registerPipTransitionCallback(mPipTransitionCallback);
        }
    }

+14 −19
Original line number Diff line number Diff line
@@ -53,9 +53,8 @@ import com.android.wm.shell.transition.DefaultMixedHandler;
import com.android.wm.shell.transition.Transitions;

import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.Executor;
import java.util.ArrayList;
import java.util.List;

/**
 * Responsible supplying PiP Transitions.
@@ -67,7 +66,7 @@ public abstract class PipTransitionController implements Transitions.TransitionH
    protected final ShellTaskOrganizer mShellTaskOrganizer;
    protected final PipMenuController mPipMenuController;
    protected final Transitions mTransitions;
    private final Map<PipTransitionCallback, Executor> mPipTransitionCallbacks = new HashMap<>();
    private final List<PipTransitionCallback> mPipTransitionCallbacks = new ArrayList<>();
    protected PipTaskOrganizer mPipOrganizer;
    protected DefaultMixedHandler mMixedHandler;

@@ -184,18 +183,16 @@ public abstract class PipTransitionController implements Transitions.TransitionH
    /**
     * Registers {@link PipTransitionCallback} to receive transition callbacks.
     */
    public void registerPipTransitionCallback(
            @NonNull PipTransitionCallback callback, @NonNull Executor executor) {
        mPipTransitionCallbacks.put(callback, executor);
    public void registerPipTransitionCallback(PipTransitionCallback callback) {
        mPipTransitionCallbacks.add(callback);
    }

    protected void sendOnPipTransitionStarted(
            @PipAnimationController.TransitionDirection int direction) {
        final Rect pipBounds = mPipBoundsState.getBounds();
        for (Map.Entry<PipTransitionCallback, Executor> entry
                : mPipTransitionCallbacks.entrySet()) {
            entry.getValue().execute(
                    () -> entry.getKey().onPipTransitionStarted(direction, pipBounds));
        for (int i = mPipTransitionCallbacks.size() - 1; i >= 0; i--) {
            final PipTransitionCallback callback = mPipTransitionCallbacks.get(i);
            callback.onPipTransitionStarted(direction, pipBounds);
        }
        if (isInPipDirection(direction) && Flags.enablePipUiStateCallbackOnEntering()) {
            try {
@@ -212,10 +209,9 @@ public abstract class PipTransitionController implements Transitions.TransitionH

    protected void sendOnPipTransitionFinished(
            @PipAnimationController.TransitionDirection int direction) {
        for (Map.Entry<PipTransitionCallback, Executor> entry
                : mPipTransitionCallbacks.entrySet()) {
            entry.getValue().execute(
                    () -> entry.getKey().onPipTransitionFinished(direction));
        for (int i = mPipTransitionCallbacks.size() - 1; i >= 0; i--) {
            final PipTransitionCallback callback = mPipTransitionCallbacks.get(i);
            callback.onPipTransitionFinished(direction);
        }
        if (isInPipDirection(direction) && Flags.enablePipUiStateCallbackOnEntering()) {
            try {
@@ -232,10 +228,9 @@ public abstract class PipTransitionController implements Transitions.TransitionH

    protected void sendOnPipTransitionCancelled(
            @PipAnimationController.TransitionDirection int direction) {
        for (Map.Entry<PipTransitionCallback, Executor> entry
                : mPipTransitionCallbacks.entrySet()) {
            entry.getValue().execute(
                    () -> entry.getKey().onPipTransitionCanceled(direction));
        for (int i = mPipTransitionCallbacks.size() - 1; i >= 0; i--) {
            final PipTransitionCallback callback = mPipTransitionCallbacks.get(i);
            callback.onPipTransitionCanceled(direction);
        }
    }

+3 −7
Original line number Diff line number Diff line
@@ -106,7 +106,6 @@ import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.Executor;
import java.util.function.Consumer;

/**
@@ -479,7 +478,7 @@ public class PipController implements PipTransitionController.PipTransitionCallb
        mShellCommandHandler.addDumpCallback(this::dump, this);
        mPipInputConsumer = new PipInputConsumer(WindowManagerGlobal.getWindowManagerService(),
                INPUT_CONSUMER_PIP, mMainExecutor);
        mPipTransitionController.registerPipTransitionCallback(this, mMainExecutor);
        mPipTransitionController.registerPipTransitionCallback(this);
        mPipTaskOrganizer.registerOnDisplayIdChangeCallback((int displayId) -> {
            mPipDisplayLayoutState.setDisplayId(displayId);
            onDisplayChanged(mDisplayController.getDisplayLayout(displayId),
@@ -1221,11 +1220,8 @@ public class PipController implements PipTransitionController.PipTransitionCallb
        }

        @Override
        public void registerPipTransitionCallback(
                PipTransitionController.PipTransitionCallback callback,
                Executor executor) {
            mMainExecutor.execute(() -> mPipTransitionController.registerPipTransitionCallback(
                    callback, executor));
        public PipTransitionController getPipTransitionController() {
            return mPipTransitionController;
        }
    }

Loading