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

Commit d4b101a5 authored by Evan Laird's avatar Evan Laird
Browse files

[battery] don't show estimate if charging

Test: BatteryViewModelBasedOnSettingTest
Test: manual
Fixes: 416508154
Flag: com.android.settingslib.flags.new_status_bar_icons
Flag: com.android.systemui.status_bar_root_modernization
Change-Id: I00bbe79c6cbd1e65de02fdc03203730cee05cd01
parent b94073d3
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -221,7 +221,14 @@ sealed class BatteryViewModel(
        hydrator.hydratedStateOf(
            traceName = "timeRemainingEstimate",
            initialValue = null,
            source = interactor.batteryTimeRemainingEstimate,
            source =
                interactor.isCharging.flatMapLatest { charging ->
                    if (charging) {
                        flowOf(null)
                    } else {
                        interactor.batteryTimeRemainingEstimate
                    }
                },
        )

    override suspend fun onActivated(): Nothing {
+15 −0
Original line number Diff line number Diff line
@@ -204,4 +204,19 @@ class BatteryViewModelBasedOnSettingTest : SysuiTestCase() {

            assertThat(underTest.contentDescription).isEqualTo(expected)
        }

    @Test
    fun batteryRemainingEstimate_onlyShowWhenNotCharging() =
        kosmos.runTest {
            val timeRemaining = "1234"
            batteryController.fake._isPluggedIn = true
            batteryController.fake._level = 39
            batteryController.fake._estimatedTimeRemainingString = timeRemaining

            assertThat(underTest.batteryTimeRemainingEstimate).isNull()

            batteryController.fake._isPluggedIn = false

            assertThat(underTest.batteryTimeRemainingEstimate).isEqualTo(timeRemaining)
        }
}