aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/features
diff options
context:
space:
mode:
authorAbhishek Aggarwal <warabhishek@e.email>2022-04-13 14:26:50 +0000
committerAbhishek Aggarwal <warabhishek@e.email>2022-04-13 14:26:50 +0000
commit5658347ab0099c4f512e19a3807d38758396114a (patch)
treed3843d84ed1da95f9f43a34bd1fc82c480b789cf /app/src/main/java/foundation/e/privacycentralapp/features
parent714db561375e369a9bc080447de6a7b5e619870b (diff)
parent14815678aaa5020e81f0cca9274f289e6ac7e2d5 (diff)
downloadadvanced-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')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFeature.kt51
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/dashboard/DashboardFragment.kt2
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt6
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFragment.kt7
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