36 lines
1.3 KiB
Kotlin
36 lines
1.3 KiB
Kotlin
package com.longnh15.heimdall
|
|
|
|
import android.app.Application
|
|
import androidx.lifecycle.DefaultLifecycleObserver
|
|
import androidx.lifecycle.LifecycleOwner
|
|
import androidx.lifecycle.ProcessLifecycleOwner
|
|
import com.longnh15.heimdall.di.appModule
|
|
import com.longnh15.heimdall.domain.vault.VaultSessionManager
|
|
import org.koin.android.ext.android.inject
|
|
import org.koin.android.ext.koin.androidContext
|
|
import org.koin.android.ext.koin.androidLogger
|
|
import org.koin.core.annotation.ComponentScan
|
|
import org.koin.core.annotation.KoinApplication
|
|
import org.koin.plugin.module.dsl.startKoin
|
|
|
|
//@KoinApplication(modules = [DatabaseModule::class])
|
|
//@ComponentScan
|
|
class HeimdallApplication: Application() {
|
|
private val vaultSessionManager: VaultSessionManager by inject()
|
|
private val vaultSessionLifecycleObserver = object : DefaultLifecycleObserver {
|
|
override fun onStart(owner: LifecycleOwner) {
|
|
vaultSessionManager.refreshSession()
|
|
}
|
|
}
|
|
|
|
override fun onCreate() {
|
|
super.onCreate()
|
|
startKoin<HeimdallApplication> {
|
|
androidLogger()
|
|
androidContext(this@HeimdallApplication)
|
|
modules(appModule)
|
|
}
|
|
|
|
ProcessLifecycleOwner.get().lifecycle.addObserver(vaultSessionLifecycleObserver)
|
|
}
|
|
} |