diff options
| author | jacquarg <guillaume.jacquart@hoodbrains.com> | 2022-04-12 18:55:02 +0200 |
|---|---|---|
| committer | jacquarg <guillaume.jacquart@hoodbrains.com> | 2022-04-12 18:55:02 +0200 |
| commit | 14815678aaa5020e81f0cca9274f289e6ac7e2d5 (patch) | |
| tree | d3843d84ed1da95f9f43a34bd1fc82c480b789cf /app/src/main/java/foundation/e/privacycentralapp/domain | |
| parent | b14d22413713fd865fafb8a53e44fd74017a6279 (diff) | |
| download | advanced-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.kt | 33 |
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()) } } |
