Merge "Make PipTaskManager Injectable." into rvc-dev

This commit is contained in:
Ben Lin
2020-05-05 18:07:52 +00:00
committed by Android (Google) Code Review
4 changed files with 11 additions and 4 deletions

View File

@@ -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();

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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);