aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/domain
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/domain
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/domain')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt21
1 files changed, 20 insertions, 1 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 4262055..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)
},
@@ -153,4 +155,21 @@ class TrackersStatisticsUseCase(
}
}
}
+
+ 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
+ }
+ else flowOf(trackTrackersPrivacyModule.getTrackersCount())
+ }
}