diff options
author | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2022-09-30 06:26:17 +0000 |
---|---|---|
committer | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2022-09-30 06:26:17 +0000 |
commit | 21c36aa3e659ca1863239de7bd11d522139f7a9e (patch) | |
tree | 3d86ed28a7d34669b0b8352ffa3374c5c2de06a5 /app/src/main/java/foundation/e/privacycentralapp/features | |
parent | 613617234962627eb974d9e058df0efabc18177b (diff) | |
parent | 2f3495908e533fed11d9b395ae294a386a110bcd (diff) | |
download | advanced-privacy-21c36aa3e659ca1863239de7bd11d522139f7a9e.tar.gz |
Merge branch '5561-inform_vpn_always_on_already_running' into 'main'
5561: alert user that alwaysOn 3rd party VPN is running.
See merge request e/os/advanced-privacy!94
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 |