Skip to content

Commit

Permalink
convert root component to use factory instead of builder
Browse files Browse the repository at this point in the history
  • Loading branch information
AradiPatrik committed Sep 20, 2023
1 parent 6239a0c commit 1512c71
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 12 deletions.
3 changes: 2 additions & 1 deletion src/templates/etc/settings.gradle.kts.handlebars
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@

include(":feature:{{ kebab module }}:api")
include(":feature:{{ kebab module }}:impl")
include(":feature:{{ kebab module }}:impl")
3 changes: 0 additions & 3 deletions src/templates/impl/di/FeatureRootComponent.handlebars
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package {{ base_package }}.{{ flat module }}.impl.di

import androidx.navigation.NavController
import {{ base_package }}.data.api.DataProvider
import {{ base_package }}.{{ flat module }}.api.{{ pascal module }}Provider
import {{ base_package }}.{{ flat module }}.impl.{{ flat first_page }}.di.{{ pascal first_page }}Subcomponent
import {{ base_package }}.navigation.FeatureScoped
Expand All @@ -16,7 +15,6 @@ import dagger.Component
@FeatureScoped
@Component(
dependencies = [
DataProvider::class,
PlatformProvider::class,
],
modules = [
Expand All @@ -30,7 +28,6 @@ interface {{ pascal module }}RootComponent : {{ pascal module }}Provider {
@Component.Factory
interface Factory {
fun create(
dataProvider: DataProvider,
platformProvider: PlatformProvider,
@BindsInstance navController: NavController,
): {{ pascal module }}RootComponent
Expand Down
13 changes: 5 additions & 8 deletions src/templates/impl/entry/FeatureEntryImpl.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import androidx.navigation.NavBackStackEntry
import androidx.navigation.NavController
import androidx.navigation.NavHostController
import androidx.navigation.navigation
import {{ base_package }}.data.api.DataProvider
import {{ base_package }}.{{ flat module }}.api.{{ pascal module }}FeatureEntry
import {{ base_package }}.{{ flat module }}.impl.di.Dagger{{ pascal module }}RootComponent
import {{ base_package }}.{{ flat module }}.impl.di.{{ pascal module }}RootComponent
Expand Down Expand Up @@ -47,15 +46,13 @@ class {{ pascal module }}FeatureEntryImpl @Inject constructor() : BaseFeatureEnt
navController: NavController,
arguments: Bundle?
): {{ pascal module }}RootComponent {
val currentDataProvider = CompositionLocals.current<DataProvider>()
val currentPlatformProvider = CompositionLocals.current<PlatformProvider>()
val navigationProvider = CompositionLocals.current<NavigationProvider>()
return rememberScoped(rootEntry) {
Dagger{{ pascal module }}RootComponent.builder()
.dataProvider(currentDataProvider)
.platformProvider(currentPlatformProvider)
.navigationProvider(navigationProvider)
.build()
Dagger{{ pascal module }}RootComponent.factory()
.create(
platformProvider = currentPlatformProvider,
navController = navController,
)
}
}
}

0 comments on commit 1512c71

Please sign in to comment.