Loading packages/SystemUI/src/com/android/systemui/pip/PipBoundsHandler.java +6 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.util.DisplayMetrics; import android.util.Log; import android.util.Size; import android.util.TypedValue; import android.view.Display; import android.view.DisplayInfo; import android.view.Gravity; import android.window.WindowContainerTransaction; Loading @@ -60,7 +61,7 @@ public class PipBoundsHandler { private final PipSnapAlgorithm mSnapAlgorithm; private final DisplayInfo mDisplayInfo = new DisplayInfo(); private final DisplayController mDisplayController; private final DisplayLayout mDisplayLayout; private DisplayLayout mDisplayLayout; private ComponentName mLastPipComponentName; private float mReentrySnapFraction = INVALID_SNAP_FRACTION; Loading Loading @@ -288,6 +289,10 @@ public class PipBoundsHandler { return mDefaultAspectRatio; } public void onOverlayChanged(Context context, Display display) { mDisplayLayout = new DisplayLayout(context, display); } /** * Updatest the display info and display layout on rotation change. This is needed even when we * aren't in PIP because the rotation layout is used to calculate the proper insets for the Loading packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java +19 −1 Original line number Diff line number Diff line Loading @@ -53,10 +53,12 @@ import com.android.systemui.shared.system.InputConsumerController; import com.android.systemui.shared.system.PinnedStackListenerForwarder.PinnedStackListener; import com.android.systemui.shared.system.TaskStackChangeListener; import com.android.systemui.shared.system.WindowManagerWrapper; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.util.DeviceConfigProxy; import com.android.systemui.util.FloatingContentCoordinator; import com.android.systemui.wm.DisplayChangeController; import com.android.systemui.wm.DisplayController; import com.android.systemui.wm.DisplayLayout; import java.io.PrintWriter; Loading Loading @@ -234,6 +236,19 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio } } public ConfigurationController.ConfigurationListener mOverlayChangedListener = new ConfigurationController.ConfigurationListener() { @Override public void onOverlayChanged() { mHandler.post(() -> { mPipBoundsHandler.onOverlayChanged(mContext, mContext.getDisplay()); updateMovementBounds(null /* toBounds */, false /* fromRotation */, false /* fromImeAdjustment */, false /* fromShelfAdjustment */, null /* windowContainerTransaction */); }); } }; @Inject public PipManager(Context context, BroadcastDispatcher broadcastDispatcher, DisplayController displayController, Loading @@ -242,7 +257,8 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio PipBoundsHandler pipBoundsHandler, PipSnapAlgorithm pipSnapAlgorithm, PipTaskOrganizer pipTaskOrganizer, SysUiState sysUiState) { SysUiState sysUiState, ConfigurationController configController) { mContext = context; mActivityManager = ActivityManager.getService(); Loading Loading @@ -275,6 +291,8 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio context.getDisplay().getDisplayInfo(displayInfo); mPipBoundsHandler.onDisplayInfoChanged(displayInfo); configController.addCallback(mOverlayChangedListener); try { mPipTaskOrganizer.registerOrganizer(WINDOWING_MODE_PINNED); ActivityManager.StackInfo stackInfo = ActivityTaskManager.getService().getStackInfo( Loading Loading
packages/SystemUI/src/com/android/systemui/pip/PipBoundsHandler.java +6 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.util.DisplayMetrics; import android.util.Log; import android.util.Size; import android.util.TypedValue; import android.view.Display; import android.view.DisplayInfo; import android.view.Gravity; import android.window.WindowContainerTransaction; Loading @@ -60,7 +61,7 @@ public class PipBoundsHandler { private final PipSnapAlgorithm mSnapAlgorithm; private final DisplayInfo mDisplayInfo = new DisplayInfo(); private final DisplayController mDisplayController; private final DisplayLayout mDisplayLayout; private DisplayLayout mDisplayLayout; private ComponentName mLastPipComponentName; private float mReentrySnapFraction = INVALID_SNAP_FRACTION; Loading Loading @@ -288,6 +289,10 @@ public class PipBoundsHandler { return mDefaultAspectRatio; } public void onOverlayChanged(Context context, Display display) { mDisplayLayout = new DisplayLayout(context, display); } /** * Updatest the display info and display layout on rotation change. This is needed even when we * aren't in PIP because the rotation layout is used to calculate the proper insets for the Loading
packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java +19 −1 Original line number Diff line number Diff line Loading @@ -53,10 +53,12 @@ import com.android.systemui.shared.system.InputConsumerController; import com.android.systemui.shared.system.PinnedStackListenerForwarder.PinnedStackListener; import com.android.systemui.shared.system.TaskStackChangeListener; import com.android.systemui.shared.system.WindowManagerWrapper; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.util.DeviceConfigProxy; import com.android.systemui.util.FloatingContentCoordinator; import com.android.systemui.wm.DisplayChangeController; import com.android.systemui.wm.DisplayController; import com.android.systemui.wm.DisplayLayout; import java.io.PrintWriter; Loading Loading @@ -234,6 +236,19 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio } } public ConfigurationController.ConfigurationListener mOverlayChangedListener = new ConfigurationController.ConfigurationListener() { @Override public void onOverlayChanged() { mHandler.post(() -> { mPipBoundsHandler.onOverlayChanged(mContext, mContext.getDisplay()); updateMovementBounds(null /* toBounds */, false /* fromRotation */, false /* fromImeAdjustment */, false /* fromShelfAdjustment */, null /* windowContainerTransaction */); }); } }; @Inject public PipManager(Context context, BroadcastDispatcher broadcastDispatcher, DisplayController displayController, Loading @@ -242,7 +257,8 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio PipBoundsHandler pipBoundsHandler, PipSnapAlgorithm pipSnapAlgorithm, PipTaskOrganizer pipTaskOrganizer, SysUiState sysUiState) { SysUiState sysUiState, ConfigurationController configController) { mContext = context; mActivityManager = ActivityManager.getService(); Loading Loading @@ -275,6 +291,8 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio context.getDisplay().getDisplayInfo(displayInfo); mPipBoundsHandler.onDisplayInfoChanged(displayInfo); configController.addCallback(mOverlayChangedListener); try { mPipTaskOrganizer.registerOrganizer(WINDOWING_MODE_PINNED); ActivityManager.StackInfo stackInfo = ActivityTaskManager.getService().getStackInfo( Loading