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 { androidLogger() androidContext(this@HeimdallApplication) modules(appModule) } ProcessLifecycleOwner.get().lifecycle.addObserver(vaultSessionLifecycleObserver) } }