Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java +1 −2 Original line number Diff line number Diff line Loading @@ -206,13 +206,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); } Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/Pip.java +4 −7 Original line number Diff line number Diff line Loading @@ -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; /** Loading Loading @@ -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; } } libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java +1 −2 Original line number Diff line number Diff line Loading @@ -423,8 +423,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener, }); mPipTransitionController.setPipOrganizer(this); displayController.addDisplayWindowListener(this); pipTransitionController.registerPipTransitionCallback( mPipTransitionCallback, mMainExecutor); pipTransitionController.registerPipTransitionCallback(mPipTransitionCallback); } } Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java +14 −19 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -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; Loading Loading @@ -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 { Loading @@ -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 { Loading @@ -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); } } Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +3 −7 Original line number Diff line number Diff line Loading @@ -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; /** Loading Loading @@ -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), Loading Loading @@ -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 Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java +1 −2 Original line number Diff line number Diff line Loading @@ -206,13 +206,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); } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/Pip.java +4 −7 Original line number Diff line number Diff line Loading @@ -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; /** Loading Loading @@ -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; } }
libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java +1 −2 Original line number Diff line number Diff line Loading @@ -423,8 +423,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener, }); mPipTransitionController.setPipOrganizer(this); displayController.addDisplayWindowListener(this); pipTransitionController.registerPipTransitionCallback( mPipTransitionCallback, mMainExecutor); pipTransitionController.registerPipTransitionCallback(mPipTransitionCallback); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java +14 −19 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -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; Loading Loading @@ -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 { Loading @@ -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 { Loading @@ -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); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +3 −7 Original line number Diff line number Diff line Loading @@ -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; /** Loading Loading @@ -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), Loading Loading @@ -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