Merge "Ensure final height of UMO transition is the hostView's height" into tm-qpr-dev am: a8b8ec657b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20552310

Change-Id: Ic233536585108b60360638739a71148e45e4b487
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Hawkwood Glazier
2022-11-29 16:07:38 +00:00
committed by Automerger Merge Worker
2 changed files with 5 additions and 12 deletions

View File

@@ -1053,18 +1053,9 @@ constructor(
rootOverlay!!.add(mediaFrame)
} else {
val targetHost = getHost(newLocation)!!.hostView
// When adding back to the host, let's make sure to reset the bounds.
// Usually adding the view will trigger a layout that does this automatically,
// but we sometimes suppress this.
// This will either do a full layout pass and remeasure, or it will bypass
// that and directly set the mediaFrame's bounds within the premeasured host.
targetHost.addView(mediaFrame)
val left = targetHost.paddingLeft
val top = targetHost.paddingTop
mediaFrame.setLeftTopRightBottom(
left,
top,
left + currentBounds.width(),
top + currentBounds.height()
)
if (mediaFrame.childCount > 0) {
val child = mediaFrame.getChildAt(0)

View File

@@ -420,7 +420,9 @@ constructor(
*/
fun getMeasurementsForState(hostState: MediaHostState): MeasurementOutput? =
traceSection("MediaViewController#getMeasurementsForState") {
val viewState = obtainViewState(hostState) ?: return null
// measurements should never factor in the squish fraction
val viewState =
obtainViewState(hostState.copy().also { it.squishFraction = 1.0f }) ?: return null
measurement.measuredWidth = viewState.width
measurement.measuredHeight = viewState.height
return measurement