```@FragmentWithArgs class DocumentFragment : MviL...
# kodein
b
Copy code
@FragmentWithArgs class DocumentFragment : MviLceFragment<DocumentViewState, DocumentView, DocumentPresenter>(), DocumentView, SupportFragmentInjector {

  @Arg lateinit var url: String

  private val presenter: DocumentPresenter by instance<DocumentPresenter>()

  override fun provideOverridingModule() = Module {
    bind() from scopedSingleton(androidSupportFragmentScope) { DocumentInteractor(instance(), it.context) }
    bind() from scopedSingleton(androidSupportFragmentScope) { DocumentPresenter(instance()) }
    bind() from scopedSingleton(androidSupportFragmentScope) { DocumentDelegatesManager(instance(), null) }
    bind() from scopedSingleton(androidSupportFragmentScope) { ListDelegationAdapter<List<IUiScreenItem>>(instance()) }
  }

  override fun createPresenter() = presenter

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    initializeInjector()

    FragmentArgs.inject(this)
  }

  override fun onDestroy() {
    super.onDestroy()
    destroyInjector()
  }

  override fun loadDataIntent() = Observable.just(url)

}