diff options
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/features')
2 files changed, 15 insertions, 2 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardViewModel.kt b/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardViewModel.kt index 0ddceb1..cd7e414 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardViewModel.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardViewModel.kt @@ -74,6 +74,11 @@ class DashboardViewModel( }, getPrivacyStateUseCase.showQuickPrivacyDisabledMessage.map { _state.update { s -> s.copy(showQuickPrivacyDisabledMessage = it) } + }, + getPrivacyStateUseCase.otherVpnRunning.map { + _singleEvents.emit(SingleEvent.ToastMessageSingleEvent( + R.string.ipscrambling_error_always_on_vpn_already_running + )) } ).collect {} } diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/internetprivacy/InternetPrivacyViewModel.kt b/app/src/main/java/foundation/e/privacycentralapp/features/internetprivacy/InternetPrivacyViewModel.kt index 6d083bd..ab5e24d 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/features/internetprivacy/InternetPrivacyViewModel.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/features/internetprivacy/InternetPrivacyViewModel.kt @@ -105,6 +105,14 @@ class InternetPrivacyViewModel( ) } } + + launch { + getQuickPrivacyStateUseCase.otherVpnRunning.collect { + _singleEvents.emit(SingleEvent.ErrorEvent(R.string.ipscrambling_error_always_on_vpn_already_running)) + _state.update { it.copy(forceRedraw = !it.forceRedraw)} + + } + } } fun submitAction(action: Action) = viewModelScope.launch { @@ -126,12 +134,12 @@ class InternetPrivacyViewModel( ipScramblingStateUseCase.toggle(hideIp = true) } - suspend private fun actionToggleAppIpScrambled(action: Action.ToggleAppIpScrambled) = withContext(Dispatchers.IO) { + private suspend fun actionToggleAppIpScrambled(action: Action.ToggleAppIpScrambled) = withContext(Dispatchers.IO) { ipScramblingStateUseCase.toggleBypassTor(action.packageName) _state.update { it.copy(bypassTorApps = ipScramblingStateUseCase.bypassTorApps) } } - suspend private fun actionSelectLocation(action: Action.SelectLocationAction) = withContext(Dispatchers.IO) { + private suspend fun actionSelectLocation(action: Action.SelectLocationAction) = withContext(Dispatchers.IO) { val locationId = _state.value.availableLocationIds[action.position] if (locationId != ipScramblerModule.exitCountry) { ipScramblerModule.exitCountry = locationId |