aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/domain
diff options
context:
space:
mode:
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> {