aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/features
diff options
context:
space:
mode:
authorGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2022-09-30 06:26:17 +0000
committerGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2022-09-30 06:26:17 +0000
commit21c36aa3e659ca1863239de7bd11d522139f7a9e (patch)
tree3d86ed28a7d34669b0b8352ffa3374c5c2de06a5 /app/src/main/java/foundation/e/privacycentralapp/features
parent613617234962627eb974d9e058df0efabc18177b (diff)
parent2f3495908e533fed11d9b395ae294a386a110bcd (diff)
downloadadvanced-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')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardViewModel.kt5
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/internetprivacy/InternetPrivacyViewModel.kt12
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