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 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();
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user