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

Commit 150617a5 authored by Ben Lin's avatar Ben Lin Committed by Automerger Merge Worker
Browse files

Merge "Make PipTaskManager Injectable." into rvc-dev am: c07cd07a

Change-Id: Ide1b605932b734adf6d83b6b3cfeaf1744233055
parents 17648445 c07cd07a
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -43,11 +43,13 @@ import android.window.WindowContainerTransaction;
import java.io.PrintWriter;
import java.io.PrintWriter;


import javax.inject.Inject;
import javax.inject.Inject;
import javax.inject.Singleton;


/**
/**
 * Handles bounds calculation for PIP on Phone and other form factors, it keeps tracking variant
 * Handles bounds calculation for PIP on Phone and other form factors, it keeps tracking variant
 * state changes originated from Window Manager and is the source of truth for PiP window bounds.
 * state changes originated from Window Manager and is the source of truth for PiP window bounds.
 */
 */
@Singleton
public class PipBoundsHandler {
public class PipBoundsHandler {


    private static final String TAG = PipBoundsHandler.class.getSimpleName();
    private static final String TAG = PipBoundsHandler.class.getSimpleName();
+5 −0
Original line number Original line Diff line number Diff line
@@ -58,6 +58,9 @@ import java.util.Map;
import java.util.Objects;
import java.util.Objects;
import java.util.function.Consumer;
import java.util.function.Consumer;


import javax.inject.Inject;
import javax.inject.Singleton;

/**
/**
 * Manages PiP tasks such as resize and offset.
 * Manages PiP tasks such as resize and offset.
 *
 *
@@ -69,6 +72,7 @@ import java.util.function.Consumer;
 * This class is also responsible for general resize/offset PiP operations within SysUI component,
 * This class is also responsible for general resize/offset PiP operations within SysUI component,
 * see also {@link com.android.systemui.pip.phone.PipMotionHelper}.
 * see also {@link com.android.systemui.pip.phone.PipMotionHelper}.
 */
 */
@Singleton
public class PipTaskOrganizer extends TaskOrganizer {
public class PipTaskOrganizer extends TaskOrganizer {
    private static final String TAG = PipTaskOrganizer.class.getSimpleName();
    private static final String TAG = PipTaskOrganizer.class.getSimpleName();


@@ -192,6 +196,7 @@ public class PipTaskOrganizer extends TaskOrganizer {
            mSurfaceControlTransactionFactory;
            mSurfaceControlTransactionFactory;
    private PictureInPictureParams mPictureInPictureParams;
    private PictureInPictureParams mPictureInPictureParams;


    @Inject
    public PipTaskOrganizer(Context context, @NonNull PipBoundsHandler boundsHandler,
    public PipTaskOrganizer(Context context, @NonNull PipBoundsHandler boundsHandler,
            @NonNull PipSurfaceTransactionHelper surfaceTransactionHelper,
            @NonNull PipSurfaceTransactionHelper surfaceTransactionHelper,
            @Nullable Divider divider) {
            @Nullable Divider divider) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -200,6 +200,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
            DeviceConfigProxy deviceConfig,
            DeviceConfigProxy deviceConfig,
            PipBoundsHandler pipBoundsHandler,
            PipBoundsHandler pipBoundsHandler,
            PipSnapAlgorithm pipSnapAlgorithm,
            PipSnapAlgorithm pipSnapAlgorithm,
            PipTaskOrganizer pipTaskOrganizer,
            PipSurfaceTransactionHelper surfaceTransactionHelper,
            PipSurfaceTransactionHelper surfaceTransactionHelper,
            Divider divider) {
            Divider divider) {
        mContext = context;
        mContext = context;
@@ -215,8 +216,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio


        final IActivityTaskManager activityTaskManager = ActivityTaskManager.getService();
        final IActivityTaskManager activityTaskManager = ActivityTaskManager.getService();
        mPipBoundsHandler = pipBoundsHandler;
        mPipBoundsHandler = pipBoundsHandler;
        mPipTaskOrganizer = new PipTaskOrganizer(context, pipBoundsHandler,
        mPipTaskOrganizer = pipTaskOrganizer;
                surfaceTransactionHelper, divider);
        mPipTaskOrganizer.registerPipTransitionCallback(this);
        mPipTaskOrganizer.registerPipTransitionCallback(this);
        mInputConsumerController = InputConsumerController.getPipInputConsumer();
        mInputConsumerController = InputConsumerController.getPipInputConsumer();
        mMediaController = new PipMediaController(context, mActivityManager, broadcastDispatcher);
        mMediaController = new PipMediaController(context, mActivityManager, broadcastDispatcher);
+2 −2
Original line number Original line Diff line number Diff line
@@ -233,6 +233,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
    @Inject
    @Inject
    public PipManager(Context context, BroadcastDispatcher broadcastDispatcher,
    public PipManager(Context context, BroadcastDispatcher broadcastDispatcher,
            PipBoundsHandler pipBoundsHandler,
            PipBoundsHandler pipBoundsHandler,
            PipTaskOrganizer pipTaskOrganizer,
            PipSurfaceTransactionHelper surfaceTransactionHelper,
            PipSurfaceTransactionHelper surfaceTransactionHelper,
            Divider divider) {
            Divider divider) {
        if (mInitialized) {
        if (mInitialized) {
@@ -250,8 +251,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio


        mResizeAnimationDuration = context.getResources()
        mResizeAnimationDuration = context.getResources()
                .getInteger(R.integer.config_pipResizeAnimationDuration);
                .getInteger(R.integer.config_pipResizeAnimationDuration);
        mPipTaskOrganizer = new PipTaskOrganizer(mContext, mPipBoundsHandler,
        mPipTaskOrganizer = pipTaskOrganizer;
                surfaceTransactionHelper, divider);
        mPipTaskOrganizer.registerPipTransitionCallback(this);
        mPipTaskOrganizer.registerPipTransitionCallback(this);
        mActivityTaskManager = ActivityTaskManager.getService();
        mActivityTaskManager = ActivityTaskManager.getService();
        ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskStackListener);
        ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskStackListener);