@Component @Singleton
abstract class ApplicationComponent(
@get:Provides val context: Context,
- ) : GreetingComponent {
- abstract val greetingHandlerCreator: (String) -> GreetingHandler
- }
+ ) : GreetingComponent
+ @Component
+ abstract class MainActivityComponent(@Component val parent: ApplicationComponent) {
+ abstract val greetingHandlerCreator: (String) -> GreetingHandler
+ }
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- val greetingHandler = applicationComponent.greetingHandlerCreator("this is an assisted arg")
+ val greetingHandler = MainActivityComponent::class.create(applicationComponent)
+ .greetingHandlerCreator("this is an assisted arg")