diff options
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/features')
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, ) } } |
