36 lines
1.3 KiB
Kotlin
Raw Normal View History

2026-06-09 16:27:40 +07:00
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)
}
}