summaryrefslogtreecommitdiff
path: root/android-app/app
diff options
context:
space:
mode:
Diffstat (limited to 'android-app/app')
-rw-r--r--android-app/app/src/main/kotlin/org/terst/nav/PerformanceViewModelFactory.kt8
1 files changed, 3 insertions, 5 deletions
diff --git a/android-app/app/src/main/kotlin/org/terst/nav/PerformanceViewModelFactory.kt b/android-app/app/src/main/kotlin/org/terst/nav/PerformanceViewModelFactory.kt
index ed6d1eb..4984870 100644
--- a/android-app/app/src/main/kotlin/org/terst/nav/PerformanceViewModelFactory.kt
+++ b/android-app/app/src/main/kotlin/org/terst/nav/PerformanceViewModelFactory.kt
@@ -2,19 +2,17 @@ package org.terst.nav
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.viewModelScope
import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.SupervisorJob
import org.terst.nav.nmea.NmeaParser
import org.terst.nav.nmea.NmeaStreamManager
class PerformanceViewModelFactory : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
if (modelClass.isAssignableFrom(PerformanceViewModel::class.java)) {
- // NmeaStreamManager will be tied to the ViewModel's lifecycle
val nmeaParser = NmeaParser()
- // We'll pass the ViewModel's own viewModelScope to NmeaStreamManager
- // The actual CoroutineScope passed here will be the one associated with the ViewModel
- val nmeaStreamManager = NmeaStreamManager(nmeaParser, CoroutineScope(modelClass.kotlin.viewModelScope.coroutineContext))
+ val nmeaStreamManager = NmeaStreamManager(nmeaParser, CoroutineScope(Dispatchers.IO + SupervisorJob()))
@Suppress("UNCHECKED_CAST")
return PerformanceViewModel(nmeaStreamManager) as T
}