package mg.dot.feufaro

import android.app.Application
import com.tom_roush.pdfbox.android.PDFBoxResourceLoader
import org.koin.core.context.GlobalContext.startKoin
import mg.dot.feufaro.di.commonModule // Importez votre module commun
import org.koin.android.ext.koin.androidContext
import org.koin.android.ext.koin.androidLogger
import org.koin.core.logger.Level
import mg.dot.feufaro.di.androidModule
import mg.dot.feufaro.di.platformModule

class AndroidApp: Application() {
    override fun onCreate() {
        super.onCreate()
        PDFBoxResourceLoader.init(this)
        startKoin {
            // Log Koin messages (INFO pour le développement, ERROR pour la production)
            androidLogger(Level.INFO)
            // Fournit le Context Android à Koin pour l'injection
            androidContext(this@AndroidApp)
            // Incluez votre module Koin commun (et d'autres modules Android spécifiques si vous en avez)
            modules(commonModule, androidModule, platformModule)
        }

        // Optionnel : Vous pouvez ajouter un log ou un petit test ici pour vérifier que Koin démarre bien
        // val fileRepository = org.koin.core.context.GlobalContext.get().get<FileRepository>()
        // println("Koin et FileRepository initialisés dans AndroidApp: $fileRepository")
    }

}