Last active
February 27, 2019 13:27
-
-
Save ntngel1/614bc26f09d9e85d7501f2e4542d7d11 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Задача состоит в том, чтобы получать через даггер одну и тот же фрагмент, но с презентером, | |
// у которого разные аргументы в конструкторе | |
@Module | |
class PhotosViewModule { | |
@Provides | |
@Named("PopularPhotos") | |
fun providePopularPhotosView(): PhotosView.View { | |
val fragment: Photos.View = PhotosFragment() | |
// Здесь бы должны как-то заинжектить вручную Presenter с определенными аргументами в конструкторе | |
fragment.inject(PhotosPresenter(popular = true, new = false)) | |
return fragment | |
} | |
@Provides | |
@Named("NewPhotos") | |
fun provideNewPhotosView(): PhotosView.View { | |
val fragment: Photos.View = PhotosFragment() | |
// Здесь бы должны как-то заинжектить вручную Presenter с определенными аргументами в конструкторе | |
fragment.inject(PhotosPresenter(popular = false, new = true)) | |
return fragment | |
} | |
} | |
class PhotosFragment : PhotosView.View { | |
@Inject lateinit var presenter: PhotosView.Presenter // Именно сюда нужно заинжектить презентер с определенными | |
// аргументами в констркуторе | |
.... | |
.... | |
} | |
// Это презентер который принимает определенные параметры в конструкторе | |
class PhotosPresenter(private val new: Boolean, private val popular: Boolean) : PhotosView.Presenter { | |
........... | |
..... | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment