по дефолту открывается оно и чекает, если нет сессии, то запускает 1-е активити и ждет положительного результата, если все ок, то инициализирует данные.
3-е активити может слать бекграунд уведомления, по которым в него же можно и перейти.
Проблема в том, что юзера может забанить админ, но он может продолжить работать с приложением - пришло уведомление - перешел в 3-е активити, а авторизация из 2-го ничего не чекает т к активити не зупущенно и не может выкинуть юзера из забаненой сессии.
Как такое можно решить?
Думаю в Application вынести эту проверку и сделать промежуточное активити, типо при креэйте апликейшна он стартует AuthGuardActivity, который все это чекает и редиректит либо на хом_пейдж либо на аутентификацию.
Но в итоге это будет просто пустое активити с прогрессбаром, которое выполянет проверки и редиректинг, звучит не очень или это норм реализация?
Такое можно решить путём накладки в каждом экране фрагмента с авторизацией. Чтобы не было дублирования кода, всё можно вынести в абстрактный класс BaseActivity от которого наследовать все остальные. В твоём случае экран авторизации становится лишним - всем занимается фрагмент. Любой экран получает ошибку и тут же включает фрагмент. Профит.
Обсуждают сегодня