diff options
author | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2022-09-20 06:43:58 +0000 |
---|---|---|
committer | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2022-09-20 06:43:58 +0000 |
commit | 837e4ffac7d9d2c26e474e3c69847fac43e5d577 (patch) | |
tree | b07b005028af5a682d9b08c5d28c6af74295dd2e /app/src/main/java/foundation/e/privacycentralapp/features | |
parent | 6495fe4a88b59648892bf85f8a02eb37d6a01974 (diff) | |
parent | 0a8527b4947ce40b9864305139afedc59f00ad87 (diff) | |
download | advanced-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')
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) } |