Size: a a a

Cicerone Chat (RUS)

2020 November 05

ES

Egor Sigolaev in Cicerone Chat (RUS)
Eugene
и передавал колбэк в навигатор, в котором передавался таб
А в этом случае мне стоило создать кастомный навигатор, наследоваться от AppNavigator? И там сделать листенер с методом переключения табов по коммандам?
источник

E

Eugene in Cicerone Chat (RUS)
Egor Sigolaev
А в этом случае мне стоило создать кастомный навигатор, наследоваться от AppNavigator? И там сделать листенер с методом переключения табов по коммандам?
угу
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Eugene
угу
Всё, тоже понял. А если мы вызываем условно navigateTo(), я могу сразу после этого метода кидать колбек?
источник

E

Eugene in Cicerone Chat (RUS)
Egor Sigolaev
Всё, тоже понял. А если мы вызываем условно navigateTo(), я могу сразу после этого метода кидать колбек?
куда кидать? и куда navigateTo?
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Другими словами, методы navigateTo, replace синхронные? Я если кину колбек после них, могу быть уверенным, что экран реплейснулся?
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Eugene
куда кидать? и куда navigateTo?
Кидать вплане вызвать callback.invoke()
источник

ЕК

Евгений Кузовкин... in Cicerone Chat (RUS)
Расскажу ещё кейс, который может кому-то помочь. Задача - в сложной иерархии экранов из внутренних экранов одного таба управлять стеком другого таба. Либо из диалогов. Если без шин, то на каждый таб можно создать отдельный роутер и забиндить его с помощью Qualifier. Не знаю, как с даггером это будет дружить, с Toothpick всё ок.

И где-нибудь в презентере:
@FirstTab val firstTabFlowRouter: FlowRouter
...
...
firstTabFlowRouter.navigateTo(...)
viewState.close()
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
А вслучае mvi навигация будет во фрагменте же?
источник

E

Eugene in Cicerone Chat (RUS)
Egor Sigolaev
Кидать вплане вызвать callback.invoke()
navigateTo в роутере, а мы про навигатор)
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Eugene
navigateTo в роутере, а мы про навигатор)
Я это к сообщению выше
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Egor Sigolaev
Другими словами, методы navigateTo, replace синхронные? Я если кину колбек после них, могу быть уверенным, что экран реплейснулся?
А это я верно понимаю?
источник

E

Eugene in Cicerone Chat (RUS)
Egor Sigolaev
А это я верно понимаю?
у знаю как в 6 версии, но в 5 там commit у транзакции использовался
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Eugene
у знаю как в 6 версии, но в 5 там commit у транзакции использовался
А коммит асинхронный же
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Он вообще на ui потоке вызывается?
источник

E

Eugene in Cicerone Chat (RUS)
Egor Sigolaev
А коммит асинхронный же
да, но табики ты переключаешь то как, не через commit
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Eugene
да, но табики ты переключаешь то как, не через commit
Видимо мой вопрос не совсем понятен. Такой псевдокод:

navigatoTo(Screens.Main())
callback.invoke()

Что вызовется первым?
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Если учитывать, что navigateTo вызывается через комит, а не commitNow.
источник

E

Eugene in Cicerone Chat (RUS)
Egor Sigolaev
Видимо мой вопрос не совсем понятен. Такой псевдокод:

navigatoTo(Screens.Main())
callback.invoke()

Что вызовется первым?
ну да, тут не всегда они будут вызываться друг за другом.... но navigatoTo ты будешь делать на роутере таба, а колбэк на роутере табов)
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Eugene
ну да, тут не всегда они будут вызываться друг за другом.... но navigatoTo ты будешь делать на роутере таба, а колбэк на роутере табов)
А вот сейчас совсем не понял. Мы же начинали с того, что кастомный навигатор должен быть, а не роутер
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
И у него листенер
источник