Restrict the smallest screen width dp of an embedded TF

Or the smallest screen width dp could be the same as the
display size.

Bug: 230035382
Test: verify sw config of an embedded activity
Change-Id: Ic085c6ed134c2787a26fd2b02b4345b04fb693e6
This commit is contained in:
Louis Chang
2022-05-26 14:21:46 +08:00
parent d13e721d2e
commit 9cee26e261

View File

@@ -2054,9 +2054,15 @@ class TaskFragment extends WindowContainer<WindowContainer> {
final boolean inPipTransition = windowingMode == WINDOWING_MODE_PINNED
&& !mTmpFullBounds.isEmpty() && mTmpFullBounds.equals(parentBounds);
if (WindowConfiguration.isFloating(windowingMode) && !inPipTransition) {
// For floating tasks, calculate the smallest width from the bounds of the task
// For floating tasks, calculate the smallest width from the bounds of the
// task, because they should not be affected by insets.
inOutConfig.smallestScreenWidthDp = (int) (0.5f
+ Math.min(mTmpFullBounds.width(), mTmpFullBounds.height()) / density);
} else if (isEmbedded()) {
// For embedded TFs, the smallest width should be updated. Otherwise, inherit
// from the parent task would result in applications loaded wrong resource.
inOutConfig.smallestScreenWidthDp =
Math.min(inOutConfig.screenWidthDp, inOutConfig.screenHeightDp);
}
// otherwise, it will just inherit
}