summaryrefslogtreecommitdiff
path: root/app/src/main/java/foundation/e/advancedprivacy/KoinModule.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/KoinModule.kt')
-rw-r--r--app/src/main/java/foundation/e/advancedprivacy/KoinModule.kt27
1 files changed, 24 insertions, 3 deletions
diff --git a/app/src/main/java/foundation/e/advancedprivacy/KoinModule.kt b/app/src/main/java/foundation/e/advancedprivacy/KoinModule.kt
index 3fbb636..20cefd5 100644
--- a/app/src/main/java/foundation/e/advancedprivacy/KoinModule.kt
+++ b/app/src/main/java/foundation/e/advancedprivacy/KoinModule.kt
@@ -22,6 +22,8 @@ import android.os.Process
import foundation.e.advancedprivacy.core.coreModule
import foundation.e.advancedprivacy.data.repositories.LocalStateRepository
import foundation.e.advancedprivacy.domain.entities.ApplicationDescription
+import foundation.e.advancedprivacy.domain.entities.CHANNEL_TRACKER_FLAG
+import foundation.e.advancedprivacy.domain.entities.NotificationContent
import foundation.e.advancedprivacy.domain.entities.ProfileType
import foundation.e.advancedprivacy.domain.usecases.AppListUseCase
import foundation.e.advancedprivacy.domain.usecases.FakeLocationStateUseCase
@@ -39,7 +41,10 @@ import foundation.e.advancedprivacy.features.location.FakeLocationViewModel
import foundation.e.advancedprivacy.features.trackers.TrackersViewModel
import foundation.e.advancedprivacy.features.trackers.apptrackers.AppTrackersViewModel
import foundation.e.advancedprivacy.ipscrambler.ipScramblerModule
-import foundation.e.advancedprivacy.permissions.externalinterfaces.PermissionsPrivacyModule
+import foundation.e.advancedprivacy.permissions.externalinterfaces.PermissionsPrivacyModuleImpl
+import foundation.e.advancedprivacy.trackers.domain.externalinterfaces.TrackersServiceSupervisor
+import foundation.e.advancedprivacy.trackers.service.TrackersServiceSupervisorImpl
+import foundation.e.advancedprivacy.trackers.service.trackerServiceModule
import foundation.e.advancedprivacy.trackers.trackersModule
import org.koin.android.ext.koin.androidContext
import org.koin.androidx.viewmodel.dsl.viewModel
@@ -49,7 +54,7 @@ import org.koin.core.qualifier.named
import org.koin.dsl.module
val appModule = module {
- includes(coreModule, trackersModule, fakelocationModule, ipScramblerModule)
+ includes(coreModule, trackersModule, fakelocationModule, ipScramblerModule, trackerServiceModule)
factory<Resources> { androidContext().resources }
single {
@@ -89,6 +94,16 @@ val appModule = module {
)
}
+ single<NotificationContent>(named("notificationTrackerFlag")) {
+ NotificationContent(
+ channelId = CHANNEL_TRACKER_FLAG,
+ icon = R.drawable.ic_e_app_logo,
+ title = R.string.notifications_tracker_title,
+ description = R.string.notifications_tracker_content,
+ pendingIntent = null
+ )
+ }
+
single { CityDataSource }
singleOf(::AppListUseCase)
@@ -120,7 +135,13 @@ val appModule = module {
singleOf(::TrackersStatisticsUseCase)
single<IPermissionsPrivacyModule> {
- PermissionsPrivacyModule(context = androidContext())
+ PermissionsPrivacyModuleImpl(context = androidContext())
+ }
+
+ single<TrackersServiceSupervisor> {
+ TrackersServiceSupervisorImpl(
+ context = androidContext(),
+ )
}
viewModel { parameters ->