вы оверлеите AuthScreen? Пустой лэйаут в single activity, который заменяется на нужный фрагмент и показывается поверх остальных?
Не совсем.. По сути, у нас - это хорошо кастомизированный dialog-fragment (изменена тема, он полно-экранный и тд) И все под-экраны и шаги авторизации - уже в нём. onDismiss() - снимает блокировку и выставляет итог: true - если все шаги пройдены, иначе - false. Аналогично тому как работает setResult(); finish() в активити Для мютекса - можете выбрать любой удобный вам подход. Wait/notify, futures, или rx, а может и корутину. Диалог фрагмент - выбран не спроста: во первых у него есть чёткий жц - и в него проще инкапсулировать любой ui (так у нас н-р есть qr-авторизация). Диалог фрагмент имеет четкий "выход" dismiss. Решение абсолютно вписывается в single-activity арх-ру Диалог фрагмент создает отдельный window, view-hierrachy, и может иметь полностью свою тему включая окрас систем-панелей (status/navbar) это также убирает любые конфликты с softInput-режимами и фокусабельностью полей
Обсуждают сегодня