BatteryOptimizationEvents -> BatteryOptimizationEvent

This commit is contained in:
Benoit Marty
2026-08-25 10:32:34 +02:00
parent cb8c462bad
commit 217ccb75ed
6 changed files with 16 additions and 16 deletions
@@ -8,7 +8,7 @@
package io.element.android.libraries.push.api.battery
sealed interface BatteryOptimizationEvents {
data object Dismiss : BatteryOptimizationEvents
data object RequestDisableOptimizations : BatteryOptimizationEvents
sealed interface BatteryOptimizationEvent {
data object Dismiss : BatteryOptimizationEvent
data object RequestDisableOptimizations : BatteryOptimizationEvent
}
@@ -10,5 +10,5 @@ package io.element.android.libraries.push.api.battery
data class BatteryOptimizationState(
val shouldDisplayBanner: Boolean,
val eventSink: (BatteryOptimizationEvents) -> Unit,
val eventSink: (BatteryOptimizationEvent) -> Unit,
)
@@ -10,7 +10,7 @@ package io.element.android.libraries.push.api.battery
fun aBatteryOptimizationState(
shouldDisplayBanner: Boolean = false,
eventSink: (BatteryOptimizationEvents) -> Unit = {},
eventSink: (BatteryOptimizationEvent) -> Unit = {},
) = BatteryOptimizationState(
shouldDisplayBanner = shouldDisplayBanner,
eventSink = eventSink,
@@ -18,7 +18,7 @@ import androidx.compose.runtime.setValue
import androidx.lifecycle.compose.LifecycleResumeEffect
import dev.zacsweers.metro.Inject
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.push.api.battery.BatteryOptimizationEvents
import io.element.android.libraries.push.api.battery.BatteryOptimizationEvent
import io.element.android.libraries.push.api.battery.BatteryOptimizationState
import io.element.android.libraries.push.impl.push.MutableBatteryOptimizationStore
import io.element.android.libraries.push.impl.store.PushDataStore
@@ -48,12 +48,12 @@ class BatteryOptimizationPresenter(
onPauseOrDispose {}
}
fun handleEvent(event: BatteryOptimizationEvents) {
fun handleEvent(event: BatteryOptimizationEvent) {
when (event) {
BatteryOptimizationEvents.Dismiss -> coroutineScope.launch {
BatteryOptimizationEvent.Dismiss -> coroutineScope.launch {
mutableBatteryOptimizationStore.onOptimizationBannerDismissed()
}
BatteryOptimizationEvents.RequestDisableOptimizations -> {
BatteryOptimizationEvent.RequestDisableOptimizations -> {
isRequestSent = true
if (batteryOptimization.requestDisablingBatteryOptimization().not()) {
// If not able to perform the request, ensure that we do not display the banner again
@@ -10,7 +10,7 @@ package io.element.android.libraries.push.impl.battery
import androidx.lifecycle.Lifecycle
import com.google.common.truth.Truth.assertThat
import io.element.android.libraries.push.api.battery.BatteryOptimizationEvents
import io.element.android.libraries.push.api.battery.BatteryOptimizationEvent
import io.element.android.libraries.push.impl.push.FakeMutableBatteryOptimizationStore
import io.element.android.libraries.push.impl.push.MutableBatteryOptimizationStore
import io.element.android.libraries.push.impl.store.InMemoryPushDataStore
@@ -98,7 +98,7 @@ class BatteryOptimizationPresenterTest {
assertThat(initialState.shouldDisplayBanner).isFalse()
val displayedItem = awaitItem()
assertThat(displayedItem.shouldDisplayBanner).isTrue()
displayedItem.eventSink(BatteryOptimizationEvents.Dismiss)
displayedItem.eventSink(BatteryOptimizationEvent.Dismiss)
onOptimizationBannerDismissedResult.assertions().isCalledOnce()
}
}
@@ -124,7 +124,7 @@ class BatteryOptimizationPresenterTest {
assertThat(initialState.shouldDisplayBanner).isFalse()
val displayedItem = awaitItem()
assertThat(displayedItem.shouldDisplayBanner).isTrue()
displayedItem.eventSink(BatteryOptimizationEvents.RequestDisableOptimizations)
displayedItem.eventSink(BatteryOptimizationEvent.RequestDisableOptimizations)
requestDisablingBatteryOptimizationResult.assertions().isCalledOnce()
onOptimizationBannerDismissedResult.assertions().isCalledOnce()
}
@@ -150,7 +150,7 @@ class BatteryOptimizationPresenterTest {
assertThat(initialState.shouldDisplayBanner).isFalse()
val displayedItem = awaitItem()
assertThat(displayedItem.shouldDisplayBanner).isTrue()
displayedItem.eventSink(BatteryOptimizationEvents.RequestDisableOptimizations)
displayedItem.eventSink(BatteryOptimizationEvent.RequestDisableOptimizations)
requestDisablingBatteryOptimizationResult.assertions().isCalledOnce()
batteryOptimization.isIgnoringBatteryOptimizationsResult = true
lifeCycleOwner.givenState(Lifecycle.State.RESUMED)