mirror of
https://github.com/melihaksoy/Android-Kotlin-Modulerized-CleanArchitecture.git
synced 2026-03-26 03:11:33 +01:00
Library versions bumped. Closes #27.
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.melih.detail.di
|
||||
|
||||
import com.melih.detail.di.modules.DetailBinds
|
||||
import com.melih.detail.di.modules.DetailProvides
|
||||
import com.melih.detail.di.modules.DetailFragmentModule
|
||||
import com.melih.detail.ui.DetailFragment
|
||||
import com.melih.list.di.scopes.DetailFragmentScope
|
||||
import dagger.Module
|
||||
@@ -16,10 +15,7 @@ abstract class DetailContributor {
|
||||
// region Contributes
|
||||
|
||||
@ContributesAndroidInjector(
|
||||
modules = [
|
||||
DetailBinds::class,
|
||||
DetailProvides::class
|
||||
]
|
||||
modules = [DetailFragmentModule::class]
|
||||
)
|
||||
@DetailFragmentScope
|
||||
abstract fun detailFragment(): DetailFragment
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.melih.detail.di.modules
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.melih.core.di.keys.ViewModelKey
|
||||
import com.melih.detail.ui.DetailViewModel
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.multibindings.IntoMap
|
||||
|
||||
@Module
|
||||
abstract class DetailBinds {
|
||||
|
||||
// region ViewModels
|
||||
|
||||
@Binds
|
||||
@IntoMap
|
||||
@ViewModelKey(DetailViewModel::class)
|
||||
abstract fun detailViewModel(detailViewModel: DetailViewModel): ViewModel
|
||||
// endregion
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.melih.detail.di.modules
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import com.melih.core.di.keys.ViewModelKey
|
||||
import com.melih.detail.ui.DetailFragment
|
||||
import com.melih.detail.ui.DetailFragmentArgs
|
||||
import com.melih.detail.ui.DetailViewModel
|
||||
import com.melih.repository.interactors.GetLaunchDetails
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.multibindings.IntoMap
|
||||
|
||||
@Module
|
||||
abstract class DetailFragmentModule {
|
||||
|
||||
// region ViewModels
|
||||
|
||||
@Binds
|
||||
@IntoMap
|
||||
@ViewModelKey(DetailViewModel::class)
|
||||
abstract fun detailViewModel(detailViewModel: DetailViewModel): ViewModel
|
||||
// endregion
|
||||
|
||||
@Module
|
||||
companion object {
|
||||
|
||||
/**
|
||||
* Provides launch detail params
|
||||
*/
|
||||
@Provides
|
||||
@JvmStatic
|
||||
fun provideGetLaunchDetailParams(fragment: DetailFragment): GetLaunchDetails.Params {
|
||||
val args: DetailFragmentArgs by fragment.navArgs()
|
||||
return GetLaunchDetails.Params(args.launchId)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package com.melih.detail.di.modules
|
||||
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import com.melih.detail.ui.DetailFragment
|
||||
import com.melih.detail.ui.DetailFragmentArgs
|
||||
import com.melih.repository.interactors.GetLaunchDetails
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
|
||||
@Module
|
||||
class DetailProvides {
|
||||
|
||||
/**
|
||||
* Provides launch detail params
|
||||
*/
|
||||
@Provides
|
||||
fun provideGetLaunchDetailParams(fragment: DetailFragment): GetLaunchDetails.Params {
|
||||
val args: DetailFragmentArgs by fragment.navArgs()
|
||||
return GetLaunchDetails.Params(args.launchId)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user