diff options
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt')
-rw-r--r-- | app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt b/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt index c99d5f1..f8a0986 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt @@ -1,4 +1,5 @@ /* + * Copyright (C) 2023 MURENA SAS * Copyright (C) 2022 E FOUNDATION * * This program is free software: you can redistribute it and/or modify @@ -17,11 +18,11 @@ package foundation.e.advancedprivacy.domain.usecases -import foundation.e.advancedprivacy.data.repositories.LocalStateRepository -import foundation.e.advancedprivacy.domain.entities.ShowFeaturesWarning -import foundation.e.advancedprivacy.domain.entities.ShowFeaturesWarning.FakeLocation -import foundation.e.advancedprivacy.domain.entities.ShowFeaturesWarning.IpScrambling -import foundation.e.advancedprivacy.domain.entities.ShowFeaturesWarning.TrackersControl +import foundation.e.advancedprivacy.domain.entities.MainFeatures +import foundation.e.advancedprivacy.domain.entities.MainFeatures.FakeLocation +import foundation.e.advancedprivacy.domain.entities.MainFeatures.IpScrambling +import foundation.e.advancedprivacy.domain.entities.MainFeatures.TrackersControl +import foundation.e.advancedprivacy.domain.repositories.LocalStateRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.drop import kotlinx.coroutines.flow.dropWhile @@ -33,24 +34,22 @@ class ShowFeaturesWarningUseCase( private val localStateRepository: LocalStateRepository ) { - fun showWarning(): Flow<ShowFeaturesWarning> { + fun showWarning(): Flow<MainFeatures> { return merge( - localStateRepository.blockTrackers.drop(1).dropWhile { !it } - .filter { it && !localStateRepository.hideWarningTrackers } - .map { TrackersControl }, localStateRepository.fakeLocationEnabled.drop(1).dropWhile { !it } .filter { it && !localStateRepository.hideWarningLocation } .map { FakeLocation }, localStateRepository.startVpnDisclaimer.filter { - it.startVpnDisclaimer != null || !localStateRepository.hideWarningIpScrambling + (it is IpScrambling && !localStateRepository.hideWarningIpScrambling) || + (it is TrackersControl && !localStateRepository.hideWarningTrackers) } ) } - fun doNotShowAgain(feature: ShowFeaturesWarning) { + fun doNotShowAgain(feature: MainFeatures) { when (feature) { - TrackersControl -> localStateRepository.hideWarningTrackers = true - FakeLocation -> localStateRepository.hideWarningLocation = true + is TrackersControl -> localStateRepository.hideWarningTrackers = true + is FakeLocation -> localStateRepository.hideWarningLocation = true is IpScrambling -> localStateRepository.hideWarningIpScrambling = true } } |