summaryrefslogtreecommitdiff
path: root/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt')
-rw-r--r--app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt18
1 files changed, 3 insertions, 15 deletions
diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt b/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt
index 87b64c5..deca4c1 100644
--- a/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt
+++ b/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt
@@ -20,13 +20,12 @@ package foundation.e.advancedprivacy.features.location
import android.location.Location
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import foundation.e.advancedprivacy.domain.entities.LocationMode
import foundation.e.advancedprivacy.domain.usecases.FakeLocationStateUseCase
-import foundation.e.advancedprivacy.domain.usecases.GetQuickPrivacyStateUseCase
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asSharedFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.debounce
@@ -38,7 +37,6 @@ import kotlinx.coroutines.withContext
import kotlin.time.Duration.Companion.milliseconds
class FakeLocationViewModel(
- private val getQuickPrivacyStateUseCase: GetQuickPrivacyStateUseCase,
private val fakeLocationStateUseCase: FakeLocationStateUseCase
) : ViewModel() {
companion object {
@@ -48,6 +46,8 @@ class FakeLocationViewModel(
private val _state = MutableStateFlow(FakeLocationState())
val state = _state.asStateFlow()
+ val currentLocation: StateFlow<Location?> = fakeLocationStateUseCase.currentLocation
+
private val _singleEvents = MutableSharedFlow<SingleEvent>()
val singleEvents = _singleEvents.asSharedFlow()
@@ -72,17 +72,6 @@ class FakeLocationViewModel(
}
).collect {}
}
-
- launch {
- fakeLocationStateUseCase.currentLocation.collect { location ->
- _singleEvents.emit(
- SingleEvent.LocationUpdatedEvent(
- mode = _state.value.mode,
- location = location
- )
- )
- }
- }
}
fun submitAction(action: Action) = viewModelScope.launch {
@@ -108,7 +97,6 @@ class FakeLocationViewModel(
}
sealed class SingleEvent {
- data class LocationUpdatedEvent(val mode: LocationMode, val location: Location?) : SingleEvent()
object RequestLocationPermission : SingleEvent()
data class ErrorEvent(val error: String) : SingleEvent()
}