Skip to content

Instantly share code, notes, and snippets.

@diousk
Created February 1, 2020 09:18
Show Gist options
  • Save diousk/e330c6c43f1d9b77ed956682eb0a91f9 to your computer and use it in GitHub Desktop.
Save diousk/e330c6c43f1d9b77ed956682eb0a91f9 to your computer and use it in GitHub Desktop.
class DaggerFragmentFactory @Inject constructor(
private val providers: @JvmSuppressWildcards Map<Class<out Fragment>, Provider<Fragment>>
) : FragmentFactory() {
override fun instantiate(classLoader: ClassLoader, className: String): Fragment {
val fragmentClass = loadFragmentClass(classLoader, className)
val provider = providers[fragmentClass]
return provider?.get() ?: super.instantiate(classLoader, className)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment