diff options
| author | Abhishek Aggarwal <warabhishek@e.email> | 2022-04-13 14:26:50 +0000 |
|---|---|---|
| committer | Abhishek Aggarwal <warabhishek@e.email> | 2022-04-13 14:26:50 +0000 |
| commit | 5658347ab0099c4f512e19a3807d38758396114a (patch) | |
| tree | d3843d84ed1da95f9f43a34bd1fc82c480b789cf /app/src/main/java/foundation/e/privacycentralapp/domain | |
| parent | 714db561375e369a9bc080447de6a7b5e619870b (diff) | |
| parent | 14815678aaa5020e81f0cca9274f289e6ac7e2d5 (diff) | |
| download | advanced-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.kt | 21 |
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()) + } } |
