aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt66
1 files changed, 21 insertions, 45 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt
index 100aeecb..1e2b438e 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt
@@ -20,64 +20,48 @@ import android.app.Activity
import android.app.Application
import android.os.Bundle
import android.util.Log
-import ca.allanwang.kau.kpref.KPrefFactory
-import ca.allanwang.kau.kpref.KPrefFactoryAndroid
import ca.allanwang.kau.logging.KL
import ca.allanwang.kau.utils.buildIsLollipopAndUp
-import com.pitchedapps.frost.db.FrostDatabase
-import com.pitchedapps.frost.facebook.FbCookie
+import com.pitchedapps.frost.db.CookieDao
+import com.pitchedapps.frost.db.NotificationDao
import com.pitchedapps.frost.injectors.ThemeProvider
import com.pitchedapps.frost.prefs.Prefs
import com.pitchedapps.frost.services.scheduleNotificationsFromPrefs
import com.pitchedapps.frost.services.setupNotificationChannels
import com.pitchedapps.frost.utils.FrostPglAdBlock
import com.pitchedapps.frost.utils.L
+import dagger.hilt.android.HiltAndroidApp
import java.util.Random
-import org.koin.android.ext.koin.androidContext
-import org.koin.android.ext.koin.androidLogger
-import org.koin.core.component.KoinComponent
-import org.koin.core.component.get
-import org.koin.core.context.startKoin
-import org.koin.core.module.Module
-import org.koin.dsl.module
+import javax.inject.Inject
/**
* Created by Allan Wang on 2017-05-28.
*/
-class FrostApp : Application(), KoinComponent {
+@HiltAndroidApp
+class FrostApp : Application() {
- private lateinit var prefs: Prefs
- private lateinit var themeProvider: ThemeProvider
+ @Inject
+ lateinit var prefs: Prefs
+
+ @Inject
+ lateinit var themeProvider: ThemeProvider
+
+ @Inject
+ lateinit var cookieDao: CookieDao
+
+ @Inject
+ lateinit var notifDao: NotificationDao
override fun onCreate() {
- startKoin {
- if (BuildConfig.DEBUG) {
- androidLogger()
- }
- androidContext(this@FrostApp)
- modules(
- listOf(
- FrostDatabase.module(),
- prefFactoryModule(),
- Prefs.module(),
- FbCookie.module(),
- ThemeProvider.module()
- )
- )
- }
- if (!buildIsLollipopAndUp) { // not supported
- super.onCreate()
- return
- }
- prefs = get()
- themeProvider = get()
+ super.onCreate()
+
+ if (!buildIsLollipopAndUp) return // not supported
+
initPrefs()
L.i { "Begin Frost for Facebook" }
FrostPglAdBlock.init(this)
- super.onCreate()
-
setupNotificationChannels(this, themeProvider)
scheduleNotificationsFromPrefs(prefs)
@@ -122,12 +106,4 @@ class FrostApp : Application(), KoinComponent {
}
prefs.lastLaunch = System.currentTimeMillis()
}
-
- companion object {
- fun prefFactoryModule(): Module = module {
- single<KPrefFactory> {
- KPrefFactoryAndroid(get())
- }
- }
- }
}