Size: a a a

Cicerone Chat (RUS)

2021 October 13

РХ

Руслан Хафизов... in Cicerone Chat (RUS)
да просто метод так назвал, она знает только о Screen
источник

РХ

Руслан Хафизов... in Cicerone Chat (RUS)
if (supportFragmentManager.backStackEntryCount > 0) {
       viewModel.replace(...)
} else {
       viewModel.navigateTo(...)
}
источник

A

Artyom in Cicerone Chat (RUS)
Для чего разделять replace и navigate?
источник

РХ

Руслан Хафизов... in Cicerone Chat (RUS)
if (supportFragmentManager.backStackEntryCount > 0)  - меня эта строка интересует. Нормально ли ее использовать
источник

AA

Alidibir Akhbulatov in Cicerone Chat (RUS)
все равно не очень
источник

РХ

Руслан Хафизов... in Cicerone Chat (RUS)
одна добавляет в стек, другая нет
источник

РХ

Руслан Хафизов... in Cicerone Chat (RUS)
вообще в Cicerone 7.1 это 2 разные функции из коробки - replaceScreen и navigateTo
источник

A

Artyom in Cicerone Chat (RUS)
   protected open fun replace(command: Replace) {
       when (val screen = command.screen) {
           is ActivityScreen -> {
               checkAndStartActivity(screen)
               activity.finish()
           }
           is FragmentScreen -> {
               if (localStackCopy.isNotEmpty()) {
                   fragmentManager.popBackStack()
                   localStackCopy.removeAt(localStackCopy.lastIndex)
                   commitNewFragmentScreen(screen, true)
               } else {
                   commitNewFragmentScreen(screen, false)
               }
           }
       }
источник

A

Artyom in Cicerone Chat (RUS)
то есть не факт, что добавит, как видишь
источник

A

Artyom in Cicerone Chat (RUS)
protected open fun commitNewFragmentScreen(
       screen: FragmentScreen,
       addToBackStack: Boolean
   )
источник
2021 October 24

C

CaKyPa in Cicerone Chat (RUS)
Здравствуйте, у меня возник один вопрос по поводу cicerone и dagger. На сколько целесообразно инжектить роутер сразу в презентер.

В примере на github роутер инжектится в активити и передаётся в презентер через конструктор.

Почему нельзя было инжектить его сразу в презентер?

Router и NavigationHolder помечены как Singleton и мы все равно ведь будем получать один экземпляр, никакой утечки вроде как быть не должно.

Я только разбираюсь с dependency injection, интересно послушать ваше мнение
источник

L

Leff in Cicerone Chat (RUS)
вообще по сути одно из достоинств чичерона, что можно навигация реализовывать на презентере.
источник

C

CaKyPa in Cicerone Chat (RUS)
Так вот и я о том же, мне кажется, было бы выгоднее инжектить сразу в презентер, но я не знаю на сколько это правильно, и не будит ли подводных камней
источник

VP

Vitaly Peryatin in Cicerone Chat (RUS)
Так можно, это предусмотрено. Так даже лучше
источник

VP

Vitaly Peryatin in Cicerone Chat (RUS)
У меня не было с этим никаких проблем
источник

C

CaKyPa in Cicerone Chat (RUS)
Спасибо большое за ответы
источник

C

CaKyPa in Cicerone Chat (RUS)
А то каждый раз провайдить презентер, когда можно сделать проще...
источник
2021 October 28

C

CaKyPa in Cicerone Chat (RUS)
Здравствуйте, а где хранится стэк экранов в cicerone?
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
Нигде.
Он хранится в Fragment Manager.
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
Есть локальная копия стека при применении команд разве что
источник