Files
Android-Architecture-Showcase/app/src/main/kotlin/com/example/architecture/ArchitectureApp.kt
Adrian Kuta d1ff0e30ba
Some checks failed
CI / build (push) Has been cancelled
Initial commit
2026-06-11 11:03:01 +02:00

41 lines
1.4 KiB
Kotlin

package com.example.architecture
import android.app.Application
import com.example.architecture.core.data.di.coreDataModule
import com.example.architecture.feature.about.presentation.di.aboutPresentationModule
import com.example.architecture.feature.characters.data.di.charactersDataModule
import com.example.architecture.feature.characters.presentation.di.charactersPresentationModule
import org.koin.android.ext.koin.androidContext
import org.koin.android.ext.koin.androidLogger
import org.koin.core.context.startKoin
import timber.log.Timber
/**
* Single Koin entry point. Every feature's `*DataModule` / `*PresentationModule` is assembled here,
* never inside feature modules.
*/
class ArchitectureApp : Application() {
override fun onCreate() {
super.onCreate()
// Plant Timber only in debug; release builds get no logs (swap in a crash-reporting tree).
if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
}
startKoin {
androidLogger()
androidContext(this@ArchitectureApp)
modules(
// core
coreDataModule,
// characters feature
charactersDataModule,
charactersPresentationModule,
// about feature (MVVM contrast)
aboutPresentationModule,
)
}
}
}