aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/domain
diff options
context:
space:
mode:
authorjacquarg <guillaume.jacquart@hoodbrains.com>2022-04-12 18:55:02 +0200
committerjacquarg <guillaume.jacquart@hoodbrains.com>2022-04-12 18:55:02 +0200
commit14815678aaa5020e81f0cca9274f289e6ac7e2d5 (patch)
treed3843d84ed1da95f9f43a34bd1fc82c480b789cf /app/src/main/java/foundation/e/privacycentralapp/domain
parentb14d22413713fd865fafb8a53e44fd74017a6279 (diff)
downloadadvanced-privacy-14815678aaa5020e81f0cca9274f289e6ac7e2d5.tar.gz
5248 hide whitelist app trackers and fix counts when privacy protection disabled.
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/domain')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt33
1 files changed, 16 insertions, 17 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt b/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt
index 55887ed..6b4e098 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt
@@ -28,6 +28,7 @@ import foundation.e.privacymodules.trackers.Tracker
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.map
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@@ -142,7 +143,8 @@ class TrackersStatisticsUseCase(
apps.map { app ->
AppWithCounts(
app,
- blockTrackersPrivacyModule.isWhitelisted(app.uid),
+ !blockTrackersPrivacyModule.isBlockingEnabled() ||
+ blockTrackersPrivacyModule.isWhitelisted(app.uid),
appListsRepository.foldForHiddenSystemApp(app.uid) {
trackersCounts.getOrDefault(it, 0)
},
@@ -154,23 +156,20 @@ class TrackersStatisticsUseCase(
}
}
- fun getNonBLockedTrackersCount(): Int {
- return if (blockTrackersPrivacyModule.isBlockingEnabled()) {
- val whiteListedTrackers = mutableSetOf<Tracker>()
-
- val whiteListedAppUids = blockTrackersPrivacyModule.getWhiteListedApp()
-
- appListsRepository.getVisibleAndHiddenApps().forEach { app ->
- if (app.uid in whiteListedAppUids) {
- whiteListedTrackers.addAll(getTrackers(app.uid))
- } else {
- whiteListedTrackers.addAll(blockTrackersPrivacyModule.getWhiteList(app.uid))
+ fun getNonBlockedTrackersCount(): Flow<Int> {
+ return if (blockTrackersPrivacyModule.isBlockingEnabled())
+ appListsRepository.getVisibleAndHiddenApps().map { apps ->
+ val whiteListedTrackers = mutableSetOf<Tracker>()
+ val whiteListedAppUids = blockTrackersPrivacyModule.getWhiteListedApp()
+ apps.forEach { app ->
+ if (app.uid in whiteListedAppUids) {
+ whiteListedTrackers.addAll(getTrackers(app.uid))
+ } else {
+ whiteListedTrackers.addAll(blockTrackersPrivacyModule.getWhiteList(app.uid))
+ }
}
+ whiteListedTrackers.size
}
-
- whiteListedTrackers.size
- } else {
- trackTrackersPrivacyModule.getTrackersCount()
- }
+ else flowOf(trackTrackersPrivacyModule.getTrackersCount())
}
}