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

Commit 1f1986d0 authored by Fabián Kozynski's avatar Fabián Kozynski Committed by Fabian Kozynski
Browse files

Reduce recomposition when rotating device

When media is present and we rotate, reuse the elements composition.

Test: rotate with media and get trace
Flag: com.android.systemui.scene_container
Fixes: 438457243
Change-Id: Ief309f427e2e8a5a4140936629ab0e601c47a29f
parent b2529d15
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.movableContentOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
@@ -94,6 +95,7 @@ fun ContentScope.QuickSettingsContent(
    )
}

@Suppress("NAME_SHADOWING")
@Composable
private fun QuickSettingsPanelLayout(
    brightness: @Composable () -> Unit,
@@ -102,6 +104,10 @@ private fun QuickSettingsPanelLayout(
    mediaInRow: Boolean,
    modifier: Modifier = Modifier,
) {
    val brightness = remember(brightness) { movableContentOf { brightness() } }
    val tiles = remember(tiles) { movableContentOf { tiles() } }
    val media = remember(media) { movableContentOf { media() } }

    if (mediaInRow) {
        Column(
            verticalArrangement = spacedBy(QuickSettingsShade.Dimensions.Padding),