package soy.iko.opencode import android.app.Application import soy.iko.opencode.data.repo.CrashLogger import soy.iko.opencode.di.AppContainer class OpencodeApp : Application() { lateinit var container: AppContainer private set override fun onCreate() { super.onCreate() CrashLogger.get(this).install() container = AppContainer(this) // onTerminate() is only called in emulated process environments, not on real // devices. Register a JVM shutdown hook so cleanup (network callback unregister, // scope cancellation, connection close) runs when the process is actually killed. Runtime.getRuntime().addShutdownHook(Thread { container.shutdown() }) } override fun onTerminate() { super.onTerminate() container.shutdown() } }