Other fixes as per https://cashapp.github.io/sqldelight/2.0.0/upgrading-2.0/
This commit is contained in:
parent
2d3d007e60
commit
57ccafca42
3 changed files with 24 additions and 9 deletions
|
|
@ -16,10 +16,11 @@
|
|||
|
||||
package io.element.android.libraries.sessionstorage.impl
|
||||
|
||||
import app.cash.sqldelight.coroutines.asFlow
|
||||
import app.cash.sqldelight.coroutines.mapToList
|
||||
import app.cash.sqldelight.coroutines.mapToOneOrNull
|
||||
import com.squareup.anvil.annotations.ContributesBinding
|
||||
import app.cash.sqldelight.runtime.coroutines.asFlow
|
||||
import app.cash.sqldelight.runtime.coroutines.mapToList
|
||||
import app.cash.sqldelight.runtime.coroutines.mapToOneOrNull
|
||||
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
||||
import io.element.android.libraries.di.AppScope
|
||||
import io.element.android.libraries.di.SingleIn
|
||||
import io.element.android.libraries.sessionstorage.api.LoggedInState
|
||||
|
|
@ -34,12 +35,13 @@ import javax.inject.Inject
|
|||
@ContributesBinding(AppScope::class)
|
||||
class DatabaseSessionStore @Inject constructor(
|
||||
private val database: SessionDatabase,
|
||||
private val dispatchers: CoroutineDispatchers,
|
||||
) : SessionStore {
|
||||
|
||||
override fun isLoggedIn(): Flow<LoggedInState> {
|
||||
return database.sessionDataQueries.selectFirst()
|
||||
.asFlow()
|
||||
.mapToOneOrNull()
|
||||
.mapToOneOrNull(dispatchers.io)
|
||||
.map {
|
||||
if (it == null) {
|
||||
LoggedInState.NotLoggedIn
|
||||
|
|
@ -96,7 +98,7 @@ class DatabaseSessionStore @Inject constructor(
|
|||
Timber.w("Observing session list!")
|
||||
return database.sessionDataQueries.selectAll()
|
||||
.asFlow()
|
||||
.mapToList()
|
||||
.mapToList(dispatchers.io)
|
||||
.map { it.map { sessionData -> sessionData.toApiModel() } }
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue