Size: a a a

Cicerone Chat (RUS)

2019 February 28

AT

Andrey Timofeev in Cicerone Chat (RUS)
Konstantin Tskhovrebov
Для этого есть подход координаторов, но мне сейчас не описать его
А есть где посмотреть?
источник

М

Михаил in Cicerone Chat (RUS)
Andrey Timofeev
А есть где посмотреть?
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
Это не о том. Это скорее про роутер чичероне
источник

AT

Andrey Timofeev in Cicerone Chat (RUS)
Konstantin Tskhovrebov
Это не о том. Это скорее про роутер чичероне
Так что почитать по этому поводу?
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
не знаю. подход выработан нами.
координатор - тот, кто решает, что именно вызвать на роутере. инжектиться в зависимости от входных параметров
источник
2019 March 01

AT

Andrey Timofeev in Cicerone Chat (RUS)
Konstantin Tskhovrebov
не знаю. подход выработан нами.
координатор - тот, кто решает, что именно вызвать на роутере. инжектиться в зависимости от входных параметров
То есть это что то типо стратегии?
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
Да
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
На координате есть метод типа: onNextClicked(), а там в зависимости от входных параметров может быть router.navigateTo, а может быть exit
источник

KL

Kirill L in Cicerone Chat (RUS)
в кукбуке архитектурного чатика есть пример с визардом регистрации, это не то про что вы говорите?
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
Я его не писал и не читал.
источник

AT

Andrey Timofeev in Cicerone Chat (RUS)
@terrakok допустим это работает если у тебя один раз этот экран появляется в flow. А что если у тебя их может несколько? Как ты там заинжектишь два разных контроллера?
источник

AT

Andrey Timofeev in Cicerone Chat (RUS)
Кейс к примеру phoneInput -> sms -> email -> sms -> success
источник

KL

Kirill L in Cicerone Chat (RUS)
Andrey Timofeev
Кейс к примеру phoneInput -> sms -> email -> sms -> success
Создай класс, заинжекть в него роутер, и пусть он в зависимости от события дергает нужный метод роутера
источник

KL

Kirill L in Cicerone Chat (RUS)
И он соответственно стнглтон в данном контексте
источник

AT

Andrey Timofeev in Cicerone Chat (RUS)
Kirill L
Создай класс, заинжекть в него роутер, и пусть он в зависимости от события дергает нужный метод роутера
Не совсем пойму как мне это поможет
источник

ЕК

Евгений Кузовкин in Cicerone Chat (RUS)
Andrey Timofeev
Кейс к примеру phoneInput -> sms -> email -> sms -> success
Есть скоуп для AuthFlow. Создаёте класс AuthFlowCoordinator, в него инжектите роутер, сам координатор - во все презентеры, связанные с этим flow. Далее, к пример, с экрана ввода телефона презентер вызывает метод coordinator.onPhoneConfirmed(). Затем следующий презентер вызывает coordinator.onSmsCodeConfirmed(). Координатор внутри осуществляет соответствующие вызовы на роутере.
источник

AT

Andrey Timofeev in Cicerone Chat (RUS)
Да это понятно. Но тут о том что coordinator.onPhoneConfirmed() будет вызван два раза, а результат должен быть разным
источник

KL

Kirill L in Cicerone Chat (RUS)
Andrey Timofeev
Да это понятно. Но тут о том что coordinator.onPhoneConfirmed() будет вызван два раза, а результат должен быть разным
Координатор понимает какое состояние сейчас и соответственно реагирует на событие
источник

AT

Andrey Timofeev in Cicerone Chat (RUS)
Kirill L
Координатор понимает какое состояние сейчас и соответственно реагирует на событие
То есть стейт какой то?
источник

ЕК

Евгений Кузовкин in Cicerone Chat (RUS)
Andrey Timofeev
Да это понятно. Но тут о том что coordinator.onPhoneConfirmed() будет вызван два раза, а результат должен быть разным
наверное onSmsCodeConfirmed()?
источник