1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-1369 App | Tech | Removed legacy data model for sync status (#109)

This commit is contained in:
Evgenii Kozlov 2023-06-28 18:39:12 +02:00 committed by GitHub
parent a2e3a5e1b3
commit d83a9b5362
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 24 deletions

View file

@ -1,10 +0,0 @@
package com.anytypeio.anytype.data.auth.model
enum class SyncStatusEntity {
UNKNOWN,
OFFLINE,
SYNCING,
SYNCED,
FAILED,
INCOMPATIBLE_VERSION
}

View file

@ -10,8 +10,6 @@ class ThreadStatusDataChannel(
) : ThreadStatusChannel {
override fun observe(ctx: String): Flow<SyncStatus> {
return remote
.observe(ctx)
.map { status -> SyncStatus.valueOf(status.name) }
return remote.observe(ctx)
}
}

View file

@ -1,9 +1,9 @@
package com.anytypeio.anytype.data.auth.status
import com.anytypeio.anytype.data.auth.model.SyncStatusEntity
import com.anytypeio.anytype.core_models.Id
import com.anytypeio.anytype.core_models.SyncStatus
import kotlinx.coroutines.flow.Flow
interface ThreadStatusRemoteChannel {
fun observe(ctx: Id): Flow<SyncStatusEntity>
fun observe(ctx: Id): Flow<SyncStatus>
}

View file

@ -1,19 +1,19 @@
package com.anytypeio.anytype.middleware.interactor
import anytype.Event.Status.Thread.SyncStatus
import com.anytypeio.anytype.data.auth.model.SyncStatusEntity
import com.anytypeio.anytype.core_models.SyncStatus
import com.anytypeio.anytype.data.auth.status.ThreadStatusRemoteChannel
import com.anytypeio.anytype.middleware.EventProxy
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.mapLatest
import kotlinx.coroutines.flow.mapNotNull
import anytype.Event.Status.Thread.SyncStatus as MSyncStatus
class ThreadStatusMiddlewareChannel(
private val events: EventProxy,
) : ThreadStatusRemoteChannel {
override fun observe(ctx: String): Flow<SyncStatusEntity> = events.flow()
override fun observe(ctx: String): Flow<SyncStatus> = events.flow()
.filter { it.contextId == ctx }
.mapNotNull { emission ->
emission
@ -25,12 +25,12 @@ class ThreadStatusMiddlewareChannel(
}
.mapLatest { status ->
when (status) {
SyncStatus.Unknown -> SyncStatusEntity.UNKNOWN
SyncStatus.Offline -> SyncStatusEntity.OFFLINE
SyncStatus.Syncing -> SyncStatusEntity.SYNCING
SyncStatus.Synced -> SyncStatusEntity.SYNCED
SyncStatus.Failed -> SyncStatusEntity.FAILED
SyncStatus.IncompatibleVersion -> SyncStatusEntity.INCOMPATIBLE_VERSION
MSyncStatus.Unknown -> SyncStatus.UNKNOWN
MSyncStatus.Offline -> SyncStatus.OFFLINE
MSyncStatus.Syncing -> SyncStatus.SYNCING
MSyncStatus.Synced -> SyncStatus.SYNCED
MSyncStatus.Failed -> SyncStatus.FAILED
MSyncStatus.IncompatibleVersion -> SyncStatus.INCOMPATIBLE_VERSION
}
}
}