Как убрать предыдущий фрагмент из BackStack при возврате
Есть навигация из 4 фрагментов (A, B, C1, C2), у навигации может быть два варианта:
A -> B -> C(1)
A -> B -> C(2)
То есть из фрагмента "B", можно перейти на фрагмент "C(1)" или "C(2)" (зависит от внутренней логики)
Требуется, при нажатии кнопки "Назад", реализовать логику:
1 вариант навигации: C(1) -> B -> A (тут все ок, стандартная логика навигации)
2 вариант навигации: C(2) -> A (а вот тут нужно как-то миновать фрагмент B)
Подскажите, как можно реализовать такую логику?
Что уже попробовал
Вариант 1: popBackStack() перед открытие фрагмента C2 из фрагмента B. Не подходит, когда отрабатывает код, на секунду видно фрагмент A
Вариант 2: При создании транзакции фрагмента B из фрагмента А, не добавлять его в бэк стэк. Не подходит, для 1 варианта навигации фрагмент должен быть в стэке.