aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/features
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/features')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt61
1 files changed, 31 insertions, 30 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt
index 790a5a0..270dfcb 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/features/trackers/apptrackers/AppTrackersFeature.kt
@@ -87,7 +87,7 @@ class AppTrackersFeature(
sealed class Effect {
object NoEffect : Effect()
- data class ErrorEffect(val message: String) : Effect()
+ data class ErrorEffect(val message: Any) : Effect()
data class SetAppEffect(val appDesc: ApplicationDescription) : Effect()
data class AppTrackersBlockingActivatedEffect(val isBlockingActivated: Boolean) : Effect()
data class AvailableTrackersListEffect(val trackers: List<Tracker>) : Effect()
@@ -127,37 +127,38 @@ class AppTrackersFeature(
},
actor = { state, action ->
when (action) {
- is Action.InitAction -> {
- val appDesc =
- trackersStateUseCase.getApplicationDescription(action.packageName)
- merge<Effect>(
- flow {
+ is Action.InitAction ->
+ trackersStateUseCase
+ .getApplicationDescription(action.packageName)?.let { appDesc ->
+ merge<Effect>(
+ flow {
- emit(Effect.SetAppEffect(appDesc))
- emit(
- Effect.AppTrackersBlockingActivatedEffect(
- !trackersStateUseCase.isWhitelisted(appDesc.uid)
- )
- )
- emit(
- Effect.TrackersWhitelistUpdateEffect(
- trackersStateUseCase.getTrackersWhitelistIds(appDesc.uid)
- )
- )
- emit(
- Effect.AvailableTrackersListEffect(
- trackers = trackersStatisticsUseCase.getTrackers(appDesc.uid)
- )
+ emit(Effect.SetAppEffect(appDesc))
+ emit(
+ Effect.AppTrackersBlockingActivatedEffect(
+ !trackersStateUseCase.isWhitelisted(appDesc.uid)
+ )
+ )
+ emit(
+ Effect.TrackersWhitelistUpdateEffect(
+ trackersStateUseCase.getTrackersWhitelistIds(appDesc.uid)
+ )
+ )
+ emit(
+ Effect.AvailableTrackersListEffect(
+ trackers = trackersStatisticsUseCase.getTrackers(appDesc.uid)
+ )
+ )
+ },
+ trackersStatisticsUseCase.listenUpdates().map {
+ Effect.NewStatisticsAvailablesEffect
+ },
+ getQuickPrivacyStateUseCase.quickPrivacyEnabledFlow.map {
+ Effect.QuickPrivacyUpdatedEffect(it)
+ }
)
- },
- trackersStatisticsUseCase.listenUpdates().map {
- Effect.NewStatisticsAvailablesEffect
- },
- getQuickPrivacyStateUseCase.quickPrivacyEnabledFlow.map {
- Effect.QuickPrivacyUpdatedEffect(it)
- }
- )
- }
+ } ?: flowOf(Effect.ErrorEffect(R.string.apptrackers_error_no_app))
+
is Action.BlockAllToggleAction ->
state.appDesc?.uid?.let { appUid ->
flow {