mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-2738 Sync status | Status caching logic (#1483)
This commit is contained in:
parent
25ec9bd98a
commit
642bfdceae
34 changed files with 304 additions and 270 deletions
|
@ -1,19 +0,0 @@
|
|||
package com.anytypeio.anytype.data.auth.status
|
||||
|
||||
import com.anytypeio.anytype.core_models.Id
|
||||
import com.anytypeio.anytype.core_models.multiplayer.P2PStatusUpdate
|
||||
import com.anytypeio.anytype.domain.workspace.P2PStatusChannel
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface P2PStatusRemoteChannel {
|
||||
fun observe(activeSpaceId: Id): Flow<P2PStatusUpdate>
|
||||
}
|
||||
|
||||
class P2PStatusDataChannel(
|
||||
private val channel: P2PStatusRemoteChannel
|
||||
) : P2PStatusChannel {
|
||||
|
||||
override fun observe(activeSpaceId: Id): Flow<P2PStatusUpdate> {
|
||||
return channel.observe(activeSpaceId)
|
||||
}
|
||||
}
|
|
@ -1,19 +1,14 @@
|
|||
package com.anytypeio.anytype.data.auth.status
|
||||
|
||||
import com.anytypeio.anytype.core_models.Id
|
||||
import com.anytypeio.anytype.core_models.multiplayer.P2PStatusUpdate
|
||||
import com.anytypeio.anytype.core_models.multiplayer.SpaceSyncUpdate
|
||||
import com.anytypeio.anytype.domain.workspace.SpaceSyncStatusChannel
|
||||
import com.anytypeio.anytype.domain.workspace.SyncAndP2PStatusChannel
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface SpaceStatusRemoteChannel {
|
||||
fun observe(activeSpaceId: String): Flow<SpaceSyncUpdate>
|
||||
}
|
||||
class SyncAndP2PStatusDataChannel(
|
||||
private val store: SyncAndP2PStatusEventsStore
|
||||
) : SyncAndP2PStatusChannel {
|
||||
|
||||
class SpaceStatusDataChannel(
|
||||
private val channel: SpaceStatusRemoteChannel
|
||||
) : SpaceSyncStatusChannel {
|
||||
|
||||
override fun observe(activeSpaceId: Id): Flow<SpaceSyncUpdate> {
|
||||
return channel.observe(activeSpaceId)
|
||||
}
|
||||
override fun p2pStatus(): Flow<Map<String, P2PStatusUpdate>> = store.p2pStatus
|
||||
override fun syncStatus(): Flow<Map<String, SpaceSyncUpdate>> = store.syncStatus
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.anytypeio.anytype.data.auth.status
|
||||
|
||||
import com.anytypeio.anytype.core_models.multiplayer.P2PStatusUpdate
|
||||
import com.anytypeio.anytype.core_models.multiplayer.SpaceSyncUpdate
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
interface SyncAndP2PStatusEventsStore {
|
||||
val p2pStatus: Flow<Map<String, P2PStatusUpdate>>
|
||||
val syncStatus: Flow<Map<String, SpaceSyncUpdate>>
|
||||
|
||||
fun start()
|
||||
fun stop()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue