From 83e39400a97efdcbdfaf3fbe9607027e3fea04ff Mon Sep 17 00:00:00 2001 From: Melih Aksoy Date: Thu, 26 Sep 2019 17:23:53 +0200 Subject: [PATCH] Feature/core repository separation (#44) * Fixed wrong package name. Fixes #43 * Updated package name. Fixes #41 * Ignoring not-used warning - this graph is included in main graph * Separated repository from core. Fixes #42 * Removing adapter from recyclerView when view is destroyed to prevent leak. Fixes #40 * Updated new module graph Signed-off-by: Melih Aksoy --- app/build.gradle | 1 + .../com/melih/rocketscience/di/AppModule.kt | 2 +- core/build.gradle | 4 +-- docs/module_graph.png | Bin 39188 -> 51442 bytes features/detail/build.gradle | 2 ++ .../com/melih/detail/di/DetailContributor.kt | 2 +- .../detail/di/scopes/DetailFragmentScope.kt | 2 +- .../com/melih/detail/di/scopes/DetailScope.kt | 2 +- features/launches/build.gradle | 2 ++ .../launches/src/main/AndroidManifest.xml | 2 +- .../di/LaunchesContributor.kt | 8 +++--- .../di/modules/LaunchesFragmentModule.kt | 4 +-- .../di/scopes/LaunchesFragmentScope.kt | 2 +- .../di/scopes/LaunchesScope.kt | 2 +- .../{list => launches}/ui/LaunchesFragment.kt | 15 ++++++++---- .../ui/adapters/LaunchesAdapter.kt | 4 +-- .../ui/paging/LaunchesPagingSource.kt | 2 +- .../ui/paging/LaunchesPagingSourceFactory.kt | 2 +- .../ui/vm/LaunchesViewModel.kt | 4 +-- .../src/main/res/layout/fragment_launches.xml | 2 +- .../src/main/res/navigation/nav_launches.xml | 23 +++++++++--------- .../BaseTestWithMainThread.kt | 3 ++- 22 files changed, 50 insertions(+), 40 deletions(-) rename features/launches/src/main/kotlin/com/melih/{list => launches}/di/LaunchesContributor.kt (67%) rename features/launches/src/main/kotlin/com/melih/{list => launches}/di/modules/LaunchesFragmentModule.kt (91%) rename features/launches/src/main/kotlin/com/melih/{list => launches}/di/scopes/LaunchesFragmentScope.kt (75%) rename features/launches/src/main/kotlin/com/melih/{list => launches}/di/scopes/LaunchesScope.kt (73%) rename features/launches/src/main/kotlin/com/melih/{list => launches}/ui/LaunchesFragment.kt (87%) rename features/launches/src/main/kotlin/com/melih/{list => launches}/ui/adapters/LaunchesAdapter.kt (92%) rename features/launches/src/main/kotlin/com/melih/{list => launches}/ui/paging/LaunchesPagingSource.kt (95%) rename features/launches/src/main/kotlin/com/melih/{list => launches}/ui/paging/LaunchesPagingSourceFactory.kt (93%) rename features/launches/src/main/kotlin/com/melih/{list => launches}/ui/vm/LaunchesViewModel.kt (87%) rename features/launches/src/test/kotlin/com/melih/{list => launches}/BaseTestWithMainThread.kt (89%) diff --git a/app/build.gradle b/app/build.gradle index eac4a55..4eb083f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,6 +32,7 @@ dependencies { androidTestImplementation testLibraries.espresso // These libraries required by dagger to create dependency graph, but not by app + compileOnly project(':repository') compileOnly libraries.retrofit compileOnly libraries.room compileOnly libraries.paging diff --git a/app/src/main/kotlin/com/melih/rocketscience/di/AppModule.kt b/app/src/main/kotlin/com/melih/rocketscience/di/AppModule.kt index 2cc3b52..65eabe5 100644 --- a/app/src/main/kotlin/com/melih/rocketscience/di/AppModule.kt +++ b/app/src/main/kotlin/com/melih/rocketscience/di/AppModule.kt @@ -1,7 +1,7 @@ package com.melih.rocketscience.di import com.melih.detail.di.DetailContributor -import com.melih.list.di.LaunchesContributor +import com.melih.launches.di.LaunchesContributor import com.melih.rocketscience.MainActivity import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/core/build.gradle b/core/build.gradle index 96de2b7..ef8cb83 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -14,7 +14,7 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - api project(":repository") + implementation project(':repository') implementation libraries.fragment implementation libraries.paging @@ -28,6 +28,4 @@ dependencies { testImplementation testLibraries.mockk testImplementation testLibraries.kluent testImplementation testLibraries.coroutinesTest - - compileOnly libraries.room } diff --git a/docs/module_graph.png b/docs/module_graph.png index 93bab7997822958c62652e946459c980b4d6a2c1..7add4b6e609205841326756ede652bfcf4d45178 100644 GIT binary patch literal 51442 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 F{{!l18Mpud literal 39188 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 diff --git a/features/detail/build.gradle b/features/detail/build.gradle index cea8317..43a02bd 100644 --- a/features/detail/build.gradle +++ b/features/detail/build.gradle @@ -14,5 +14,7 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation project(':repository') + testImplementation testLibraries.coroutinesTest } 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 6a648c9..ad1b7fa 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,8 +1,8 @@ package com.melih.detail.di import com.melih.detail.di.modules.DetailFragmentModule +import com.melih.detail.di.scopes.DetailFragmentScope import com.melih.detail.ui.DetailFragment -import com.melih.list.di.scopes.DetailFragmentScope import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/features/detail/src/main/kotlin/com/melih/detail/di/scopes/DetailFragmentScope.kt b/features/detail/src/main/kotlin/com/melih/detail/di/scopes/DetailFragmentScope.kt index c5a983b..61e38e2 100644 --- a/features/detail/src/main/kotlin/com/melih/detail/di/scopes/DetailFragmentScope.kt +++ b/features/detail/src/main/kotlin/com/melih/detail/di/scopes/DetailFragmentScope.kt @@ -1,4 +1,4 @@ -package com.melih.list.di.scopes +package com.melih.detail.di.scopes import javax.inject.Scope diff --git a/features/detail/src/main/kotlin/com/melih/detail/di/scopes/DetailScope.kt b/features/detail/src/main/kotlin/com/melih/detail/di/scopes/DetailScope.kt index e264fde..93d96b0 100644 --- a/features/detail/src/main/kotlin/com/melih/detail/di/scopes/DetailScope.kt +++ b/features/detail/src/main/kotlin/com/melih/detail/di/scopes/DetailScope.kt @@ -1,4 +1,4 @@ -package com.melih.list.di.scopes +package com.melih.detail.di.scopes import javax.inject.Scope diff --git a/features/launches/build.gradle b/features/launches/build.gradle index 740d414..78a3446 100644 --- a/features/launches/build.gradle +++ b/features/launches/build.gradle @@ -7,6 +7,8 @@ apply from: "$rootProject.projectDir/scripts/feature_module.gradle" dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation project(':repository') + implementation libraries.paging implementation libraries.swipeRefreshLayout diff --git a/features/launches/src/main/AndroidManifest.xml b/features/launches/src/main/AndroidManifest.xml index c857a13..01b8e2a 100644 --- a/features/launches/src/main/AndroidManifest.xml +++ b/features/launches/src/main/AndroidManifest.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/features/launches/src/main/kotlin/com/melih/list/di/LaunchesContributor.kt b/features/launches/src/main/kotlin/com/melih/launches/di/LaunchesContributor.kt similarity index 67% rename from features/launches/src/main/kotlin/com/melih/list/di/LaunchesContributor.kt rename to features/launches/src/main/kotlin/com/melih/launches/di/LaunchesContributor.kt index 7de0829..a69725e 100644 --- a/features/launches/src/main/kotlin/com/melih/list/di/LaunchesContributor.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/di/LaunchesContributor.kt @@ -1,8 +1,8 @@ -package com.melih.list.di +package com.melih.launches.di -import com.melih.list.di.modules.LaunchesFragmentModule -import com.melih.list.di.scopes.LaunchesFragmentScope -import com.melih.list.ui.LaunchesFragment +import com.melih.launches.di.modules.LaunchesFragmentModule +import com.melih.launches.di.scopes.LaunchesFragmentScope +import com.melih.launches.ui.LaunchesFragment import dagger.Module import dagger.android.ContributesAndroidInjector diff --git a/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesFragmentModule.kt b/features/launches/src/main/kotlin/com/melih/launches/di/modules/LaunchesFragmentModule.kt similarity index 91% rename from features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesFragmentModule.kt rename to features/launches/src/main/kotlin/com/melih/launches/di/modules/LaunchesFragmentModule.kt index fc47acb..207eaf3 100644 --- a/features/launches/src/main/kotlin/com/melih/list/di/modules/LaunchesFragmentModule.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/di/modules/LaunchesFragmentModule.kt @@ -1,9 +1,9 @@ -package com.melih.list.di.modules +package com.melih.launches.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.launches.ui.vm.LaunchesViewModel import com.melih.repository.interactors.DEFAULT_LAUNCHES_AMOUNT import com.melih.repository.interactors.GetLaunches import dagger.Binds diff --git a/features/launches/src/main/kotlin/com/melih/list/di/scopes/LaunchesFragmentScope.kt b/features/launches/src/main/kotlin/com/melih/launches/di/scopes/LaunchesFragmentScope.kt similarity index 75% rename from features/launches/src/main/kotlin/com/melih/list/di/scopes/LaunchesFragmentScope.kt rename to features/launches/src/main/kotlin/com/melih/launches/di/scopes/LaunchesFragmentScope.kt index e5b898b..eb5898f 100644 --- a/features/launches/src/main/kotlin/com/melih/list/di/scopes/LaunchesFragmentScope.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/di/scopes/LaunchesFragmentScope.kt @@ -1,4 +1,4 @@ -package com.melih.list.di.scopes +package com.melih.launches.di.scopes import javax.inject.Scope diff --git a/features/launches/src/main/kotlin/com/melih/list/di/scopes/LaunchesScope.kt b/features/launches/src/main/kotlin/com/melih/launches/di/scopes/LaunchesScope.kt similarity index 73% rename from features/launches/src/main/kotlin/com/melih/list/di/scopes/LaunchesScope.kt rename to features/launches/src/main/kotlin/com/melih/launches/di/scopes/LaunchesScope.kt index 31b4887..24baafb 100644 --- a/features/launches/src/main/kotlin/com/melih/list/di/scopes/LaunchesScope.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/di/scopes/LaunchesScope.kt @@ -1,4 +1,4 @@ -package com.melih.list.di.scopes +package com.melih.launches.di.scopes import javax.inject.Scope diff --git a/features/launches/src/main/kotlin/com/melih/list/ui/LaunchesFragment.kt b/features/launches/src/main/kotlin/com/melih/launches/ui/LaunchesFragment.kt similarity index 87% rename from features/launches/src/main/kotlin/com/melih/list/ui/LaunchesFragment.kt rename to features/launches/src/main/kotlin/com/melih/launches/ui/LaunchesFragment.kt index c4e02e7..e29d29c 100644 --- a/features/launches/src/main/kotlin/com/melih/list/ui/LaunchesFragment.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/ui/LaunchesFragment.kt @@ -1,4 +1,4 @@ -package com.melih.list.ui +package com.melih.launches.ui import android.os.Bundle import android.view.View @@ -7,10 +7,10 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.melih.core.actions.openDetail import com.melih.core.base.lifecycle.BaseDaggerFragment import com.melih.core.extensions.observe -import com.melih.list.R -import com.melih.list.databinding.ListBinding -import com.melih.list.ui.adapters.LaunchesAdapter -import com.melih.list.ui.vm.LaunchesViewModel +import com.melih.launches.R +import com.melih.launches.databinding.ListBinding +import com.melih.launches.ui.adapters.LaunchesAdapter +import com.melih.launches.ui.vm.LaunchesViewModel import com.melih.repository.entities.LaunchEntity import com.melih.repository.interactors.base.PersistenceEmpty import com.melih.repository.interactors.base.State @@ -49,6 +49,11 @@ class LaunchesFragment : BaseDaggerFragment(), SwipeRefreshLayout.O // Workaround for SwipeRefreshLayout leak -> https://issuetracker.google.com/issues/136153683 binding.swipeRefreshLayout.isEnabled = false } + + override fun onDestroyView() { + super.onDestroyView() + binding.rocketList.adapter = null + } //endregion //region Functions diff --git a/features/launches/src/main/kotlin/com/melih/list/ui/adapters/LaunchesAdapter.kt b/features/launches/src/main/kotlin/com/melih/launches/ui/adapters/LaunchesAdapter.kt similarity index 92% rename from features/launches/src/main/kotlin/com/melih/list/ui/adapters/LaunchesAdapter.kt rename to features/launches/src/main/kotlin/com/melih/launches/ui/adapters/LaunchesAdapter.kt index d759333..d9e88ec 100644 --- a/features/launches/src/main/kotlin/com/melih/list/ui/adapters/LaunchesAdapter.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/ui/adapters/LaunchesAdapter.kt @@ -1,11 +1,11 @@ -package com.melih.list.ui.adapters +package com.melih.launches.ui.adapters import android.view.LayoutInflater import android.view.ViewGroup import com.melih.core.base.recycler.BasePagingListAdapter import com.melih.core.base.recycler.BaseViewHolder import com.melih.core.extensions.createDiffCallback -import com.melih.list.databinding.LaunchRowBinding +import com.melih.launches.databinding.LaunchRowBinding import com.melih.repository.entities.LaunchEntity class LaunchesAdapter(itemClickListener: (LaunchEntity) -> Unit) : BasePagingListAdapter( diff --git a/features/launches/src/main/kotlin/com/melih/list/ui/paging/LaunchesPagingSource.kt b/features/launches/src/main/kotlin/com/melih/launches/ui/paging/LaunchesPagingSource.kt similarity index 95% rename from features/launches/src/main/kotlin/com/melih/list/ui/paging/LaunchesPagingSource.kt rename to features/launches/src/main/kotlin/com/melih/launches/ui/paging/LaunchesPagingSource.kt index a234c44..6dc3056 100644 --- a/features/launches/src/main/kotlin/com/melih/list/ui/paging/LaunchesPagingSource.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/ui/paging/LaunchesPagingSource.kt @@ -1,4 +1,4 @@ -package com.melih.list.ui.paging +package com.melih.launches.ui.paging import com.melih.core.base.paging.BasePagingDataSource import com.melih.repository.entities.LaunchEntity diff --git a/features/launches/src/main/kotlin/com/melih/list/ui/paging/LaunchesPagingSourceFactory.kt b/features/launches/src/main/kotlin/com/melih/launches/ui/paging/LaunchesPagingSourceFactory.kt similarity index 93% rename from features/launches/src/main/kotlin/com/melih/list/ui/paging/LaunchesPagingSourceFactory.kt rename to features/launches/src/main/kotlin/com/melih/launches/ui/paging/LaunchesPagingSourceFactory.kt index f9f7c46..98b3485 100644 --- a/features/launches/src/main/kotlin/com/melih/list/ui/paging/LaunchesPagingSourceFactory.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/ui/paging/LaunchesPagingSourceFactory.kt @@ -1,4 +1,4 @@ -package com.melih.list.ui.paging +package com.melih.launches.ui.paging import com.melih.core.base.paging.BasePagingDataSource import com.melih.core.base.paging.BasePagingFactory diff --git a/features/launches/src/main/kotlin/com/melih/list/ui/vm/LaunchesViewModel.kt b/features/launches/src/main/kotlin/com/melih/launches/ui/vm/LaunchesViewModel.kt similarity index 87% rename from features/launches/src/main/kotlin/com/melih/list/ui/vm/LaunchesViewModel.kt rename to features/launches/src/main/kotlin/com/melih/launches/ui/vm/LaunchesViewModel.kt index fc45b4c..39133a7 100644 --- a/features/launches/src/main/kotlin/com/melih/list/ui/vm/LaunchesViewModel.kt +++ b/features/launches/src/main/kotlin/com/melih/launches/ui/vm/LaunchesViewModel.kt @@ -1,9 +1,9 @@ -package com.melih.list.ui.vm +package com.melih.launches.ui.vm import androidx.paging.PagedList import com.melih.core.base.paging.BasePagingFactory import com.melih.core.base.viewmodel.BasePagingViewModel -import com.melih.list.ui.paging.LaunchesPagingSourceFactory +import com.melih.launches.ui.paging.LaunchesPagingSourceFactory import com.melih.repository.entities.LaunchEntity import javax.inject.Inject diff --git a/features/launches/src/main/res/layout/fragment_launches.xml b/features/launches/src/main/res/layout/fragment_launches.xml index dce7104..f9f368d 100644 --- a/features/launches/src/main/res/layout/fragment_launches.xml +++ b/features/launches/src/main/res/layout/fragment_launches.xml @@ -8,7 +8,7 @@ + type="com.melih.launches.ui.vm.LaunchesViewModel" /> + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/nav_launches" + app:startDestination="@id/launchesFragment" + tools:ignore="UnusedNavigation"> - - \ No newline at end of file + + diff --git a/features/launches/src/test/kotlin/com/melih/list/BaseTestWithMainThread.kt b/features/launches/src/test/kotlin/com/melih/launches/BaseTestWithMainThread.kt similarity index 89% rename from features/launches/src/test/kotlin/com/melih/list/BaseTestWithMainThread.kt rename to features/launches/src/test/kotlin/com/melih/launches/BaseTestWithMainThread.kt index 358b7d3..c04f0ac 100644 --- a/features/launches/src/test/kotlin/com/melih/list/BaseTestWithMainThread.kt +++ b/features/launches/src/test/kotlin/com/melih/launches/BaseTestWithMainThread.kt @@ -1,6 +1,6 @@ @file:UseExperimental(ExperimentalCoroutinesApi::class) -package com.melih.list +package com.melih.launches import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -10,6 +10,7 @@ import kotlinx.coroutines.test.setMain import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach +@UseExperimental(ExperimentalCoroutinesApi::class) abstract class BaseTestWithMainThread { protected val dispatcher = TestCoroutineDispatcher()