ReModel: remove the CharacterInstanceId: client
This commit is contained in:
parent
a5adc61e90
commit
9cc6414648
67 changed files with 891 additions and 953 deletions
|
|
@ -6,12 +6,13 @@ import com.pixelized.desktop.lwa.repository.campaign.CampaignRepository
|
|||
import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetRepository
|
||||
import com.pixelized.desktop.lwa.repository.network.NetworkRepository
|
||||
import com.pixelized.desktop.lwa.repository.settings.SettingsRepository
|
||||
import com.pixelized.shared.lwa.model.campaign.Campaign
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.filter
|
||||
import kotlinx.coroutines.flow.flatMapLatest
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
|
||||
class DataSyncViewModel(
|
||||
|
|
@ -33,24 +34,26 @@ class DataSyncViewModel(
|
|||
)
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
suspend fun synchronise() = coroutineScope {
|
||||
|
||||
networkRepository.status
|
||||
.filter { status -> status == NetworkRepository.Status.CONNECTED }
|
||||
.onEach {
|
||||
campaignRepository.campaign(update = true)
|
||||
alterationRepository.updateAlterations()
|
||||
characterRepository.updateCharacterPreviews()
|
||||
campaignRepository.updateCampaign()
|
||||
}
|
||||
.launchIn(this)
|
||||
|
||||
networkRepository.status
|
||||
.filter { status -> status == NetworkRepository.Status.CONNECTED }
|
||||
.combine(campaignRepository.campaignFlow) { _, campaign: Campaign -> campaign }
|
||||
.flatMapLatest { campaignRepository.campaignFlow.map { it.instances } }
|
||||
.distinctUntilChanged()
|
||||
.onEach { campaign ->
|
||||
campaign.instances.keys.forEach { id ->
|
||||
.onEach { instances ->
|
||||
instances.forEach { characterSheetId ->
|
||||
characterRepository.characterDetail(
|
||||
characterSheetId = id.characterSheetId,
|
||||
characterSheetId = characterSheetId,
|
||||
forceUpdate = true,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue