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

Commit 9dc82261 authored by Daniel Akinola's avatar Daniel Akinola
Browse files

Add sysuiResTag to Battery Compose layout

Adding sysUiResTag to UnifiedBattery so it can be identified in tests

Bug: 409013976
Test: MoveShadeOnStatusBarTouch
Flag: EXEMPT refactor
Change-Id: I0093ae158e480a102635c796bb3ab2a0d659b043
parent e5c2f095
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,
                    )