Library versions bumped. Closes #27.

This commit is contained in:
Melih Aksoy
2019-07-31 13:56:52 +02:00
parent 61308f9c17
commit 65845b3362
12 changed files with 107 additions and 119 deletions

View File

@@ -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"
}

View File

@@ -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<T : ViewDataBinding> : BaseFragment<T>(), HasSupportFragmentInjector {
abstract class BaseDaggerFragment<T : ViewDataBinding> : BaseFragment<T>(), HasAndroidInjector {
// region Properties
@get:Inject
internal var childFragmentInjector: DispatchingAndroidInjector<Fragment>? = null
internal var androidInjector: DispatchingAndroidInjector<Any>? = null
@Inject
lateinit var viewModelFactory: ViewModelFactory
@@ -39,6 +38,6 @@ abstract class BaseDaggerFragment<T : ViewDataBinding> : BaseFragment<T>(), HasS
super.onAttach(context)
}
override fun supportFragmentInjector(): AndroidInjector<Fragment>? = childFragmentInjector
override fun androidInjector(): AndroidInjector<Any>? = androidInjector
// endregion
}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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)
}
}
}

View File

@@ -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)
}
}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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
)
}
}

View File

@@ -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
)
}

View File

@@ -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 = [

View File

@@ -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/.*"