diff --git a/app/src/main/java/io/plaidapp/dagger/HomeComponent.kt b/app/src/main/java/io/plaidapp/dagger/HomeComponent.kt index ad1b3cefb..b61e6318b 100644 --- a/app/src/main/java/io/plaidapp/dagger/HomeComponent.kt +++ b/app/src/main/java/io/plaidapp/dagger/HomeComponent.kt @@ -19,17 +19,15 @@ package io.plaidapp.dagger import android.content.Context import dagger.BindsInstance import dagger.Component -import io.plaidapp.core.dagger.CoroutinesContextProviderModule import io.plaidapp.core.dagger.DataManagerModule -import io.plaidapp.core.dagger.dribbble.DribbbleDataModule -import io.plaidapp.core.dagger.dribbble.DribbbleRetrofitModule import io.plaidapp.core.dagger.FilterAdapterModule import io.plaidapp.core.dagger.OnDataLoadedModule -import io.plaidapp.core.dagger.dribbble.DribbleSearchServiceProvider -import io.plaidapp.core.dagger.ShotsRepositoryModule import io.plaidapp.ui.HomeActivity -@Component(modules = [HomeModule::class, ShotsRepositoryModule::class]) +/** + * Dagger component for the [HomeActivity]. + */ +@Component(modules = [HomeModule::class]) interface HomeComponent { fun inject(activity: HomeActivity) @@ -41,14 +39,9 @@ interface HomeComponent { @BindsInstance fun context(context: Context): Builder - fun coroutinesContextProviderModule(module: CoroutinesContextProviderModule): Builder fun dataLoadedModule(module: OnDataLoadedModule): Builder fun dataManagerModule(module: DataManagerModule): Builder - fun dribbbleDataModule(module: DribbbleDataModule): Builder - fun retrofitModule(module: DribbbleRetrofitModule): Builder fun homeModule(module: HomeModule): Builder fun filterAdapterModule(module: FilterAdapterModule): Builder - fun searchRemoteDataSourceModule(module: DribbleSearchServiceProvider): Builder - fun shotsRepositoryModule(module: ShotsRepositoryModule): Builder } } diff --git a/app/src/main/java/io/plaidapp/dagger/HomeModule.kt b/app/src/main/java/io/plaidapp/dagger/HomeModule.kt index ca82ea99c..5c84bda21 100644 --- a/app/src/main/java/io/plaidapp/dagger/HomeModule.kt +++ b/app/src/main/java/io/plaidapp/dagger/HomeModule.kt @@ -22,25 +22,12 @@ import com.bumptech.glide.util.ViewPreloadSizeProvider import dagger.Module import dagger.Provides import io.plaidapp.R -import io.plaidapp.core.dagger.CoroutinesContextProviderModule import io.plaidapp.core.dagger.DataManagerModule -import io.plaidapp.core.dagger.dribbble.DribbbleDataModule -import io.plaidapp.core.dagger.FilterAdapterModule import io.plaidapp.core.dagger.OnDataLoadedModule -import io.plaidapp.core.dagger.ShotsRepositoryModule import io.plaidapp.core.data.pocket.PocketUtils import io.plaidapp.core.dribbble.data.api.model.Shot -@Module( - includes = [ - CoroutinesContextProviderModule::class, - DataManagerModule::class, - DribbbleDataModule::class, - FilterAdapterModule::class, - ShotsRepositoryModule::class, - OnDataLoadedModule::class - ] -) +@Module(includes = [DataManagerModule::class, OnDataLoadedModule::class]) class HomeModule(private val activity: Activity) { @Provides fun context(): Context = activity diff --git a/app/src/main/java/io/plaidapp/dagger/Injector.kt b/app/src/main/java/io/plaidapp/dagger/Injector.kt index bfb865bfa..2692d65c6 100644 --- a/app/src/main/java/io/plaidapp/dagger/Injector.kt +++ b/app/src/main/java/io/plaidapp/dagger/Injector.kt @@ -16,14 +16,9 @@ package io.plaidapp.dagger -import io.plaidapp.core.dagger.CoroutinesContextProviderModule import io.plaidapp.core.dagger.DataManagerModule -import io.plaidapp.core.dagger.dribbble.DribbbleDataModule -import io.plaidapp.core.dagger.dribbble.DribbbleRetrofitModule import io.plaidapp.core.dagger.FilterAdapterModule import io.plaidapp.core.dagger.OnDataLoadedModule -import io.plaidapp.core.dagger.dribbble.DribbleSearchServiceProvider -import io.plaidapp.core.dagger.ShotsRepositoryModule import io.plaidapp.core.data.BaseDataManager import io.plaidapp.core.data.PlaidItem import io.plaidapp.ui.HomeActivity @@ -42,15 +37,10 @@ object Injector { ) { DaggerHomeComponent.builder() .context(activity) - .coroutinesContextProviderModule(CoroutinesContextProviderModule()) .dataLoadedModule(OnDataLoadedModule(dataLoadedCallback)) .dataManagerModule(DataManagerModule(activity)) - .dribbbleDataModule(DribbbleDataModule()) .homeModule(HomeModule(activity)) .filterAdapterModule(FilterAdapterModule(activity)) - .retrofitModule(DribbbleRetrofitModule()) - .searchRemoteDataSourceModule(DribbleSearchServiceProvider()) - .shotsRepositoryModule(ShotsRepositoryModule()) .build() .inject(activity) } diff --git a/core/src/main/java/io/plaidapp/core/dagger/DataManagerComponent.kt b/core/src/main/java/io/plaidapp/core/dagger/DataManagerComponent.kt deleted file mode 100644 index 81fdb45c0..000000000 --- a/core/src/main/java/io/plaidapp/core/dagger/DataManagerComponent.kt +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2018 Google, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.plaidapp.core.dagger - -import dagger.Component - -@Component(modules = [DataManagerModule::class]) -interface DataManagerComponent diff --git a/core/src/main/java/io/plaidapp/core/dagger/OnDataLoadedModule.kt b/core/src/main/java/io/plaidapp/core/dagger/OnDataLoadedModule.kt index 2ef9b335f..4dfd80471 100644 --- a/core/src/main/java/io/plaidapp/core/dagger/OnDataLoadedModule.kt +++ b/core/src/main/java/io/plaidapp/core/dagger/OnDataLoadedModule.kt @@ -21,6 +21,9 @@ import dagger.Provides import io.plaidapp.core.data.BaseDataManager import io.plaidapp.core.data.PlaidItem +/** + * Module to provide [BaseDataManager.OnDataLoadedCallback]. + */ @Module class OnDataLoadedModule(private val callback: BaseDataManager.OnDataLoadedCallback>) { @Provides fun provideOnDataLoadedCallback() = callback diff --git a/core/src/main/java/io/plaidapp/core/dagger/ShotsRepositoryModule.kt b/core/src/main/java/io/plaidapp/core/dagger/ShotsRepositoryModule.kt index 619aeebb4..0fa6c2389 100644 --- a/core/src/main/java/io/plaidapp/core/dagger/ShotsRepositoryModule.kt +++ b/core/src/main/java/io/plaidapp/core/dagger/ShotsRepositoryModule.kt @@ -18,7 +18,7 @@ package io.plaidapp.core.dagger import dagger.Module import dagger.Provides -import io.plaidapp.core.dagger.dribbble.DribbleSearchServiceProvider +import io.plaidapp.core.dagger.dribbble.DribbbleSearchServiceModule import io.plaidapp.core.data.CoroutinesContextProvider import io.plaidapp.core.dribbble.data.ShotsRepository import io.plaidapp.core.dribbble.data.search.SearchRemoteDataSource @@ -28,7 +28,7 @@ import io.plaidapp.core.dribbble.data.search.SearchRemoteDataSource * * TODO: make this an app wide singleton. */ -@Module(includes = [CoroutinesContextProviderModule::class, DribbleSearchServiceProvider::class]) +@Module(includes = [CoroutinesContextProviderModule::class, DribbbleSearchServiceModule::class]) class ShotsRepositoryModule { @Provides fun provideShotsRepository( diff --git a/core/src/main/java/io/plaidapp/core/dagger/dribbble/DribbleSearchServiceProvider.kt b/core/src/main/java/io/plaidapp/core/dagger/dribbble/DribbbleSearchServiceModule.kt similarity index 91% rename from core/src/main/java/io/plaidapp/core/dagger/dribbble/DribbleSearchServiceProvider.kt rename to core/src/main/java/io/plaidapp/core/dagger/dribbble/DribbbleSearchServiceModule.kt index 8d8887686..52f6ac4e0 100644 --- a/core/src/main/java/io/plaidapp/core/dagger/dribbble/DribbleSearchServiceProvider.kt +++ b/core/src/main/java/io/plaidapp/core/dagger/dribbble/DribbbleSearchServiceModule.kt @@ -21,8 +21,11 @@ import dagger.Provides import io.plaidapp.core.dribbble.data.search.DribbbleSearchService import io.plaidapp.core.dribbble.data.search.SearchRemoteDataSource +/** + * Module to provide [DribbbleSearchService]. + */ @Module(includes = [DribbbleDataModule::class]) -class DribbleSearchServiceProvider { +class DribbbleSearchServiceModule { @Provides fun provideDribbbleSearchService(dribbbleSearchService: DribbbleSearchService) = SearchRemoteDataSource.getInstance(dribbbleSearchService)