aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/features
diff options
context:
space:
mode:
authorGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2022-09-20 06:43:58 +0000
committerGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2022-09-20 06:43:58 +0000
commit837e4ffac7d9d2c26e474e3c69847fac43e5d577 (patch)
treeb07b005028af5a682d9b08c5d28c6af74295dd2e /app/src/main/java/foundation/e/privacycentralapp/features
parent6495fe4a88b59648892bf85f8a02eb37d6a01974 (diff)
parent0a8527b4947ce40b9864305139afedc59f00ad87 (diff)
downloadadvanced-privacy-837e4ffac7d9d2c26e474e3c69847fac43e5d577.tar.gz
Merge branch '4208-CUSTOM_state_for_trackers' into 'main'
4208 Add CUSTOM state for tracker control. See merge request e/os/advanced-privacy!90
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/features')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFragment.kt14
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardState.kt3
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardViewModel.kt4
3 files changed, 12 insertions, 9 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFragment.kt b/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFragment.kt
index adb54bb..4d38ec8 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFragment.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFragment.kt
@@ -42,6 +42,7 @@ import foundation.e.privacycentralapp.common.initQuickPrivacySnackbar
import foundation.e.privacycentralapp.databinding.FragmentDashboardBinding
import foundation.e.privacycentralapp.domain.entities.LocationMode
import foundation.e.privacycentralapp.domain.entities.QuickPrivacyState
+import foundation.e.privacycentralapp.domain.entities.TrackerMode
import foundation.e.privacycentralapp.features.dashboard.DashboardViewModel.Action
import foundation.e.privacycentralapp.features.dashboard.DashboardViewModel.SingleEvent
import foundation.e.privacycentralapp.features.internetprivacy.InternetPrivacyFragment
@@ -199,15 +200,16 @@ class DashboardFragment : NavToolbarFragment(R.layout.fragment_dashboard) {
binding.togglePrivacyCentral.isChecked = state.quickPrivacyState.isEnabled()
- binding.stateTrackers.text = getString(
- if (state.isTrackersDenied) R.string.dashboard_state_trackers_on
- else R.string.dashboard_state_trackers_off
- )
+ binding.stateTrackers.text = getString(when(state.trackerMode) {
+ TrackerMode.DENIED -> R.string.dashboard_state_trackers_on
+ TrackerMode.VULNERABLE -> R.string.dashboard_state_trackers_off
+ TrackerMode.CUSTOM -> R.string.dashboard_state_trackers_custom
+ })
binding.stateTrackers.setTextColor(
getColor(
requireContext(),
- if (state.isTrackersDenied) R.color.green_valid
- else R.color.red_off
+ if (state.trackerMode == TrackerMode.VULNERABLE) R.color.red_off
+ else R.color.green_valid
)
)
diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardState.kt b/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardState.kt
index 65aa444..fb00f07 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardState.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardState.kt
@@ -19,10 +19,11 @@ package foundation.e.privacycentralapp.features.dashboard
import foundation.e.privacycentralapp.domain.entities.LocationMode
import foundation.e.privacycentralapp.domain.entities.QuickPrivacyState
+import foundation.e.privacycentralapp.domain.entities.TrackerMode
data class DashboardState(
val quickPrivacyState: QuickPrivacyState = QuickPrivacyState.DISABLED,
- val isTrackersDenied: Boolean = false,
+ val trackerMode: TrackerMode = TrackerMode.VULNERABLE,
val isLocationHidden: Boolean = false,
val isIpHidden: Boolean? = false,
val locationMode: LocationMode = LocationMode.REAL_LOCATION,
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 e3a9722..0ddceb1 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
@@ -63,8 +63,8 @@ class DashboardViewModel(
trackersStatisticsUseCase.listenUpdates().flatMapLatest {
fetchStatistics()
},
- getPrivacyStateUseCase.isTrackersDenied.map {
- _state.update { s -> s.copy(isTrackersDenied = it) }
+ getPrivacyStateUseCase.trackerMode.map {
+ _state.update { s -> s.copy(trackerMode = it) }
},
getPrivacyStateUseCase.isLocationHidden.map {
_state.update { s -> s.copy(isLocationHidden = it) }