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

Commit f5835117 authored by Evan Laird's avatar Evan Laird Committed by Android (Google) Code Review
Browse files

Merge "[battery] move `isDark` to a provider to avoid recompositions" into main

parents 6604ec69 f794d4ea
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ import com.android.systemui.statusbar.data.repository.StatusBarContentInsetsProv
import com.android.systemui.statusbar.phone.StatusBarLocation
import com.android.systemui.statusbar.phone.StatusIconContainer
import com.android.systemui.statusbar.phone.StatusOverlayHoverListenerFactory
import com.android.systemui.statusbar.phone.domain.interactor.IsAreaDark
import com.android.systemui.statusbar.phone.ui.StatusBarIconController
import com.android.systemui.statusbar.phone.ui.TintedIconManager
import com.android.systemui.statusbar.pipeline.battery.ui.composable.BatteryWithEstimate
@@ -371,7 +372,7 @@ constructor(
                        BatteryWithEstimate(
                            modifier = Modifier.wrapContentSize(),
                            viewModelFactory = batteryViewModelFactory,
                            isDark = { true },
                            isDarkProvider = { IsAreaDark { true } },
                            showEstimate = showBatteryEstimate,
                        )
                    }
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ object UnifiedBatteryViewBinder {
                                    .aspectRatio(BatteryViewModel.ASPECT_RATIO)
                                    .sysuiResTag(BatteryViewModel.TEST_TAG),
                            viewModelFactory = viewModelFactory,
                            isDark = isDark,
                            isDarkProvider = { isDark },
                        )
                    }
                }
+2 −2
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ import com.android.systemui.statusbar.pipeline.battery.ui.viewmodel.BatteryViewM
@Composable
fun BatteryWithEstimate(
    viewModelFactory: BatteryViewModel.Factory,
    isDark: IsAreaDark,
    isDarkProvider: () -> IsAreaDark,
    showEstimate: Boolean,
    modifier: Modifier = Modifier,
) {
@@ -51,7 +51,7 @@ fun BatteryWithEstimate(
    Row(modifier = modifier, verticalAlignment = Alignment.CenterVertically) {
        UnifiedBattery(
            viewModelFactory = viewModelFactory,
            isDark = isDark,
            isDarkProvider = isDarkProvider,
            modifier =
                Modifier.height(batteryHeight)
                    .align(Alignment.CenterVertically)
+2 −2
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ private const val INTER_GLYPH_PADDING_PX = 0.8f
@Composable
fun UnifiedBattery(
    viewModelFactory: BatteryViewModel.Factory,
    isDark: IsAreaDark,
    isDarkProvider: () -> IsAreaDark,
    modifier: Modifier = Modifier,
) {
    val viewModel = rememberViewModel(traceName = "UnifiedBattery") { viewModelFactory.create() }
@@ -140,7 +140,7 @@ fun UnifiedBattery(
    var bounds by remember { mutableStateOf(Rect()) }

    val colorProvider = {
        if (isDark.isDark(bounds)) {
        if (isDarkProvider().isDark(bounds)) {
            viewModel.colorProfile.dark
        } else {
            viewModel.colorProfile.light
+2 −2
Original line number Diff line number Diff line
@@ -349,7 +349,7 @@ private fun addBatteryComposable(
                            .height(height)
                            .aspectRatio(BatteryViewModel.ASPECT_RATIO),
                    viewModelFactory = statusBarViewModel.batteryViewModelFactory,
                    isDark = statusBarViewModel.areaDark,
                    isDarkProvider = { statusBarViewModel.areaDark },
                )
            }
        }
@@ -384,7 +384,7 @@ private fun addSystemStatusIconsComposable(
                                .height(height)
                                .aspectRatio(BatteryViewModel.ASPECT_RATIO),
                        viewModelFactory = statusBarViewModel.batteryViewModelFactory,
                        isDark = statusBarViewModel.areaDark,
                        isDarkProvider = { statusBarViewModel.areaDark },
                    )
                }
            }