From 65845b3362eb5d1cdc2caa58fd2fabe1c0d3bf53 Mon Sep 17 00:00:00 2001 From: Melih Aksoy Date: Wed, 31 Jul 2019 13:56:52 +0200 Subject: [PATCH] Library versions bumped. Closes #27. --- build.gradle | 4 +- .../core/base/lifecycle/BaseDaggerFragment.kt | 9 ++-- .../com/melih/detail/di/DetailContributor.kt | 8 +--- .../melih/detail/di/modules/DetailBinds.kt | 20 --------- .../detail/di/modules/DetailFragmentModule.kt | 39 +++++++++++++++++ .../melih/detail/di/modules/DetailProvides.kt | 21 --------- .../com/melih/list/di/LaunchesContributor.kt | 8 +--- .../melih/list/di/modules/LaunchesBinds.kt | 20 --------- .../list/di/modules/LaunchesFragmentModule.kt | 43 +++++++++++++++++++ .../melih/list/di/modules/LaunchesProvides.kt | 24 ----------- scripts/dependencies.gradle | 28 ++++++------ scripts/detekt.gradle | 2 +- 12 files changed, 107 insertions(+), 119 deletions(-) delete mode 100644 features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailBinds.kt create mode 100644 features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailFragmentModule.kt delete mode 100644 features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailProvides.kt delete mode 100644 features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesBinds.kt create mode 100644 features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesFragmentModule.kt delete mode 100644 features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesProvides.kt diff --git a/build.gradle b/build.gradle index 2f4bf76..78a3413 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = '1.3.41' - ext.nav_version = '2.1.0-alpha06' + ext.nav_version = '2.2.0-alpha01' repositories { google() @@ -20,7 +20,7 @@ buildscript { } plugins { - id "io.gitlab.arturbosch.detekt" version "1.0.0-RC14" + id "io.gitlab.arturbosch.detekt" version "1.0.0" id "org.jetbrains.dokka" version "0.9.18" id "jacoco" } diff --git a/core/src/main/kotlin/com/melih/core/base/lifecycle/BaseDaggerFragment.kt b/core/src/main/kotlin/com/melih/core/base/lifecycle/BaseDaggerFragment.kt index 7660275..0ca715f 100644 --- a/core/src/main/kotlin/com/melih/core/base/lifecycle/BaseDaggerFragment.kt +++ b/core/src/main/kotlin/com/melih/core/base/lifecycle/BaseDaggerFragment.kt @@ -2,12 +2,11 @@ package com.melih.core.base.lifecycle import android.content.Context import androidx.databinding.ViewDataBinding -import androidx.fragment.app.Fragment import com.melih.core.di.ViewModelFactory import dagger.android.AndroidInjector import dagger.android.DispatchingAndroidInjector +import dagger.android.HasAndroidInjector import dagger.android.support.AndroidSupportInjection -import dagger.android.support.HasSupportFragmentInjector import javax.inject.Inject @@ -21,12 +20,12 @@ import javax.inject.Inject * in the project. It's injected by map of view models that this app is serving. Check [ViewModelFactory] * to see how it works. */ -abstract class BaseDaggerFragment : BaseFragment(), HasSupportFragmentInjector { +abstract class BaseDaggerFragment : BaseFragment(), HasAndroidInjector { // region Properties @get:Inject - internal var childFragmentInjector: DispatchingAndroidInjector? = null + internal var androidInjector: DispatchingAndroidInjector? = null @Inject lateinit var viewModelFactory: ViewModelFactory @@ -39,6 +38,6 @@ abstract class BaseDaggerFragment : BaseFragment(), HasS super.onAttach(context) } - override fun supportFragmentInjector(): AndroidInjector? = childFragmentInjector + override fun androidInjector(): AndroidInjector? = androidInjector // endregion } diff --git a/features/detail/src/main/kotlin/com/melih/detail/di/DetailContributor.kt b/features/detail/src/main/kotlin/com/melih/detail/di/DetailContributor.kt index ff9261e..f97d26a 100644 --- a/features/detail/src/main/kotlin/com/melih/detail/di/DetailContributor.kt +++ b/features/detail/src/main/kotlin/com/melih/detail/di/DetailContributor.kt @@ -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 diff --git a/features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailBinds.kt b/features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailBinds.kt deleted file mode 100644 index 934faa2..0000000 --- a/features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailBinds.kt +++ /dev/null @@ -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 -} diff --git a/features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailFragmentModule.kt b/features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailFragmentModule.kt new file mode 100644 index 0000000..314e70e --- /dev/null +++ b/features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailFragmentModule.kt @@ -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) + } + } +} diff --git a/features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailProvides.kt b/features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailProvides.kt deleted file mode 100644 index 3ee52f0..0000000 --- a/features/detail/src/main/kotlin/com/melih/detail/di/modules/DetailProvides.kt +++ /dev/null @@ -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) - } -} diff --git a/features/launches/src/main/kotlin/com/melih/list/di/LaunchesContributor.kt b/features/launches/src/main/kotlin/com/melih/list/di/LaunchesContributor.kt index 9ab2f11..9b1d947 100644 --- a/features/launches/src/main/kotlin/com/melih/list/di/LaunchesContributor.kt +++ b/features/launches/src/main/kotlin/com/melih/list/di/LaunchesContributor.kt @@ -1,7 +1,6 @@ package com.melih.list.di -import com.melih.list.di.modules.LaunchesBinds -import com.melih.list.di.modules.LaunchesProvides +import com.melih.list.di.modules.LaunchesFragmentModule import com.melih.list.di.scopes.LaunchesFragmentScope import com.melih.list.ui.LaunchesFragment import dagger.Module @@ -16,10 +15,7 @@ abstract class LaunchesContributor { // region Contributes @ContributesAndroidInjector( - modules = [ - LaunchesProvides::class, - LaunchesBinds::class - ] + modules = [LaunchesFragmentModule::class] ) @LaunchesFragmentScope abstract fun launchesFragment(): LaunchesFragment diff --git a/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesBinds.kt b/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesBinds.kt deleted file mode 100644 index a3a66c2..0000000 --- a/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesBinds.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.melih.list.di.modules - -import androidx.lifecycle.ViewModel -import com.melih.core.di.keys.ViewModelKey -import com.melih.list.ui.vm.LaunchesViewModel -import dagger.Binds -import dagger.Module -import dagger.multibindings.IntoMap - -@Module -abstract class LaunchesBinds { - - // region ViewModels - - @Binds - @IntoMap - @ViewModelKey(LaunchesViewModel::class) - abstract fun listViewModel(listViewModel: LaunchesViewModel): ViewModel - // endregion -} diff --git a/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesFragmentModule.kt b/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesFragmentModule.kt new file mode 100644 index 0000000..eadf9b4 --- /dev/null +++ b/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesFragmentModule.kt @@ -0,0 +1,43 @@ +package com.melih.list.di.modules + +import androidx.lifecycle.ViewModel +import androidx.paging.Config +import com.melih.core.di.keys.ViewModelKey +import com.melih.list.ui.vm.LaunchesViewModel +import com.melih.repository.interactors.DEFAULT_LAUNCHES_AMOUNT +import com.melih.repository.interactors.GetLaunches +import dagger.Binds +import dagger.Module +import dagger.Provides +import dagger.multibindings.IntoMap + +@Module +abstract class LaunchesFragmentModule { + + // region ViewModels + + @Binds + @IntoMap + @ViewModelKey(LaunchesViewModel::class) + abstract fun listViewModel(listViewModel: LaunchesViewModel): ViewModel + // endregion + + @Module + companion object { + + /** + * Provides lauches, using default value of 15 + */ + @Provides + @JvmStatic + fun provideGetLaunchesParams() = GetLaunches.Params(page = 0) + + @Provides + @JvmStatic + fun getPagingConfig() = Config( + DEFAULT_LAUNCHES_AMOUNT, + prefetchDistance = 2, + enablePlaceholders = false + ) + } +} diff --git a/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesProvides.kt b/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesProvides.kt deleted file mode 100644 index 59cff00..0000000 --- a/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesProvides.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.melih.list.di.modules - -import androidx.paging.Config -import com.melih.repository.interactors.DEFAULT_LAUNCHES_AMOUNT -import com.melih.repository.interactors.GetLaunches -import dagger.Module -import dagger.Provides - -@Module -class LaunchesProvides { - - /** - * Provides lauches, using default value of 15 - */ - @Provides - fun provideGetLaunchesParams() = GetLaunches.Params(page = 0) - - @Provides - fun getPagingConfig() = Config( - DEFAULT_LAUNCHES_AMOUNT, - prefetchDistance = 2, - enablePlaceholders = false - ) -} diff --git a/scripts/dependencies.gradle b/scripts/dependencies.gradle index 29a823e..105b691 100644 --- a/scripts/dependencies.gradle +++ b/scripts/dependencies.gradle @@ -9,26 +9,26 @@ ext { appCompatVersion : "1.1.0-alpha04", lifecycleVersion : "2.2.0-alpha02", fragmentVersion : "1.2.0-alpha01", - workManagerVersion : "2.1.0-alpha03", + workManagerVersion : "2.2.0-rc01", constraintLayoutVesion: "2.0.0-beta1", cardViewVersion : "1.0.0", - recyclerViewVersion : "1.1.0-alpha06", + recyclerViewVersion : "1.1.0-beta02", pagingVersion : "2.1.0", - viewPagerVersion : "1.0.0-alpha05", + viewPagerVersion : "1.0.0-beta03", collectionVersion : "1.1.0", - roomVersion : "2.1.0", - daggerVersion : "2.22.1", - okHttpVersion : "4.0.0", - retrofitVersion : "2.6.0", + roomVersion : "2.2.0-alpha02", + daggerVersion : "2.24", + okHttpVersion : "4.0.1", + retrofitVersion : "2.6.1", picassoVersion : "2.71828", moshiVersion : "1.8.0", - coroutinesVersion : "1.3.0-M2", - leakCanaryVersion : "2.0-alpha-2", + coroutinesVersion : "1.3.0-RC2", + leakCanaryVersion : "2.0-beta-2", timberVersion : "4.7.1", - jUnitVersion : "5.5.0", + jUnitVersion : "5.5.1", espressoVersion : "3.2.0", mockkVersion : "1.9.3", - kluentVersion : "1.49", + kluentVersion : "1.53", ] libraries = [ @@ -56,11 +56,11 @@ ext { ], lifecycle : "androidx.lifecycle:lifecycle-extensions:${versions.lifecycleVersion}", - liveDataKTX : "androidx.lifecycle:lifecycle-livedata-ktx:${versions.lifecycleVersion}", + liveDataKTX : "androidx.lifecycle:lifecycle-livedata-ktx:${versions.lifecycleVersion}", workManager : "androidx.work:work-runtime-ktx:${versions.workManagerVersion}", paging : "androidx.paging:paging-runtime-ktx:${versions.pagingVersion}", viewPager : "androidx.viewpager2:viewpager2:${versions.viewPagerVersion}", - collection : "androidx.collection:collection:${versions.collectionVersion}", + collection : "androidx.collection:collection-ktx:${versions.collectionVersion}", /** * Kotlin @@ -127,7 +127,7 @@ ext { "com.google.dagger:dagger-compiler:${versions.daggerVersion}", "com.google.dagger:dagger-android-processor:${versions.daggerVersion}" ], - moshi : "com.squareup.moshi:moshi-kotlin-codegen:${versions.moshiVersion}" + moshi : "com.squareup.moshi:moshi-kotlin-codegen:${versions.moshiVersion}" ] testLibraries = [ diff --git a/scripts/detekt.gradle b/scripts/detekt.gradle index 17bbe39..5f07c3c 100644 --- a/scripts/detekt.gradle +++ b/scripts/detekt.gradle @@ -1,7 +1,7 @@ apply plugin: 'io.gitlab.arturbosch.detekt' detekt { - toolVersion = "1.0.0-RC14" + toolVersion = "1.0.0" config = files("$rootProject.projectDir/default-detekt-config.yml") filters = ".*/resources/.*,.*/build/.*"