Size: a a a

Cicerone Chat (RUS)

2020 July 16

AC

Arsen CeH9 in Cicerone Chat (RUS)
————————————————————————
Немного фидбека по бекстеку:
- В семпле, при старте приложения инициализация делается через replace без добавления в бекСтек.
- В таком подходе стейт транзакций менеджера, а вместе с ним и localStackCopy не отображают реальную картину.
- Например иерархия A -> B > C, будет в стеке как B, C

Предложение:
- Первый экран добавлять в стек, например через Forward, а не реплейс, тогда история будет  A -> B -> C. Чтобы это заработало, нужно только подправить команду back в навигаторе, чтобы она корректно финишила активити.

P.S. фидбек про дефолтные имплементации из коробки, не  нужно писать, что можно все это сделать самому с кастомным навигатором, речь не об этом.

P.S. 2:  в Replace стоит проверка на empty бекстека, если она там только для поддержки команды back, то можно и без инициализации через forward обойтись

По поводу обратной совместимости: имхо, переход на котлин уже требует осознанных миграций, так что я бы с этим не запаривался.
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
вы запустались: бекстек - это не список экранов, а список переходов между ними (транзакций)
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
та это понятно, но дефолтный навигатор ведь оперирует "атомарными" транзакциями. Те же  чейны это списки команд.  Даже setReorderingAllowed на это никак не влияет, единственный кейс, когда можно сломать атомарность - колбасить транзакции с несколькими операциями, напрямую с менеджером или переопределив навигатор.
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
но, те кто таким занимается ,скорее всего понимают, как это все работает
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
нельзя просто брать и подменять понятия фреймворка на свои
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
речь про форму подачи фидбека или про либу? я же не предлагаю заявлять, что либа будет предоставлять список экранов. Суть фикса в инициализации первого экрана с добавлением в стек
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
интерпретация содержимого стека оставляется на юзере ,как и до этого
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
единственный вопрос в этом куске кода. Если ветвление логики обосновано только функционалом команды back, то фикс полностью обратно совместим
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
вы сломаете системное поведение тем, что нельзя будет без библиотеки вызывать "назад".
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
с одной стороны да, но с другой делегирование бека либе нужно и сейчас, иначе весь стек закроется одним нажатием
источник

L

Little Panda 🐼 in Cicerone Chat (RUS)
Arsen CeH9
возможно я что-то напутал, но у меня дефолтный screenKey всегда отдает
@terrakok а что насчет этого? Нужно фиксить или так и задумывалось?
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Little Panda 🐼
@terrakok а что насчет этого? Нужно фиксить или так и задумывалось?
Это локально уже исправлено) ещё не пушил
источник

L

Little Panda 🐼 in Cicerone Chat (RUS)
Konstantin Tskhovrebov
Это локально уже исправлено) ещё не пушил
Круто!
источник
2020 July 20

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Попробуйте убрать временно все настройки из вашей темы в стилях. И проверьте ещё раз
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
значит где-то у вас косяк и нужен код
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
что значит "накладываются"?
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
это очень похоже не проблемы, вызванные кривыми стилями и темами
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
посмотри в 3д инспекторе
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
а еще фреймлейаут уже не юзают, есть FragmentContainerView
источник