Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46380a77 authored by Chaohui Wang's avatar Chaohui Wang
Browse files

[Spa] Fix MorphingTitleTopAppBar title padding

When collapsed and has navigation icon, title padding start should be
navigationIconPaddingStart + navigationIconWidth +
  navigationIconPaddingEnd

Bug: 419002002
Flag: EXEMPT bug fix
Test: visual
Change-Id: I1d792203da5c68c5e4fd718da06c26572d023641
parent 6c6353db
Loading
Loading
Loading
Loading
+14 −12
Original line number Diff line number Diff line
@@ -191,8 +191,9 @@ private fun TwoRowsTopAppBar(
    // Interpolated properties for the single title
    val interpolatedTextStyle =
        lerpTextStyle(expandedTextStyle, collapsedTextStyle, collapsedFraction)
    val navigationIconPaddingStart = SettingsSpace.small3
    val expandedTitlePaddingStart = SettingsSpace.small4
    val navigationIconPaddingStartPx = density.run { SettingsSpace.small3.toPx() }
    val navigationIconPaddingEndPx = density.run { SettingsSpace.small1.toPx() }
    val expandedTitlePaddingStartPx = density.run { SettingsSpace.small4.toPx() }
    val currentMaxLines =
        if (collapsedFraction < 0.5f) expandedTitleMaxLines else collapsedTitleMaxLines

@@ -240,19 +241,20 @@ private fun TwoRowsTopAppBar(
                    .first { it.layoutId == "actionIcons" }
                    .measure(constraints.copy(minWidth = 0))

            val collapsedTitlePaddingStartPx =
                density.run {
            val navigationIconWidth = navigationIconPlaceable.width
            val collapsedTitlePaddingStartPx =
                if (navigationIconWidth > 0) {
                        navigationIconWidth + SettingsSpace.small3.toPx() // Icon + padding
                    navigationIconPaddingStartPx + navigationIconWidth + navigationIconPaddingEndPx
                } else {
                        0f
                    }
                    expandedTitlePaddingStartPx
                }
            val interpolatedPaddingStartPx =
                density.run {
                    expandedTitlePaddingStart.toPx() +
                        collapsedTitlePaddingStartPx * collapsedFraction
                    lerp(
                        start = expandedTitlePaddingStartPx,
                        stop = collapsedTitlePaddingStartPx,
                        fraction = collapsedFraction,
                    )
                }
            val titleHorizontalPaddingPx =
                density.run { interpolatedPaddingStartPx + SettingsSpace.small1.toPx() }
@@ -273,7 +275,7 @@ private fun TwoRowsTopAppBar(

            layout(layoutWidth, layoutHeight) {
                navigationIconPlaceable.placeRelative(
                    x = navigationIconPaddingStart.toPx().roundToInt(),
                    x = navigationIconPaddingStartPx.roundToInt(),
                    y = ((pinnedHeightPx - navigationIconPlaceable.height) / 2f).roundToInt(),
                )