Loading packages/SystemUI/src/com/android/systemui/pip/PipBoundsHandler.java +5 −2 Original line number Diff line number Diff line Loading @@ -42,6 +42,8 @@ import android.view.WindowManagerGlobal; import java.io.PrintWriter; import javax.inject.Inject; /** * 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. Loading Loading @@ -81,9 +83,10 @@ public class PipBoundsHandler { private boolean mIsShelfShowing; private int mShelfHeight; public PipBoundsHandler(Context context) { @Inject public PipBoundsHandler(Context context, PipSnapAlgorithm pipSnapAlgorithm) { mContext = context; mSnapAlgorithm = new PipSnapAlgorithm(context); mSnapAlgorithm = pipSnapAlgorithm; mWindowManager = WindowManagerGlobal.getWindowManagerService(); reloadResources(); // Initialize the aspect ratio to the default aspect ratio. Don't do this in reload Loading packages/SystemUI/src/com/android/systemui/pip/PipSnapAlgorithm.java +3 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import android.util.Size; import java.io.PrintWriter; import javax.inject.Inject; /** * Calculates the snap targets and the snap position for the PIP given a position and a velocity. * All bounds are relative to the display top/left. Loading @@ -39,6 +41,7 @@ public class PipSnapAlgorithm { private int mOrientation = Configuration.ORIENTATION_UNDEFINED; @Inject public PipSnapAlgorithm(Context context) { Resources res = context.getResources(); mContext = context; Loading packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java +6 −3 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.systemui.UiOffloadThread; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.pip.BasePipManager; import com.android.systemui.pip.PipBoundsHandler; import com.android.systemui.pip.PipSnapAlgorithm; import com.android.systemui.pip.PipTaskOrganizer; import com.android.systemui.shared.recents.IPinnedStackAnimationListener; import com.android.systemui.shared.system.ActivityManagerWrapper; Loading Loading @@ -205,7 +206,9 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio public PipManager(Context context, BroadcastDispatcher broadcastDispatcher, DisplayController displayController, FloatingContentCoordinator floatingContentCoordinator, DeviceConfigProxy deviceConfig) { DeviceConfigProxy deviceConfig, PipBoundsHandler pipBoundsHandler, PipSnapAlgorithm pipSnapAlgorithm) { mContext = context; mActivityManager = ActivityManager.getService(); Loading @@ -218,7 +221,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskStackListener); final IActivityTaskManager activityTaskManager = ActivityTaskManager.getService(); mPipBoundsHandler = new PipBoundsHandler(context); mPipBoundsHandler = pipBoundsHandler; mPipTaskOrganizer = new PipTaskOrganizer(mContext, mPipBoundsHandler); mPipTaskOrganizer.registerPipTransitionCallback(this); mInputConsumerController = InputConsumerController.getPipInputConsumer(); Loading @@ -227,7 +230,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio mInputConsumerController); mTouchHandler = new PipTouchHandler(context, mActivityManager, activityTaskManager, mMenuController, mInputConsumerController, mPipBoundsHandler, mPipTaskOrganizer, floatingContentCoordinator, deviceConfig); floatingContentCoordinator, deviceConfig, pipSnapAlgorithm); mAppOpsListener = new PipAppOpsListener(context, mActivityManager, mTouchHandler.getMotionHelper()); displayController.addDisplayChangingController(mRotationController); Loading packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java +3 −2 Original line number Diff line number Diff line Loading @@ -166,7 +166,8 @@ public class PipTouchHandler { PipBoundsHandler pipBoundsHandler, PipTaskOrganizer pipTaskOrganizer, FloatingContentCoordinator floatingContentCoordinator, DeviceConfigProxy deviceConfig) { DeviceConfigProxy deviceConfig, PipSnapAlgorithm pipSnapAlgorithm) { // Initialize the Pip input consumer mContext = context; mActivityManager = activityManager; Loading @@ -174,7 +175,7 @@ public class PipTouchHandler { mMenuController = menuController; mMenuController.addListener(new PipMenuListener()); mDismissViewController = new PipDismissViewController(context); mSnapAlgorithm = new PipSnapAlgorithm(mContext); mSnapAlgorithm = pipSnapAlgorithm; mFlingAnimationUtils = new FlingAnimationUtils(context.getResources().getDisplayMetrics(), 2.5f); mGesture = new DefaultPipTouchGesture(); Loading packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java +3 −2 Original line number Diff line number Diff line Loading @@ -228,13 +228,14 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio } @Inject public PipManager(Context context, BroadcastDispatcher broadcastDispatcher) { public PipManager(Context context, BroadcastDispatcher broadcastDispatcher, PipBoundsHandler pipBoundsHandler) { if (mInitialized) { return; } mInitialized = true; mContext = context; mPipBoundsHandler = new PipBoundsHandler(context); mPipBoundsHandler = pipBoundsHandler; mPipTaskOrganizer = new PipTaskOrganizer(mContext, mPipBoundsHandler); mPipTaskOrganizer.registerPipTransitionCallback(this); mActivityTaskManager = ActivityTaskManager.getService(); Loading Loading
packages/SystemUI/src/com/android/systemui/pip/PipBoundsHandler.java +5 −2 Original line number Diff line number Diff line Loading @@ -42,6 +42,8 @@ import android.view.WindowManagerGlobal; import java.io.PrintWriter; import javax.inject.Inject; /** * 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. Loading Loading @@ -81,9 +83,10 @@ public class PipBoundsHandler { private boolean mIsShelfShowing; private int mShelfHeight; public PipBoundsHandler(Context context) { @Inject public PipBoundsHandler(Context context, PipSnapAlgorithm pipSnapAlgorithm) { mContext = context; mSnapAlgorithm = new PipSnapAlgorithm(context); mSnapAlgorithm = pipSnapAlgorithm; mWindowManager = WindowManagerGlobal.getWindowManagerService(); reloadResources(); // Initialize the aspect ratio to the default aspect ratio. Don't do this in reload Loading
packages/SystemUI/src/com/android/systemui/pip/PipSnapAlgorithm.java +3 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ import android.util.Size; import java.io.PrintWriter; import javax.inject.Inject; /** * Calculates the snap targets and the snap position for the PIP given a position and a velocity. * All bounds are relative to the display top/left. Loading @@ -39,6 +41,7 @@ public class PipSnapAlgorithm { private int mOrientation = Configuration.ORIENTATION_UNDEFINED; @Inject public PipSnapAlgorithm(Context context) { Resources res = context.getResources(); mContext = context; Loading
packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java +6 −3 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.systemui.UiOffloadThread; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.pip.BasePipManager; import com.android.systemui.pip.PipBoundsHandler; import com.android.systemui.pip.PipSnapAlgorithm; import com.android.systemui.pip.PipTaskOrganizer; import com.android.systemui.shared.recents.IPinnedStackAnimationListener; import com.android.systemui.shared.system.ActivityManagerWrapper; Loading Loading @@ -205,7 +206,9 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio public PipManager(Context context, BroadcastDispatcher broadcastDispatcher, DisplayController displayController, FloatingContentCoordinator floatingContentCoordinator, DeviceConfigProxy deviceConfig) { DeviceConfigProxy deviceConfig, PipBoundsHandler pipBoundsHandler, PipSnapAlgorithm pipSnapAlgorithm) { mContext = context; mActivityManager = ActivityManager.getService(); Loading @@ -218,7 +221,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskStackListener); final IActivityTaskManager activityTaskManager = ActivityTaskManager.getService(); mPipBoundsHandler = new PipBoundsHandler(context); mPipBoundsHandler = pipBoundsHandler; mPipTaskOrganizer = new PipTaskOrganizer(mContext, mPipBoundsHandler); mPipTaskOrganizer.registerPipTransitionCallback(this); mInputConsumerController = InputConsumerController.getPipInputConsumer(); Loading @@ -227,7 +230,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio mInputConsumerController); mTouchHandler = new PipTouchHandler(context, mActivityManager, activityTaskManager, mMenuController, mInputConsumerController, mPipBoundsHandler, mPipTaskOrganizer, floatingContentCoordinator, deviceConfig); floatingContentCoordinator, deviceConfig, pipSnapAlgorithm); mAppOpsListener = new PipAppOpsListener(context, mActivityManager, mTouchHandler.getMotionHelper()); displayController.addDisplayChangingController(mRotationController); Loading
packages/SystemUI/src/com/android/systemui/pip/phone/PipTouchHandler.java +3 −2 Original line number Diff line number Diff line Loading @@ -166,7 +166,8 @@ public class PipTouchHandler { PipBoundsHandler pipBoundsHandler, PipTaskOrganizer pipTaskOrganizer, FloatingContentCoordinator floatingContentCoordinator, DeviceConfigProxy deviceConfig) { DeviceConfigProxy deviceConfig, PipSnapAlgorithm pipSnapAlgorithm) { // Initialize the Pip input consumer mContext = context; mActivityManager = activityManager; Loading @@ -174,7 +175,7 @@ public class PipTouchHandler { mMenuController = menuController; mMenuController.addListener(new PipMenuListener()); mDismissViewController = new PipDismissViewController(context); mSnapAlgorithm = new PipSnapAlgorithm(mContext); mSnapAlgorithm = pipSnapAlgorithm; mFlingAnimationUtils = new FlingAnimationUtils(context.getResources().getDisplayMetrics(), 2.5f); mGesture = new DefaultPipTouchGesture(); Loading
packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java +3 −2 Original line number Diff line number Diff line Loading @@ -228,13 +228,14 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio } @Inject public PipManager(Context context, BroadcastDispatcher broadcastDispatcher) { public PipManager(Context context, BroadcastDispatcher broadcastDispatcher, PipBoundsHandler pipBoundsHandler) { if (mInitialized) { return; } mInitialized = true; mContext = context; mPipBoundsHandler = new PipBoundsHandler(context); mPipBoundsHandler = pipBoundsHandler; mPipTaskOrganizer = new PipTaskOrganizer(mContext, mPipBoundsHandler); mPipTaskOrganizer.registerPipTransitionCallback(this); mActivityTaskManager = ActivityTaskManager.getService(); Loading