Skip to content

Latest commit

 

History

History
executable file
·
81 lines (53 loc) · 3.99 KB

File metadata and controls

executable file
·
81 lines (53 loc) · 3.99 KB

Главная страница репозитория

MVP dialog

Расширение модуля core-mvp для работы с диалогами.

В наших приложениях мы не используем напрямую диалоги из Android Framework.

Предоставляет 2 парадигмы работы с диалогами:

  1. Диалог как часть родительского вью, события диалога в этом случае получает презентер родительского вью (см CoreSimpleDialogFragment)
  2. Диалог с собственным презентером, родительский презентер в этом случае может получить событие с диалога через RxBus (см CoreDialogFragmentView)

Использование

Пример использования

Подключение

Gradle:

    implementation "ru.surfstudio.android:mvp-dialog:X.X.X"

Описание классов

Для диалогов предусмотрен базовые классы

CoreSimpleDialogFragment

Базовый класс простого диалога который может возвращать результат У этого диалога презентер не предусмотрен. Простой диалог рассматривается как часть родителького View и оповещает презентер о событиях пользователя прямым вызовом метода презентера. Для получения презентера в диалоге предусмотрен метод #getScreenComponent(Class), который возвращает компонент родительского экрана.

Этот диалог следует расширять если не требуется реализация сложной логики в диалоге и обращение к слою Interactor.

CoreSimpleBottomSheetDialogFragment

Простой BottomSheetDialog без презентера, аналогичен CoreSimpleDialogFragment.

CoreDialogFragmentView

Диалог с собственным презентером. Следует использовать если в диалоге есть сложная логика или обращение к слою данных. Для оповещения о результате выполнения диалога следует использовать шину (RxBus)

CoreBottomSheetDialogFragmentView

BottomSheetDialog с собственным презентером.

Навигация

Общая информация по навигации - здесь.

Открытие диалогов осуществляется из презентера через DialogNavigator.

Предусмотрены базовые маршруты: