ultrasonic-app-subsonic-and.../ultrasonic/src/main/kotlin/org/moire/ultrasonic/app/UApp.kt

49 lines
1.5 KiB
Kotlin
Raw Normal View History

package org.moire.ultrasonic.app
2020-05-29 11:23:51 +02:00
import androidx.multidex.MultiDexApplication
import org.koin.android.ext.koin.androidContext
import org.koin.core.context.startKoin
import org.koin.core.logger.Level
2020-09-30 14:47:59 +02:00
import org.moire.ultrasonic.BuildConfig
2020-06-30 17:09:13 +02:00
import org.moire.ultrasonic.di.appPermanentStorage
2021-02-05 21:45:50 +01:00
import org.moire.ultrasonic.di.applicationModule
2020-06-30 17:09:13 +02:00
import org.moire.ultrasonic.di.baseNetworkModule
import org.moire.ultrasonic.di.directoriesModule
import org.moire.ultrasonic.di.featureFlagsModule
import org.moire.ultrasonic.di.mediaPlayerModule
import org.moire.ultrasonic.di.musicServiceModule
import org.moire.ultrasonic.log.FileLoggerTree
import org.moire.ultrasonic.log.TimberKoinLogger
import org.moire.ultrasonic.util.Util
2020-09-30 14:47:59 +02:00
import timber.log.Timber
import timber.log.Timber.DebugTree
2020-05-29 11:23:51 +02:00
class UApp : MultiDexApplication() {
override fun onCreate() {
super.onCreate()
2020-09-30 14:47:59 +02:00
if (BuildConfig.DEBUG) {
Timber.plant(DebugTree())
}
if (Util.getDebugLogToFile(this)) {
FileLoggerTree.plantToTimberForest(this)
2020-09-30 14:47:59 +02:00
}
startKoin {
logger(TimberKoinLogger(Level.INFO))
// declare Android context
androidContext(this@UApp)
// declare modules to use
modules(
2021-02-05 21:45:50 +01:00
applicationModule,
directoriesModule,
appPermanentStorage,
baseNetworkModule,
featureFlagsModule,
musicServiceModule,
mediaPlayerModule
)
}
}
}