Avoid using the Activity, and use eventSink instead of lambda in states.

This commit is contained in:
Benoit Marty 2025-06-10 16:01:19 +02:00
parent 9956ed60e6
commit 6fbde3d407
8 changed files with 45 additions and 36 deletions

View file

@ -0,0 +1,13 @@
/*
* Copyright 2025 New Vector Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.libraries.push.api.battery
sealed interface BatteryOptimizationEvents {
data object Dismiss : BatteryOptimizationEvents
data object DoAction : BatteryOptimizationEvents
}

View file

@ -7,10 +7,7 @@
package io.element.android.libraries.push.api.battery
import android.app.Activity
data class BatteryOptimizationState(
val shouldDisplayBanner: Boolean,
val dismiss: () -> Unit,
val openSettings: (Activity?) -> Unit,
val eventSink: (BatteryOptimizationEvents) -> Unit,
)

View file

@ -7,14 +7,10 @@
package io.element.android.libraries.push.api.battery
import android.app.Activity
fun aBatteryOptimizationState(
shouldDisplayBanner: Boolean = false,
dismiss: () -> Unit = {},
openSettings: (Activity?) -> Unit = {},
eventSink: (BatteryOptimizationEvents) -> Unit = {},
) = BatteryOptimizationState(
shouldDisplayBanner = shouldDisplayBanner,
dismiss = dismiss,
openSettings = openSettings,
eventSink = eventSink,
)