Skip to content

Commit

Permalink
Fixed #515, Migrated from Dagger Hilt to Koin
Browse files Browse the repository at this point in the history
  • Loading branch information
maxrave-dev committed Sep 1, 2024
1 parent 6a41695 commit e05f218
Show file tree
Hide file tree
Showing 86 changed files with 5,157 additions and 4,485 deletions.
1 change: 0 additions & 1 deletion .idea/ktlint-plugin.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file.
19 changes: 10 additions & 9 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ plugins {
alias(libs.plugins.kotlin.android)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.navigation.safeargs)
alias(libs.plugins.hilt.android)
alias(libs.plugins.ksp)
alias(libs.plugins.aboutlibraries)
}
Expand All @@ -24,6 +23,7 @@ android {

ksp {
arg("room.schemaLocation", "$projectDir/schemas")
arg("KOIN_CONFIG_CHECK", "true")
}

resourceConfigurations +=
Expand Down Expand Up @@ -256,11 +256,6 @@ dependencies {

// Fragment KTX
implementation(libs.fragment.ktx)
// Hilt
implementation(libs.hilt.android)
implementation(libs.hilt.work)
ksp(libs.hilt.compiler)
ksp(libs.dagger.hilt.compiler)
ksp(libs.kotlinx.metadata.jvm)
// DataStore
implementation(libs.datastore.preferences)
Expand Down Expand Up @@ -302,9 +297,15 @@ dependencies {
implementation(libs.insetsx)

coreLibraryDesugaring(libs.desugaring)
}
hilt {
enableAggregatingTask = true

//Koin
implementation(platform(libs.koin.bom))
implementation(libs.koin.core)
implementation(libs.koin.android)
implementation(libs.koin.workmanager)
implementation(libs.koin.androidx.compose)
implementation(libs.koin.annotations)
ksp(libs.koin.ksp)
}
aboutLibraries {
prettyPrint = true
Expand Down
43 changes: 23 additions & 20 deletions app/src/main/java/com/maxrave/simpmusic/SimpMusicApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,36 @@ import android.app.Application
import android.content.Context
import android.util.Log
import androidx.appcompat.app.AppCompatDelegate
import androidx.hilt.work.HiltWorkerFactory
import androidx.media3.common.util.UnstableApi
import androidx.work.Configuration
import cat.ereza.customactivityoncrash.config.CaocConfig
import com.maxrave.simpmusic.di.databaseModule
import com.maxrave.simpmusic.di.mediaServiceModule
import com.maxrave.simpmusic.ui.MainActivity
import dagger.hilt.android.HiltAndroidApp
import javax.inject.Inject

@HiltAndroidApp
class SimpMusicApplication : Application(), Configuration.Provider {
@Inject
lateinit var workerFactory: HiltWorkerFactory

override val workManagerConfiguration: Configuration
get() =
Configuration.Builder()
.setWorkerFactory(workerFactory)
.setMinimumLoggingLevel(Log.WARN)
.build()
import org.koin.android.ext.koin.androidContext
import org.koin.android.ext.koin.androidLogger
import org.koin.androidx.workmanager.koin.workManagerFactory
import org.koin.core.component.KoinComponent
import org.koin.core.context.startKoin
import org.koin.core.logger.Level

class SimpMusicApplication :
Application(),
KoinComponent {
@UnstableApi
override fun onCreate() {
super.onCreate()
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
CaocConfig.Builder.create()
startKoin {
androidLogger(level = Level.DEBUG)
androidContext(this@SimpMusicApplication)
modules(
databaseModule,
mediaServiceModule,
)
workManagerFactory()
}
CaocConfig.Builder
.create()
.backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT) // default: CaocConfig.BACKGROUND_MODE_SHOW_CUSTOM
.enabled(true) // default: true
.showErrorDetails(true) // default: true
Expand Down Expand Up @@ -59,8 +64,6 @@ class SimpMusicApplication : Application(), Configuration.Provider {
companion object {
private var instance: SimpMusicApplication? = null

fun applicationContext(): Context {
return instance!!.applicationContext
}
fun applicationContext(): Context = instance!!.applicationContext
}
}
Loading

0 comments on commit e05f218

Please sign in to comment.