aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/domain
diff options
context:
space:
mode:
authorjacquarg <guillaume.jacquart@hoodbrains.com>2022-04-25 20:18:25 +0200
committerjacquarg <guillaume.jacquart@hoodbrains.com>2022-04-26 18:09:43 +0200
commitc3672a504341dad34ddf1c3d981b478b721baa30 (patch)
tree7f75f360225fb3872b36b6dc2f1a274768ecd782 /app/src/main/java/foundation/e/privacycentralapp/domain
parent66baccf4d687926e315bd7371ee523dd44519c32 (diff)
downloadadvanced-privacy-c3672a504341dad34ddf1c3d981b478b721baa30.tar.gz
Allow on ipscrambling feature.
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/domain')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/domain/usecases/IpScramblingStateUseCase.kt14
1 files changed, 11 insertions, 3 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/IpScramblingStateUseCase.kt b/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/IpScramblingStateUseCase.kt
index a701eec..0d25d16 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/IpScramblingStateUseCase.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/IpScramblingStateUseCase.kt
@@ -25,6 +25,7 @@ import foundation.e.privacymodules.permissions.IPermissionsPrivacyModule
import foundation.e.privacymodules.permissions.data.ApplicationDescription
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.callbackFlow
@@ -41,6 +42,9 @@ class IpScramblingStateUseCase(
coroutineScope: CoroutineScope
) {
+ val _configuredMode = MutableStateFlow(localStateRepository.isIpScramblingEnabled)
+ val configuredMode: StateFlow<Boolean> = _configuredMode
+
val internetPrivacyMode: StateFlow<InternetPrivacyMode> = callbackFlow {
val listener = object : IIpScramblerModule.Listener {
override fun onStatusChanged(newStatus: IIpScramblerModule.Status) {
@@ -78,10 +82,14 @@ class IpScramblingStateUseCase(
}
fun toggle(hideIp: Boolean) {
- if (!localStateRepository.isQuickPrivacyEnabled) return
-
localStateRepository.isIpScramblingEnabled = hideIp
- applySettings(true, hideIp)
+ _configuredMode.value = hideIp
+
+ if (!localStateRepository.isQuickPrivacyEnabled) {
+ localStateRepository.setShowQuickPrivacyDisabledMessage(true)
+ } else {
+ applySettings(true, hideIp)
+ }
}
private fun getHiddenPackageNames(): List<String> {