aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/features
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/features')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFragment.kt3
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersState.kt16
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersViewModel.kt14
3 files changed, 14 insertions, 19 deletions
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 3d8f809..ae169b4 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
@@ -151,10 +151,10 @@ class AppTrackersFragment : NavToolbarFragment(R.layout.apptrackers_fragment) {
binding.blockAllToggle.isChecked = state.isBlockingActivated
- binding.trackersListTitle.isVisible = state.isBlockingActivated
val trackersStatus = state.getTrackersStatus()
if (!trackersStatus.isNullOrEmpty()) {
+ binding.trackersListTitle.isVisible = state.isBlockingActivated
binding.trackers.isVisible = true
binding.trackers.post {
(binding.trackers.adapter as ToggleTrackersAdapter?)?.updateDataSet(
@@ -164,6 +164,7 @@ class AppTrackersFragment : NavToolbarFragment(R.layout.apptrackers_fragment) {
}
binding.noTrackersYet.isVisible = false
} else {
+ binding.trackersListTitle.isVisible = false
binding.trackers.isVisible = false
binding.noTrackersYet.isVisible = true
binding.noTrackersYet.text = getString(
diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersState.kt b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersState.kt
index 230f872..ffa1f36 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersState.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersState.kt
@@ -23,23 +23,17 @@ import foundation.e.privacymodules.trackers.api.Tracker
data class AppTrackersState(
val appDesc: ApplicationDescription? = null,
val isBlockingActivated: Boolean = false,
- val trackers: List<Tracker>? = null,
- val whitelist: List<String>? = null,
+ val trackersWithWhiteList: List<Pair<Tracker, Boolean>>? = null,
val leaked: Int = 0,
val blocked: Int = 0,
val isQuickPrivacyEnabled: Boolean = false,
val showQuickPrivacyDisabledMessage: Boolean = false,
) {
- fun getTrackersStatus(): List<Pair<Tracker, Boolean>>? {
- if (trackers != null && whitelist != null) {
- return trackers.map { it to (it.id !in whitelist) }
- } else {
- return null
- }
- }
+ fun getTrackersStatus(): List<Pair<Tracker, Boolean>>?
+ = trackersWithWhiteList?.map { it.first to !it.second }
- fun getTrackersCount() = trackers?.size ?: 0
+ fun getTrackersCount() = trackersWithWhiteList?.size ?: 0
fun getBlockedTrackersCount(): Int = if (isQuickPrivacyEnabled && isBlockingActivated)
- getTrackersCount() - (whitelist?.size ?: 0)
+ trackersWithWhiteList?.count { !it.second }?: 0
else 0
} \ No newline at end of file
diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersViewModel.kt b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersViewModel.kt
index c20ec7c..faa4e6b 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersViewModel.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersViewModel.kt
@@ -54,9 +54,9 @@ class AppTrackersViewModel(
init {
viewModelScope.launch(Dispatchers.IO) {
_state.update { it.copy(
- appDesc = trackersStateUseCase.getApplicationDescription(appUid),
- isBlockingActivated = !trackersStateUseCase.isWhitelisted(appUid),
- whitelist = trackersStateUseCase.getTrackersWhitelistIds(appUid),
+ appDesc = trackersStateUseCase.getApplicationDescription(appUid),
+ isBlockingActivated = !trackersStateUseCase.isWhitelisted(appUid),
+ trackersWithWhiteList = trackersStatisticsUseCase.getTrackersWithWhiteList(appUid),
) }
}
}
@@ -96,7 +96,7 @@ class AppTrackersViewModel(
if (state.value.isBlockingActivated) {
trackersStateUseCase.blockTracker(appUid, action.tracker, action.isBlocked)
_state.update { it.copy(
- whitelist = trackersStateUseCase.getTrackersWhitelistIds(appUid)
+ trackersWithWhiteList = trackersStatisticsUseCase.getTrackersWithWhiteList(appUid)
) }
}
}
@@ -115,9 +115,9 @@ class AppTrackersViewModel(
private fun fetchStatistics() {
val (blocked, leaked) = trackersStatisticsUseCase.getCalls(appUid)
return _state.update { s -> s.copy(
- trackers = trackersStatisticsUseCase.getTrackers(appUid),
- leaked = leaked,
- blocked = blocked,
+ trackersWithWhiteList = trackersStatisticsUseCase.getTrackersWithWhiteList(appUid),
+ leaked = leaked,
+ blocked = blocked,
) }
}