что презентер будет уничтожен вместе с процессом. Невозможно и не правильно "сериализовать" презентер — это же логика, а не состояние =) Но если очень хочется сделать так, что чтобы при восстановлении процесса, авторизация началась сначала, нужно:
1. Передать непосредственно в презентер событие onSaveInstanceState(Bundle saveState)
2. В презентере что-то туда насохранять(то, что презентеру может потребоваться для восстановления себя после рестарта процесса). Например, что "Авторизация начата", или сохранить, что "Показать ошибку авторизации" и т.д.
3. Передать в презентер onRestoreInstanceState(Bundle savedState)
4. Презентер, в случае если он ещё не проинициализирован а savedState не null, понимает, что процесс был рестартанут, достаёт из пришедшего бандла нужный флажок и уже тогда отправляет команду во вью
Только, надо ли вам такое поведение? Ну, тут судите сами =) Я думал сделать что-то вроде ViewState для Presenter, но PresenterState показался перебором. В 99.99% случаев этого не надо. А если и надо, то это может быть правильней протащить через модель
окей, в случае авторизации может и не так страшно заново запрос послать, а если это банковская транзакция, то нам важно то, что если запрос успел выполнится после onStop
Обсуждают сегодня