aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/DependencyContainer.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/DependencyContainer.kt')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/DependencyContainer.kt16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/DependencyContainer.kt b/app/src/main/java/foundation/e/privacycentralapp/DependencyContainer.kt
index 1ab848c..17967db 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/DependencyContainer.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/DependencyContainer.kt
@@ -20,6 +20,9 @@ package foundation.e.privacycentralapp
import android.app.Application
import android.content.Context
import android.os.Process
+import foundation.e.privacycentralapp.data.repositories.LocalStateRepository
+import foundation.e.privacycentralapp.domain.usecases.GetQuickPrivacyStateUseCase
+import foundation.e.privacycentralapp.features.dashboard.DashBoardViewModelFactory
import foundation.e.privacycentralapp.features.internetprivacy.InternetPrivacyViewModelFactory
import foundation.e.privacycentralapp.features.location.FakeLocationViewModelFactory
import foundation.e.privacycentralapp.features.location.LocationApiDelegate
@@ -40,6 +43,7 @@ class DependencyContainer constructor(val app: Application) {
val context: Context by lazy { app.applicationContext }
+ // Drivers
private val fakeLocationModule: IFakeLocation by lazy { FakeLocation(app.applicationContext) }
private val permissionsModule by lazy { PermissionsPrivacyModule(app.applicationContext) }
private val ipScramblerModule: IIpScramblerModule by lazy { IpScramblerModule(app.applicationContext) }
@@ -57,6 +61,18 @@ class DependencyContainer constructor(val app: Application) {
LocationApiDelegate(fakeLocationModule, permissionsModule, appDesc)
}
+ // Repositories
+ private val localStateRepository by lazy { LocalStateRepository(context) }
+
+ // Usecases
+ private val getQuickPrivacyStateUseCase by lazy {
+ GetQuickPrivacyStateUseCase(localStateRepository)
+ }
+
+ val dashBoardViewModelFactory by lazy {
+ DashBoardViewModelFactory(getQuickPrivacyStateUseCase)
+ }
+
val fakeLocationViewModelFactory by lazy {
FakeLocationViewModelFactory(locationApi)
}