#кейс
Обработка результата отдельного сценария
1) Имеется экран "Список карт лояльности"
2) На экране есть кнопка "Добавить новую карту"
3) При нажатии кнопки открывается визард, который состоит из цепочки активити
4) При прохождении сценария, нужно:
- закрыть все экраны сценария
- отобразить обновленный список карт
- показать snack уведомление, что карта добавлена
Приведем возможные варианты реализации:
Вариант 1.
Дефолтными средствами AOS
Реализуем старт активити с помощью startActivityForResult и в onActivityResult при необходимости делаем finish()
Вариант 2.
На основе Cicirone
Вариант 3.
С использованием общего интерактора
- Создаем интерактор, который доступен на экране списка карт лояльности и финальном экране визарда.
- Всем активити визарда в манифесте устанавливаем значение taskAffinity как AddLoyaltyCardWizard
- При добавлении карты на финальном экране происходит два действия:
1) Интерактор оповещается о добавлении карты. По этому действию он может инициировать обновление списка и отображение оповещения
2) Вызывается finishAffinity
В данной реализации нужно обратить внимание на потенциальную возможность убийства активити системой.
Как работает taskAffinity можно прочитать в
https://developer.android.com/guide/topics/manifest/activity-element.html#aff