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

Commit cb194a18 authored by Daniel Akinola's avatar Daniel Akinola Committed by Android (Google) Code Review
Browse files

Merge "Add sysuiResTag to Battery Compose layout" into main

parents 771dbb86 9dc82261
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import androidx.core.view.isVisible
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.repeatOnLifecycle
import com.android.systemui.compose.modifiers.sysuiResTag
import com.android.systemui.lifecycle.repeatWhenAttached
import com.android.systemui.statusbar.phone.domain.interactor.IsAreaDark
import com.android.systemui.statusbar.pipeline.battery.ui.composable.UnifiedBattery
@@ -55,7 +56,9 @@ object UnifiedBatteryViewBinder {
                        val height = with(LocalDensity.current) { STATUS_BAR_BATTERY_HEIGHT.toDp() }
                        UnifiedBattery(
                            modifier =
                                Modifier.height(height).aspectRatio(BatteryViewModel.ASPECT_RATIO),
                                Modifier.height(height)
                                    .aspectRatio(BatteryViewModel.ASPECT_RATIO)
                                    .sysuiResTag(BatteryViewModel.TEST_TAG),
                            viewModelFactory = viewModelFactory,
                            isDark = isDark,
                        )
+7 −2
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import androidx.compose.ui.graphics.drawscope.inset
import androidx.compose.ui.graphics.drawscope.scale
import androidx.compose.ui.layout.onLayoutRectChanged
import com.android.systemui.common.ui.compose.load
import com.android.systemui.compose.modifiers.sysuiResTag
import com.android.systemui.lifecycle.rememberViewModel
import com.android.systemui.statusbar.phone.domain.interactor.IsAreaDark
import com.android.systemui.statusbar.pipeline.battery.shared.ui.BatteryColors
@@ -74,7 +75,10 @@ fun BatteryCanvas(
            )
        }

    Canvas(modifier = modifier.fillMaxSize(), contentDescription = contentDescription) {
    Canvas(
        modifier = modifier.fillMaxSize().sysuiResTag(BatteryViewModel.TEST_TAG),
        contentDescription = contentDescription,
    ) {
        val scale = path.scaleTo(size.width, size.height)
        val colors = colorsProvider()

@@ -152,7 +156,8 @@ fun UnifiedBattery(
        isFull = viewModel.isFull,
        colorsProvider = colorProvider,
        modifier =
            modifier.onLayoutRectChanged { relativeLayoutBounds ->
            modifier.sysuiResTag(BatteryViewModel.TEST_TAG).onLayoutRectChanged {
                relativeLayoutBounds ->
                bounds =
                    with(relativeLayoutBounds.boundsInScreen) { Rect(left, top, right, bottom) }
            },
+3 −0
Original line number Diff line number Diff line
@@ -236,6 +236,9 @@ constructor(interactor: BatteryInteractor, @Application context: Context) : Excl

        val ASPECT_RATIO = STATUS_BAR_BATTERY_WIDTH.value / STATUS_BAR_BATTERY_HEIGHT.value

        /** Resource id used to identify battery composable view in SysUI tests */
        const val TEST_TAG = "battery"

        fun Int.glyphRepresentation(): List<BatteryGlyph> = toString().map { it.toGlyph() }

        private fun Char.toGlyph(): BatteryGlyph =
+7 −2
Original line number Diff line number Diff line
@@ -342,7 +342,10 @@ private fun addBatteryComposable(
            setContent {
                val height = with(LocalDensity.current) { STATUS_BAR_BATTERY_HEIGHT.toDp() }
                UnifiedBattery(
                    modifier = Modifier.height(height).aspectRatio(BatteryViewModel.ASPECT_RATIO),
                    modifier =
                        Modifier.sysUiResTagContainer()
                            .height(height)
                            .aspectRatio(BatteryViewModel.ASPECT_RATIO),
                    viewModelFactory = statusBarViewModel.batteryViewModelFactory,
                    isDark = statusBarViewModel.areaDark,
                )
@@ -375,7 +378,9 @@ private fun addSystemStatusIconsComposable(
                    val height = with(LocalDensity.current) { STATUS_BAR_BATTERY_HEIGHT.toDp() }
                    UnifiedBattery(
                        modifier =
                            Modifier.height(height).aspectRatio(BatteryViewModel.ASPECT_RATIO),
                            Modifier.sysUiResTagContainer()
                                .height(height)
                                .aspectRatio(BatteryViewModel.ASPECT_RATIO),
                        viewModelFactory = statusBarViewModel.batteryViewModelFactory,
                        isDark = statusBarViewModel.areaDark,
                    )