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

Commit 73096da8 authored by Anton Potapov's avatar Anton Potapov Committed by Android (Google) Code Review
Browse files

Merge "Center footer component when there is only one available" into main

parents 34dc6cd5 f91e5dff
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.rememberScrollState
@@ -27,6 +28,7 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.fastSumBy
import com.android.systemui.volume.panel.ui.layout.ComponentsLayout

@Composable
@@ -53,6 +55,14 @@ fun VolumePanelComposeScope.VerticalVolumePanelContent(
                modifier = Modifier.fillMaxWidth().wrapContentHeight(),
                horizontalArrangement = Arrangement.spacedBy(if (isLargeScreen) 28.dp else 20.dp),
            ) {
                val visibleComponentsCount =
                    layout.footerComponents.fastSumBy { if (it.isVisible) 1 else 0 }

                // Center footer component if there is only one present
                if (visibleComponentsCount == 1) {
                    Spacer(modifier = Modifier.weight(0.5f))
                }

                for (component in layout.footerComponents) {
                    AnimatedVisibility(
                        visible = component.isVisible,
@@ -63,6 +73,10 @@ fun VolumePanelComposeScope.VerticalVolumePanelContent(
                        }
                    }
                }

                if (visibleComponentsCount == 1) {
                    Spacer(modifier = Modifier.weight(0.5f))
                }
            }
        }
    }