Loading core/java/android/view/IPinnedTaskListener.aidl +0 −16 Original line number Diff line number Diff line Loading @@ -43,12 +43,6 @@ oneway interface IPinnedTaskListener { */ void onImeVisibilityChanged(boolean imeVisible, int imeHeight); /** * Called when the set of actions for the current PiP activity changes, or when the listener * is first registered to allow the listener to synchronize its state with the controller. */ void onActionsChanged(in ParceledListSlice<RemoteAction> actions, in RemoteAction closeAction); /** * Called by the window manager to notify the listener that Activity (was or is in pinned mode) * is hidden (either stopped or removed). This is generally used as a signal to reset saved Loading @@ -56,14 +50,4 @@ oneway interface IPinnedTaskListener { * {@param componentName} represents the application component of PiP window. */ void onActivityHidden(in ComponentName componentName); /** * Called by the window manager when the aspect ratio is reset. */ void onAspectRatioChanged(float aspectRatio); /** * Called by the window manager when the expanded aspect ratio is reset. */ void onExpandedAspectRatioChanged(float aspectRatio); } libs/WindowManager/Shell/src/com/android/wm/shell/dagger/TvPipModule.java +13 −2 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.wm.shell.common.annotations.ShellMainThread; import com.android.wm.shell.pip.Pip; import com.android.wm.shell.pip.PipAnimationController; import com.android.wm.shell.pip.PipMediaController; import com.android.wm.shell.pip.PipParamsChangedForwarder; import com.android.wm.shell.pip.PipSnapAlgorithm; import com.android.wm.shell.pip.PipSurfaceTransactionHelper; import com.android.wm.shell.pip.PipTaskOrganizer; Loading @@ -41,6 +42,7 @@ import com.android.wm.shell.pip.tv.TvPipBoundsState; import com.android.wm.shell.pip.tv.TvPipController; import com.android.wm.shell.pip.tv.TvPipMenuController; import com.android.wm.shell.pip.tv.TvPipNotificationController; import com.android.wm.shell.pip.tv.TvPipTaskOrganizer; import com.android.wm.shell.pip.tv.TvPipTransition; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.transition.Transitions; Loading @@ -67,6 +69,7 @@ public abstract class TvPipModule { PipTransitionController pipTransitionController, TvPipNotificationController tvPipNotificationController, TaskStackListenerImpl taskStackListener, PipParamsChangedForwarder pipParamsChangedForwarder, DisplayController displayController, WindowManagerShellWrapper windowManagerShellWrapper, @ShellMainThread ShellExecutor mainExecutor, Loading @@ -82,6 +85,7 @@ public abstract class TvPipModule { pipMediaController, tvPipNotificationController, taskStackListener, pipParamsChangedForwarder, displayController, windowManagerShellWrapper, mainExecutor, Loading Loading @@ -163,15 +167,22 @@ public abstract class TvPipModule { TvPipBoundsAlgorithm tvPipBoundsAlgorithm, PipAnimationController pipAnimationController, PipTransitionController pipTransitionController, PipParamsChangedForwarder pipParamsChangedForwarder, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, Optional<SplitScreenController> splitScreenControllerOptional, DisplayController displayController, PipUiEventLogger pipUiEventLogger, ShellTaskOrganizer shellTaskOrganizer, @ShellMainThread ShellExecutor mainExecutor) { return new PipTaskOrganizer(context, return new TvPipTaskOrganizer(context, syncTransactionQueue, pipTransitionState, tvPipBoundsState, tvPipBoundsAlgorithm, tvPipMenuController, pipAnimationController, pipSurfaceTransactionHelper, pipTransitionController, splitScreenControllerOptional, pipTransitionController, pipParamsChangedForwarder, splitScreenControllerOptional, displayController, pipUiEventLogger, shellTaskOrganizer, mainExecutor); } @WMSingleton @Provides static PipParamsChangedForwarder providePipParamsChangedForwarder() { return new PipParamsChangedForwarder(); } } libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +13 −5 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import com.android.wm.shell.pip.PipAnimationController; import com.android.wm.shell.pip.PipBoundsAlgorithm; import com.android.wm.shell.pip.PipBoundsState; import com.android.wm.shell.pip.PipMediaController; import com.android.wm.shell.pip.PipParamsChangedForwarder; import com.android.wm.shell.pip.PipSnapAlgorithm; import com.android.wm.shell.pip.PipSurfaceTransactionHelper; import com.android.wm.shell.pip.PipTaskOrganizer; Loading Loading @@ -216,14 +217,14 @@ public class WMShellModule { PipTouchHandler pipTouchHandler, PipTransitionController pipTransitionController, WindowManagerShellWrapper windowManagerShellWrapper, TaskStackListenerImpl taskStackListener, PipParamsChangedForwarder pipParamsChangedForwarder, Optional<OneHandedController> oneHandedController, @ShellMainThread ShellExecutor mainExecutor) { return Optional.ofNullable(PipController.create(context, displayController, pipAppOpsListener, pipBoundsAlgorithm, pipKeepClearAlgorithm, pipBoundsState, pipMotionHelper, pipMediaController, phonePipMenuController, pipTaskOrganizer, pipTouchHandler, pipTransitionController, windowManagerShellWrapper, taskStackListener, oneHandedController, mainExecutor)); pipMotionHelper, pipMediaController, phonePipMenuController, pipTaskOrganizer, pipTouchHandler, pipTransitionController, windowManagerShellWrapper, taskStackListener, pipParamsChangedForwarder, oneHandedController, mainExecutor)); } @WMSingleton Loading Loading @@ -297,6 +298,7 @@ public class WMShellModule { PipAnimationController pipAnimationController, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, PipTransitionController pipTransitionController, PipParamsChangedForwarder pipParamsChangedForwarder, Optional<SplitScreenController> splitScreenControllerOptional, DisplayController displayController, PipUiEventLogger pipUiEventLogger, ShellTaskOrganizer shellTaskOrganizer, Loading @@ -304,7 +306,7 @@ public class WMShellModule { return new PipTaskOrganizer(context, syncTransactionQueue, pipTransitionState, pipBoundsState, pipBoundsAlgorithm, menuPhoneController, pipAnimationController, pipSurfaceTransactionHelper, pipTransitionController, splitScreenControllerOptional, pipTransitionController, pipParamsChangedForwarder, splitScreenControllerOptional, displayController, pipUiEventLogger, shellTaskOrganizer, mainExecutor); } Loading Loading @@ -391,4 +393,10 @@ public class WMShellModule { rootTaskDisplayAreaOrganizer ); } @WMSingleton @Provides static PipParamsChangedForwarder providePipParamsChangedForwarder() { return new PipParamsChangedForwarder(); } } libs/WindowManager/Shell/src/com/android/wm/shell/pip/PinnedStackListenerForwarder.java +0 −52 Original line number Diff line number Diff line Loading @@ -16,9 +16,7 @@ package com.android.wm.shell.pip; import android.app.RemoteAction; import android.content.ComponentName; import android.content.pm.ParceledListSlice; import android.os.RemoteException; import android.view.IPinnedTaskListener; import android.view.WindowManagerGlobal; Loading Loading @@ -72,31 +70,12 @@ public class PinnedStackListenerForwarder { } } private void onActionsChanged(ParceledListSlice<RemoteAction> actions, RemoteAction closeAction) { for (PinnedTaskListener listener : mListeners) { listener.onActionsChanged(actions, closeAction); } } private void onActivityHidden(ComponentName componentName) { for (PinnedTaskListener listener : mListeners) { listener.onActivityHidden(componentName); } } private void onAspectRatioChanged(float aspectRatio) { for (PinnedTaskListener listener : mListeners) { listener.onAspectRatioChanged(aspectRatio); } } private void onExpandedAspectRatioChanged(float aspectRatio) { for (PinnedTaskListener listener : mListeners) { listener.onExpandedAspectRatioChanged(aspectRatio); } } @BinderThread private class PinnedTaskListenerImpl extends IPinnedTaskListener.Stub { @Override Loading @@ -113,36 +92,12 @@ public class PinnedStackListenerForwarder { }); } @Override public void onActionsChanged(ParceledListSlice<RemoteAction> actions, RemoteAction closeAction) { mMainExecutor.execute(() -> { PinnedStackListenerForwarder.this.onActionsChanged(actions, closeAction); }); } @Override public void onActivityHidden(ComponentName componentName) { mMainExecutor.execute(() -> { PinnedStackListenerForwarder.this.onActivityHidden(componentName); }); } @Override public void onAspectRatioChanged(float aspectRatio) { mMainExecutor.execute(() -> { PinnedStackListenerForwarder.this.onAspectRatioChanged(aspectRatio); }); } @Override public void onExpandedAspectRatioChanged(float aspectRatio) { mMainExecutor.execute(() -> { PinnedStackListenerForwarder.this.onExpandedAspectRatioChanged(aspectRatio); }); } } /** Loading @@ -154,13 +109,6 @@ public class PinnedStackListenerForwarder { public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {} public void onActionsChanged(ParceledListSlice<RemoteAction> actions, RemoteAction closeAction) {} public void onActivityHidden(ComponentName componentName) {} public void onAspectRatioChanged(float aspectRatio) {} public void onExpandedAspectRatioChanged(float aspectRatio) {} } } libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipMenuController.java +3 −2 Original line number Diff line number Diff line Loading @@ -26,12 +26,13 @@ import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; import android.annotation.Nullable; import android.app.ActivityManager.RunningTaskInfo; import android.app.RemoteAction; import android.content.pm.ParceledListSlice; import android.graphics.PixelFormat; import android.graphics.Rect; import android.view.SurfaceControl; import android.view.WindowManager; import java.util.List; /** * Interface to allow {@link com.android.wm.shell.pip.PipTaskOrganizer} to call into * PiP menu when certain events happen (task appear/vanish, PiP move, etc.) Loading Loading @@ -66,7 +67,7 @@ public interface PipMenuController { /** * Given a set of actions, update the menu. */ void setAppActions(ParceledListSlice<RemoteAction> appActions, RemoteAction closeAction); void setAppActions(List<RemoteAction> appActions, RemoteAction closeAction); /** * Resize the PiP menu with the given bounds. The PiP SurfaceControl is given if there is a Loading Loading
core/java/android/view/IPinnedTaskListener.aidl +0 −16 Original line number Diff line number Diff line Loading @@ -43,12 +43,6 @@ oneway interface IPinnedTaskListener { */ void onImeVisibilityChanged(boolean imeVisible, int imeHeight); /** * Called when the set of actions for the current PiP activity changes, or when the listener * is first registered to allow the listener to synchronize its state with the controller. */ void onActionsChanged(in ParceledListSlice<RemoteAction> actions, in RemoteAction closeAction); /** * Called by the window manager to notify the listener that Activity (was or is in pinned mode) * is hidden (either stopped or removed). This is generally used as a signal to reset saved Loading @@ -56,14 +50,4 @@ oneway interface IPinnedTaskListener { * {@param componentName} represents the application component of PiP window. */ void onActivityHidden(in ComponentName componentName); /** * Called by the window manager when the aspect ratio is reset. */ void onAspectRatioChanged(float aspectRatio); /** * Called by the window manager when the expanded aspect ratio is reset. */ void onExpandedAspectRatioChanged(float aspectRatio); }
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/TvPipModule.java +13 −2 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.wm.shell.common.annotations.ShellMainThread; import com.android.wm.shell.pip.Pip; import com.android.wm.shell.pip.PipAnimationController; import com.android.wm.shell.pip.PipMediaController; import com.android.wm.shell.pip.PipParamsChangedForwarder; import com.android.wm.shell.pip.PipSnapAlgorithm; import com.android.wm.shell.pip.PipSurfaceTransactionHelper; import com.android.wm.shell.pip.PipTaskOrganizer; Loading @@ -41,6 +42,7 @@ import com.android.wm.shell.pip.tv.TvPipBoundsState; import com.android.wm.shell.pip.tv.TvPipController; import com.android.wm.shell.pip.tv.TvPipMenuController; import com.android.wm.shell.pip.tv.TvPipNotificationController; import com.android.wm.shell.pip.tv.TvPipTaskOrganizer; import com.android.wm.shell.pip.tv.TvPipTransition; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.transition.Transitions; Loading @@ -67,6 +69,7 @@ public abstract class TvPipModule { PipTransitionController pipTransitionController, TvPipNotificationController tvPipNotificationController, TaskStackListenerImpl taskStackListener, PipParamsChangedForwarder pipParamsChangedForwarder, DisplayController displayController, WindowManagerShellWrapper windowManagerShellWrapper, @ShellMainThread ShellExecutor mainExecutor, Loading @@ -82,6 +85,7 @@ public abstract class TvPipModule { pipMediaController, tvPipNotificationController, taskStackListener, pipParamsChangedForwarder, displayController, windowManagerShellWrapper, mainExecutor, Loading Loading @@ -163,15 +167,22 @@ public abstract class TvPipModule { TvPipBoundsAlgorithm tvPipBoundsAlgorithm, PipAnimationController pipAnimationController, PipTransitionController pipTransitionController, PipParamsChangedForwarder pipParamsChangedForwarder, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, Optional<SplitScreenController> splitScreenControllerOptional, DisplayController displayController, PipUiEventLogger pipUiEventLogger, ShellTaskOrganizer shellTaskOrganizer, @ShellMainThread ShellExecutor mainExecutor) { return new PipTaskOrganizer(context, return new TvPipTaskOrganizer(context, syncTransactionQueue, pipTransitionState, tvPipBoundsState, tvPipBoundsAlgorithm, tvPipMenuController, pipAnimationController, pipSurfaceTransactionHelper, pipTransitionController, splitScreenControllerOptional, pipTransitionController, pipParamsChangedForwarder, splitScreenControllerOptional, displayController, pipUiEventLogger, shellTaskOrganizer, mainExecutor); } @WMSingleton @Provides static PipParamsChangedForwarder providePipParamsChangedForwarder() { return new PipParamsChangedForwarder(); } }
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +13 −5 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import com.android.wm.shell.pip.PipAnimationController; import com.android.wm.shell.pip.PipBoundsAlgorithm; import com.android.wm.shell.pip.PipBoundsState; import com.android.wm.shell.pip.PipMediaController; import com.android.wm.shell.pip.PipParamsChangedForwarder; import com.android.wm.shell.pip.PipSnapAlgorithm; import com.android.wm.shell.pip.PipSurfaceTransactionHelper; import com.android.wm.shell.pip.PipTaskOrganizer; Loading Loading @@ -216,14 +217,14 @@ public class WMShellModule { PipTouchHandler pipTouchHandler, PipTransitionController pipTransitionController, WindowManagerShellWrapper windowManagerShellWrapper, TaskStackListenerImpl taskStackListener, PipParamsChangedForwarder pipParamsChangedForwarder, Optional<OneHandedController> oneHandedController, @ShellMainThread ShellExecutor mainExecutor) { return Optional.ofNullable(PipController.create(context, displayController, pipAppOpsListener, pipBoundsAlgorithm, pipKeepClearAlgorithm, pipBoundsState, pipMotionHelper, pipMediaController, phonePipMenuController, pipTaskOrganizer, pipTouchHandler, pipTransitionController, windowManagerShellWrapper, taskStackListener, oneHandedController, mainExecutor)); pipMotionHelper, pipMediaController, phonePipMenuController, pipTaskOrganizer, pipTouchHandler, pipTransitionController, windowManagerShellWrapper, taskStackListener, pipParamsChangedForwarder, oneHandedController, mainExecutor)); } @WMSingleton Loading Loading @@ -297,6 +298,7 @@ public class WMShellModule { PipAnimationController pipAnimationController, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, PipTransitionController pipTransitionController, PipParamsChangedForwarder pipParamsChangedForwarder, Optional<SplitScreenController> splitScreenControllerOptional, DisplayController displayController, PipUiEventLogger pipUiEventLogger, ShellTaskOrganizer shellTaskOrganizer, Loading @@ -304,7 +306,7 @@ public class WMShellModule { return new PipTaskOrganizer(context, syncTransactionQueue, pipTransitionState, pipBoundsState, pipBoundsAlgorithm, menuPhoneController, pipAnimationController, pipSurfaceTransactionHelper, pipTransitionController, splitScreenControllerOptional, pipTransitionController, pipParamsChangedForwarder, splitScreenControllerOptional, displayController, pipUiEventLogger, shellTaskOrganizer, mainExecutor); } Loading Loading @@ -391,4 +393,10 @@ public class WMShellModule { rootTaskDisplayAreaOrganizer ); } @WMSingleton @Provides static PipParamsChangedForwarder providePipParamsChangedForwarder() { return new PipParamsChangedForwarder(); } }
libs/WindowManager/Shell/src/com/android/wm/shell/pip/PinnedStackListenerForwarder.java +0 −52 Original line number Diff line number Diff line Loading @@ -16,9 +16,7 @@ package com.android.wm.shell.pip; import android.app.RemoteAction; import android.content.ComponentName; import android.content.pm.ParceledListSlice; import android.os.RemoteException; import android.view.IPinnedTaskListener; import android.view.WindowManagerGlobal; Loading Loading @@ -72,31 +70,12 @@ public class PinnedStackListenerForwarder { } } private void onActionsChanged(ParceledListSlice<RemoteAction> actions, RemoteAction closeAction) { for (PinnedTaskListener listener : mListeners) { listener.onActionsChanged(actions, closeAction); } } private void onActivityHidden(ComponentName componentName) { for (PinnedTaskListener listener : mListeners) { listener.onActivityHidden(componentName); } } private void onAspectRatioChanged(float aspectRatio) { for (PinnedTaskListener listener : mListeners) { listener.onAspectRatioChanged(aspectRatio); } } private void onExpandedAspectRatioChanged(float aspectRatio) { for (PinnedTaskListener listener : mListeners) { listener.onExpandedAspectRatioChanged(aspectRatio); } } @BinderThread private class PinnedTaskListenerImpl extends IPinnedTaskListener.Stub { @Override Loading @@ -113,36 +92,12 @@ public class PinnedStackListenerForwarder { }); } @Override public void onActionsChanged(ParceledListSlice<RemoteAction> actions, RemoteAction closeAction) { mMainExecutor.execute(() -> { PinnedStackListenerForwarder.this.onActionsChanged(actions, closeAction); }); } @Override public void onActivityHidden(ComponentName componentName) { mMainExecutor.execute(() -> { PinnedStackListenerForwarder.this.onActivityHidden(componentName); }); } @Override public void onAspectRatioChanged(float aspectRatio) { mMainExecutor.execute(() -> { PinnedStackListenerForwarder.this.onAspectRatioChanged(aspectRatio); }); } @Override public void onExpandedAspectRatioChanged(float aspectRatio) { mMainExecutor.execute(() -> { PinnedStackListenerForwarder.this.onExpandedAspectRatioChanged(aspectRatio); }); } } /** Loading @@ -154,13 +109,6 @@ public class PinnedStackListenerForwarder { public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {} public void onActionsChanged(ParceledListSlice<RemoteAction> actions, RemoteAction closeAction) {} public void onActivityHidden(ComponentName componentName) {} public void onAspectRatioChanged(float aspectRatio) {} public void onExpandedAspectRatioChanged(float aspectRatio) {} } }
libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipMenuController.java +3 −2 Original line number Diff line number Diff line Loading @@ -26,12 +26,13 @@ import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; import android.annotation.Nullable; import android.app.ActivityManager.RunningTaskInfo; import android.app.RemoteAction; import android.content.pm.ParceledListSlice; import android.graphics.PixelFormat; import android.graphics.Rect; import android.view.SurfaceControl; import android.view.WindowManager; import java.util.List; /** * Interface to allow {@link com.android.wm.shell.pip.PipTaskOrganizer} to call into * PiP menu when certain events happen (task appear/vanish, PiP move, etc.) Loading Loading @@ -66,7 +67,7 @@ public interface PipMenuController { /** * Given a set of actions, update the menu. */ void setAppActions(ParceledListSlice<RemoteAction> appActions, RemoteAction closeAction); void setAppActions(List<RemoteAction> appActions, RemoteAction closeAction); /** * Resize the PiP menu with the given bounds. The PiP SurfaceControl is given if there is a Loading