From 6189fa4c800312fe5973ed7768ccf7d7b0c1d599 Mon Sep 17 00:00:00 2001 From: Ben Lin Date: Wed, 29 Apr 2020 14:59:16 -0700 Subject: [PATCH] Make PipTaskManager Injectable. Bug: 155328845 Test: Build Change-Id: I5e470824339af9cf605052f74e8f882a43de05d3 --- .../src/com/android/systemui/pip/PipBoundsHandler.java | 2 ++ .../src/com/android/systemui/pip/PipTaskOrganizer.java | 5 +++++ .../src/com/android/systemui/pip/phone/PipManager.java | 4 ++-- .../SystemUI/src/com/android/systemui/pip/tv/PipManager.java | 4 ++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/pip/PipBoundsHandler.java b/packages/SystemUI/src/com/android/systemui/pip/PipBoundsHandler.java index 9d9e74abc38fa..3eeadc367b0d9 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/PipBoundsHandler.java +++ b/packages/SystemUI/src/com/android/systemui/pip/PipBoundsHandler.java @@ -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(); diff --git a/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java b/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java index 9c8fb7c52eecd..43e6df5026217 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java +++ b/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java @@ -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(); @@ -191,6 +195,7 @@ public class PipTaskOrganizer extends TaskOrganizer { private PipSurfaceTransactionHelper.SurfaceControlTransactionFactory mSurfaceControlTransactionFactory; + @Inject public PipTaskOrganizer(Context context, @NonNull PipBoundsHandler boundsHandler, @NonNull PipSurfaceTransactionHelper surfaceTransactionHelper, @Nullable Divider divider) { diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java index a86a884c80168..0841bb70f2055 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java +++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java @@ -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); diff --git a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java index fae8af4f575a2..f49732d98ae8e 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java +++ b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java @@ -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);