diff options
| author | Abhishek Aggarwal <warabhishek@e.email> | 2022-04-13 14:26:50 +0000 |
|---|---|---|
| committer | Abhishek Aggarwal <warabhishek@e.email> | 2022-04-13 14:26:50 +0000 |
| commit | 5658347ab0099c4f512e19a3807d38758396114a (patch) | |
| tree | d3843d84ed1da95f9f43a34bd1fc82c480b789cf /app/src/main/java/foundation/e/privacycentralapp/features | |
| parent | 714db561375e369a9bc080447de6a7b5e619870b (diff) | |
| parent | 14815678aaa5020e81f0cca9274f289e6ac7e2d5 (diff) | |
| download | advanced-privacy-5658347ab0099c4f512e19a3807d38758396114a.tar.gz | |
Merge branch '5249_alpha_issues' into 'main'
Fix 5249 5255 5248 alpha issues
See merge request e/privacy-central/privacycentralapp!41
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/features')
4 files changed, 32 insertions, 34 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFeature.kt b/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFeature.kt index 8a4ee54..ca45393 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFeature.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFeature.kt @@ -53,8 +53,7 @@ class DashboardFeature( val isAllTrackersBlocked: Boolean = false, val locationMode: LocationMode = LocationMode.REAL_LOCATION, val internetPrivacyMode: InternetPrivacyMode = InternetPrivacyMode.REAL_IP, - val totalGraph: Int? = null, - // val graphData + val leakedTrackersCount: Int? = null, val trackersCount: Int? = null, val activeTrackersCount: Int? = null, val dayStatistics: List<Pair<Int, Int>>? = null, @@ -87,7 +86,8 @@ class DashboardFeature( val dayStatistics: List<Pair<Int, Int>>, val dayLabels: List<String>, val dayTrackersCount: Int, - val trackersCount: Int + val trackersCount: Int, + val activeTrackersCount: Int ) : Effect() data class TrackersBlockedUpdatedEffect(val areAllTrackersBlocked: Boolean) : Effect() data class UpdateLocationModeEffect(val mode: LocationMode) : Effect() @@ -117,8 +117,9 @@ class DashboardFeature( is Effect.TrackersStatisticsUpdatedEffect -> state.copy( dayStatistics = effect.dayStatistics, dayLabels = effect.dayLabels, - activeTrackersCount = effect.dayTrackersCount, - trackersCount = effect.trackersCount + leakedTrackersCount = effect.dayTrackersCount, + trackersCount = effect.trackersCount, + activeTrackersCount = effect.activeTrackersCount ) is Effect.TrackersBlockedUpdatedEffect -> state.copy( @@ -133,7 +134,7 @@ class DashboardFeature( when (action) { Action.TogglePrivacyAction -> { getPrivacyStateUseCase.toggle() - flowOf(Effect.NoEffect) + flowOf(Effect.NewStatisticsAvailablesEffect) } Action.InitAction -> merge( @@ -146,18 +147,6 @@ class DashboardFeature( trackersStatisticsUseCase.listenUpdates().map { Effect.NewStatisticsAvailablesEffect }, - flowOf<Effect>( - // trackersStatisticsUseCase.listenDayStatistics().map { - trackersStatisticsUseCase.getDayStatistics().let { - (dayStatistics, trackersCount) -> - Effect.TrackersStatisticsUpdatedEffect( - dayStatistics = dayStatistics.callsBlockedNLeaked, - dayLabels = dayStatistics.periods, - dayTrackersCount = dayStatistics.trackersCount, - trackersCount = trackersCount - ) - } - ), trackersStateUseCase.areAllTrackersBlocked.map { Effect.TrackersBlockedUpdatedEffect(it) }, @@ -171,18 +160,20 @@ class DashboardFeature( Effect.OpenInternetActivityPrivacyEffect ) Action.ShowTrackers -> flowOf(Effect.OpenTrackersEffect) - Action.FetchStatistics -> flowOf<Effect>( - // trackersStatisticsUseCase.listenDayStatistics().map { - trackersStatisticsUseCase.getDayStatistics().let { - (dayStatistics, trackersCount) -> - Effect.TrackersStatisticsUpdatedEffect( - dayStatistics = dayStatistics.callsBlockedNLeaked, - dayLabels = dayStatistics.periods, - dayTrackersCount = dayStatistics.trackersCount, - trackersCount = trackersCount - ) - } - ) + Action.FetchStatistics -> + trackersStatisticsUseCase.getNonBlockedTrackersCount() + .map { nonBlockedTrackersCount -> + trackersStatisticsUseCase.getDayStatistics() + .let { (dayStatistics, trackersCount) -> + Effect.TrackersStatisticsUpdatedEffect( + dayStatistics = dayStatistics.callsBlockedNLeaked, + dayLabels = dayStatistics.periods, + dayTrackersCount = dayStatistics.trackersCount, + trackersCount = trackersCount, + activeTrackersCount = nonBlockedTrackersCount + ) + } + } } }, singleEventProducer = { _, _, effect -> 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 51dee3d..96ace56 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 @@ -231,7 +231,7 @@ class DashboardFragment : binding.graphLegend.text = Html.fromHtml( getString( R.string.dashboard_graph_trackers_legend, - state.activeTrackersCount?.toString() ?: "No" + state.leakedTrackersCount?.toString() ?: "No" ), FROM_HTML_MODE_LEGACY ) diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt index 270dfcb..c1eef47 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt @@ -66,7 +66,7 @@ class AppTrackersFeature( } fun getTrackersCount() = trackers?.size ?: 0 - fun getBlockedTrackersCount(): Int = if (isBlockingActivated) + fun getBlockedTrackersCount(): Int = if (isQuickPrivacyEnabled && isBlockingActivated) getTrackersCount() - (whitelist?.size ?: 0) else 0 } @@ -160,7 +160,9 @@ class AppTrackersFeature( } ?: flowOf(Effect.ErrorEffect(R.string.apptrackers_error_no_app)) is Action.BlockAllToggleAction -> - state.appDesc?.uid?.let { appUid -> + if (!state.isQuickPrivacyEnabled) { + flowOf(Effect.QuickPrivacyDisabledWarningEffect) + } else state.appDesc?.uid?.let { appUid -> flow { trackersStateUseCase.toggleAppWhitelist(appUid, !action.isBlocked) diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFragment.kt b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFragment.kt index 8e2dc3b..d6edee6 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFragment.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFragment.kt @@ -109,6 +109,10 @@ class AppTrackersFragment : viewModel.submitAction(Action.BlockAllToggleAction(binding.blockAllToggle.isChecked)) } + binding.blockAllToggleClicker.setOnClickListener { + viewModel.submitAction(Action.BlockAllToggleAction(false)) + } + binding.trackers.apply { layoutManager = LinearLayoutManager(requireContext()) setHasFixedSize(true) @@ -128,7 +132,6 @@ class AppTrackersFragment : } override fun render(state: State) { - binding.trackersCountSummary.text = if (state.getTrackersCount() == 0) "" else getString( R.string.apptrackers_trackers_count_summary, @@ -137,6 +140,8 @@ class AppTrackersFragment : ) binding.blockAllToggle.isChecked = state.isBlockingActivated + binding.blockAllToggle.isEnabled = state.isQuickPrivacyEnabled + binding.blockAllToggleClicker.isVisible = !state.isQuickPrivacyEnabled binding.trackersListTitle.isVisible = state.isBlockingActivated |
