Make the PipManager remember custom aspect ratios
Currently, the PipManager always reverts any pip window to the preconfigured default size and position after any movement (e.g. pip menu dismissal, or keyboard dismissal). This does not take into account that a specific aspect ratio might have been set in the PictureInPictureParams. This change leverages the already correct calculation from the PipBoundsHandler to update the default and current pip bounds kept by the PipManager. Bug: 163787014 Test: atest CtsSystemUiTestCases:BasicPipTests Change-Id: I74829d95bc3ef06e6962020d5a56998128ec3640
This commit is contained in:
@@ -141,7 +141,6 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
|
||||
// Used to calculate the movement bounds
|
||||
private final DisplayInfo mTmpDisplayInfo = new DisplayInfo();
|
||||
private final Rect mTmpInsetBounds = new Rect();
|
||||
private final Rect mTmpNormalBounds = new Rect();
|
||||
|
||||
// Keeps track of the IME visibility to adjust the PiP when the IME is visible
|
||||
private boolean mImeVisible;
|
||||
@@ -215,10 +214,8 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
|
||||
public void onMovementBoundsChanged(boolean fromImeAdjustment) {
|
||||
mHandler.post(() -> {
|
||||
// Populate the inset / normal bounds and DisplayInfo from mPipBoundsHandler first.
|
||||
final Rect destinationBounds = new Rect();
|
||||
mPipBoundsHandler.onMovementBoundsChanged(mTmpInsetBounds, mTmpNormalBounds,
|
||||
destinationBounds, mTmpDisplayInfo);
|
||||
mDefaultPipBounds.set(destinationBounds);
|
||||
mPipBoundsHandler.onMovementBoundsChanged(mTmpInsetBounds, mPipBounds,
|
||||
mDefaultPipBounds, mTmpDisplayInfo);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user