Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tfcporciuncula/320909c4ba3c6162350a24998d41a512 to your computer and use it in GitHub Desktop.
Save tfcporciuncula/320909c4ba3c6162350a24998d41a512 to your computer and use it in GitHub Desktop.
@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")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment