Size: a a a

Cicerone Chat (RUS)

2020 June 15

IG

Ilya Gulya in Cicerone Chat (RUS)
Там много всего надо в них класть местами
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
особенно там где есть транзиции
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
как раз для корректных транзиций
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Ilya Gulya
Не, создавать скрины на View слое точно не вариант.
так не на view слое же
просто добавить что-то такое:
interface ScreenFactory {
 fun getFeatureScreen(params: FeatureParam): Screen
}

а уж имплементация будет на Android завязана
но решит ли это реальную проблему - вопрос
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
Да, можно и так
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
но смысла особого не вижу
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
текущее решение удовлетворяет потребностям и не сильно сложное
источник
2020 June 18

ПК

Павел Калинин... in Cicerone Chat (RUS)
Konstantin Tskhovrebov
полноценное приложение на этом подходе: gitfox
Изучил его, если я правильно понял, то для каждого flow фрагмента нужен свой router
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Павел Калинин
Изучил его, если я правильно понял, то для каждого flow фрагмента нужен свой router
свой Cicerone, если быть точнее)
источник

ПК

Павел Калинин... in Cicerone Chat (RUS)
Aleksey D.
свой Cicerone, если быть точнее)
А я пытался на одном все сделать...
источник
2020 June 21

DS

Dzmitry Sobolevsky in Cicerone Chat (RUS)
Всем пример. Ребята, вы тут с фрагментами лучше всего дружите, подскажите пожалуйста. У меня табы без вложенной навигации. (т.е. и табы и роутер добавляют фрагменты в один контейнер). Переключение по табам вызывает newRootScreen (сбрасывает весь стек и создает фрагмент кокретного таба). Навигация - обычный navigateTo, backTo, back

Задача такая - когда на экране фрагмент не относящийся к табам - убрать подсведку табов.

Чтобы определить событие изменения фрагмента в корневом фрагменте (где лежит навигатор) пробовал использовать childFragmentManager.addOnBackStackChangedListener
- не вызывается после изменений адекватно
Также пробовал переопределить метод навигатора
override fun applyCommands(commands: Array<out Command>) {
               super.applyCommands(commands)
val curFragment = childFragmentManager.findFragmentById(getContainerId())
       when (curFragment) {
           is StoriesFragment -> bottomNavigationView?.checkItem(R.id.action_stories)
           is RatingFragment -> bottomNavigationView?.checkItem(R.id.action_rating)
           is SpecialistsFragment -> bottomNavigationView?.checkItem(R.id.action_specialists)
           is EventsFragment -> bottomNavigationView?.checkItem(R.id.action_events)
           is MessagesFragment -> bottomNavigationView?.checkItem(R.id.action_messages)
           else -> bottomNavigationView?.uncheckAllItems()
       }
           }

Получается заторможение -  currentFragment как будто до applyCommands, хотя значение устанавливается после super.applyCommands (то есть я кликаю на один таб, или перехожу на экран, а подсведка включается как для предыдущего состояния). Магия какая-то. Как решить такой кейс?
источник

DS

Dzmitry Sobolevsky in Cicerone Chat (RUS)
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Фрагмент менеджер асинхронный. Лучше подпишитесь на его изменения и проверяйте в коллбеке текущий фрагмент в контейнере
источник

DS

Dzmitry Sobolevsky in Cicerone Chat (RUS)
Konstantin Tskhovrebov
Фрагмент менеджер асинхронный. Лучше подпишитесь на его изменения и проверяйте в коллбеке текущий фрагмент в контейнере
ты про этот метод? childFragmentManager.addOnBackStackChangedListener
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
если у вас child, то да
источник

AP

Alexey Pushkarev in Cicerone Chat (RUS)
похоже на то что main thread чем-то блочится. По-хорошему надо профилировать, ну или как-то найти тяжелые операции, которые делаешь на переключение таба. Может во фрагменте в oncreateview что-то тяжелое делаешь или еще где
источник

DS

Dzmitry Sobolevsky in Cicerone Chat (RUS)
Konstantin Tskhovrebov
если у вас child, то да
Понял, спасибо.
источник

DS

Dzmitry Sobolevsky in Cicerone Chat (RUS)
Alexey Pushkarev
похоже на то что main thread чем-то блочится. По-хорошему надо профилировать, ну или как-то найти тяжелые операции, которые делаешь на переключение таба. Может во фрагменте в oncreateview что-то тяжелое делаешь или еще где
На переключение создается инстанс фрагмента, работает di в onCreate и больше ничего. Экраны без логики пока.
Про профилирование спасибо, может и нужно посмотреть что да как.
источник
2020 June 29

AA

Alidibir Akhbulatov in Cicerone Chat (RUS)
Всем привет. Можут кто-нибудь скинуть пример использования Cicerone с многомодульностью?
источник
2020 June 30

VY

Victor Yakovlev in Cicerone Chat (RUS)
Alidibir Akhbulatov
Всем привет. Можут кто-нибудь скинуть пример использования Cicerone с многомодульностью?
А в чем проблема?
источник