Merge "Make PipTaskManager Injectable." into rvc-dev
This commit is contained in:
@@ -43,11 +43,13 @@ import android.window.WindowContainerTransaction;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
@Singleton
|
||||
public class PipBoundsHandler {
|
||||
|
||||
private static final String TAG = PipBoundsHandler.class.getSimpleName();
|
||||
|
||||
@@ -58,6 +58,9 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
/**
|
||||
* 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,
|
||||
* see also {@link com.android.systemui.pip.phone.PipMotionHelper}.
|
||||
*/
|
||||
@Singleton
|
||||
public class PipTaskOrganizer extends TaskOrganizer {
|
||||
private static final String TAG = PipTaskOrganizer.class.getSimpleName();
|
||||
|
||||
@@ -192,6 +196,7 @@ public class PipTaskOrganizer extends TaskOrganizer {
|
||||
mSurfaceControlTransactionFactory;
|
||||
private PictureInPictureParams mPictureInPictureParams;
|
||||
|
||||
@Inject
|
||||
public PipTaskOrganizer(Context context, @NonNull PipBoundsHandler boundsHandler,
|
||||
@NonNull PipSurfaceTransactionHelper surfaceTransactionHelper,
|
||||
@Nullable Divider divider) {
|
||||
|
||||
@@ -200,6 +200,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
|
||||
DeviceConfigProxy deviceConfig,
|
||||
PipBoundsHandler pipBoundsHandler,
|
||||
PipSnapAlgorithm pipSnapAlgorithm,
|
||||
PipTaskOrganizer pipTaskOrganizer,
|
||||
PipSurfaceTransactionHelper surfaceTransactionHelper,
|
||||
Divider divider) {
|
||||
mContext = context;
|
||||
@@ -215,8 +216,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
|
||||
|
||||
final IActivityTaskManager activityTaskManager = ActivityTaskManager.getService();
|
||||
mPipBoundsHandler = pipBoundsHandler;
|
||||
mPipTaskOrganizer = new PipTaskOrganizer(context, pipBoundsHandler,
|
||||
surfaceTransactionHelper, divider);
|
||||
mPipTaskOrganizer = pipTaskOrganizer;
|
||||
mPipTaskOrganizer.registerPipTransitionCallback(this);
|
||||
mInputConsumerController = InputConsumerController.getPipInputConsumer();
|
||||
mMediaController = new PipMediaController(context, mActivityManager, broadcastDispatcher);
|
||||
|
||||
@@ -233,6 +233,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
|
||||
@Inject
|
||||
public PipManager(Context context, BroadcastDispatcher broadcastDispatcher,
|
||||
PipBoundsHandler pipBoundsHandler,
|
||||
PipTaskOrganizer pipTaskOrganizer,
|
||||
PipSurfaceTransactionHelper surfaceTransactionHelper,
|
||||
Divider divider) {
|
||||
if (mInitialized) {
|
||||
@@ -250,8 +251,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
|
||||
|
||||
mResizeAnimationDuration = context.getResources()
|
||||
.getInteger(R.integer.config_pipResizeAnimationDuration);
|
||||
mPipTaskOrganizer = new PipTaskOrganizer(mContext, mPipBoundsHandler,
|
||||
surfaceTransactionHelper, divider);
|
||||
mPipTaskOrganizer = pipTaskOrganizer;
|
||||
mPipTaskOrganizer.registerPipTransitionCallback(this);
|
||||
mActivityTaskManager = ActivityTaskManager.getService();
|
||||
ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskStackListener);
|
||||
|
||||
Reference in New Issue
Block a user