KT
Size: a a a
KT
KT
VB
VB
VP
navigateTo(screen: Screen, clearContainer: Boolean = true)
с передачей в clearContainer значения false по умолчаниюKT
VP
navigateTo
и скрыть дефолтную реализацию типа навигации под роутерПК
KT
VP
newRootScreen
. Первая команда выполняется в onCreate
у Activity, вторая команда выполняется в onResume
у фрагмента внутри этого Activity. Внутри Activity есть контейнер, в котором располагаются фрагменты. У всех фрагментов и у этого Activity общий router. При выполнении 2-х команд newRootScreen
выскакивает FragmentManager is already executing transactions
. Как можно исправить эту ситуацию, кроме использования post при вызове newRootScreen
?VP
FragmentManager is already executing transactions
больше возникать не будет. При выполнении многих ранзакций почти одновременно эта ошибка все равно будет возникать без добавления сообщений в очередь сообщенийKT
KT
VP
VP
applyCommands
у AppNavigator
в post {}
, то расширить applyCommands
будет сложнее. Сначала будет выполняться код после post {}
, а потом код внутри post {}
. Тут вижу 3 варианта развития: beforeApplyCommands
и afterApplyCommands
. Выглядит красиво, но тогда ломается обратная совместимость, так как старый код, расширяющий applyCommands
будет работать некорректно.AppNavigator
метод applyCommandsAsync
, который будет добавлен в отдельный интерфейс AsyncNavigator
. Внутри applyCommandsAsync
через post {}
будет вызываться applyCommands
. Тут добавляется много кода, чтобы решить такой простой кейс. executeCommands()
в post{}
:) Как думаешь, можно ли реализовать отправку через post{} внутри BaseRouter или RouterVP
VP
ES
VP