Create a LoggedInNode, used as a PermanentNode in LoggedInFlowNode
This commit is contained in:
parent
b982d24bab
commit
6e4b1cd958
7 changed files with 85 additions and 46 deletions
|
|
@ -18,7 +18,7 @@ package io.element.android.libraries.push.impl
|
|||
|
||||
import com.squareup.anvil.annotations.ContributesBinding
|
||||
import io.element.android.libraries.di.AppScope
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.MatrixClient
|
||||
import io.element.android.libraries.push.api.PushService
|
||||
import io.element.android.libraries.push.impl.notifications.NotificationDrawerManager
|
||||
import javax.inject.Inject
|
||||
|
|
@ -40,8 +40,8 @@ class DefaultPushService @Inject constructor(
|
|||
notificationDrawerManager.notificationStyleChanged()
|
||||
}
|
||||
|
||||
override suspend fun registerPusher(userId: UserId) {
|
||||
pusherManager.registerPusher(userId)
|
||||
override suspend fun registerPusher(matrixClient: MatrixClient) {
|
||||
pusherManager.registerPusher(matrixClient)
|
||||
}
|
||||
|
||||
override suspend fun testPush() {
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@
|
|||
|
||||
package io.element.android.libraries.push.impl
|
||||
|
||||
import io.element.android.libraries.matrix.api.MatrixClient
|
||||
import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService
|
||||
import io.element.android.libraries.matrix.api.core.SessionId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.pusher.SetHttpPusherData
|
||||
import io.element.android.libraries.push.impl.clientsecret.PushClientSecret
|
||||
import io.element.android.libraries.push.impl.config.PushConfig
|
||||
|
|
@ -71,12 +71,12 @@ class PushersManager @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
suspend fun registerPusher(userId: UserId) {
|
||||
suspend fun registerPusher(matrixClient: MatrixClient) {
|
||||
val pushKey = fcmHelper.getFcmToken() ?: return
|
||||
// Register the pusher for the session
|
||||
val client = matrixAuthenticationService.restoreSession(userId).getOrNull() ?: return
|
||||
client.pushersService().setHttpPusher(createHttpPusher(pushKey, PushConfig.pusher_http_url, userId.value))
|
||||
// TODO EAx Close sessions
|
||||
matrixClient.pushersService().setHttpPusher(
|
||||
createHttpPusher(pushKey, PushConfig.pusher_http_url, matrixClient.sessionId.value)
|
||||
)
|
||||
}
|
||||
|
||||
private suspend fun createHttpPusher(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue