diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/library/LibraryViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/library/LibraryViewModel.kt index febb03f640..195ec7779f 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/library/LibraryViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/library/LibraryViewModel.kt @@ -23,6 +23,8 @@ import com.anytypeio.anytype.presentation.library.delegates.MyRelationsDelegate import com.anytypeio.anytype.presentation.library.delegates.MyTypesDelegate import com.anytypeio.anytype.presentation.navigation.NavigationViewModel import javax.inject.Inject +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow @@ -357,13 +359,13 @@ class LibraryViewModel( } override fun onCleared() { - super.onCleared() - viewModelScope.launch { + GlobalScope.launch { myRelationsDelegate.unsubscribe() libraryRelationsDelegate.unsubscribe() myTypesDelegate.unsubscribe() libraryTypesDelegate.unsubscribe() } + super.onCleared() } class Factory @Inject constructor( diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/widgets/collection/CollectionViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/widgets/collection/CollectionViewModel.kt index d4d564b403..cea448abee 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/widgets/collection/CollectionViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/widgets/collection/CollectionViewModel.kt @@ -68,6 +68,7 @@ import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.scan import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import timber.log.Timber import com.anytypeio.anytype.core_models.ObjectView as CoreObjectView @@ -176,7 +177,9 @@ class CollectionViewModel( fun onStop() { launch { - container.unsubscribe(listOf(subscription.id)) + withContext(dispatchers.io) { + container.unsubscribe(listOf(subscription.id)) + } jobs.cancel() } }