Split push module into several modules: Firebase, UnifiedPush, store

This commit is contained in:
Benoit Marty 2023-04-07 20:42:59 +02:00 committed by Benoit Marty
parent 9ac46aed7c
commit 7333995630
53 changed files with 768 additions and 276 deletions

View file

@ -26,4 +26,5 @@ dependencies {
implementation(libs.androidx.corektx)
implementation(libs.coroutines.core)
implementation(projects.libraries.matrix.api)
implementation(projects.libraries.pushproviders.api)
}

View file

@ -17,12 +17,21 @@
package io.element.android.libraries.push.api
import io.element.android.libraries.matrix.api.MatrixClient
import io.element.android.libraries.push.providers.api.PushProvider
interface PushService {
// TODO Move away
fun notificationStyleChanged()
// Ensure pusher is registered
suspend fun registerFirebasePusher(matrixClient: MatrixClient)
fun getAvailablePushProviders(): List<PushProvider>
/**
* Will unregister any previous pusher and register a new one with the provided [PushProvider].
*
* The method has effect only if the [PushProvider] is different than the current one.
*/
suspend fun registerWith(matrixClient: MatrixClient, pushProvider: PushProvider, distributorName: String)
// TODO Move away
suspend fun testPush()
}