sur-pavel, наверняка в logcat стектрейс. Не надо глотать исключения. Объясни, плз, нахрена тут асинхронность, если ты всё равно блокирующе берешь из фьючи значение? Сделай кастомную лайвдату.
Но разве современные компиляторы недостаточно умны, чтобы понять, что результат вычисления нигде не используется(а он, очевидно, не используется, потому что если бы он использовался, то, выбор оператора нужно было бы осуществлять исходя из логики вычисления), и оптимизировать второй вариант до первого?
JZX, разные есть варианты. Мокси. Conductor(на его базе можно сделать MVP). Fragment + руками сохранять Стейт презентера(для уменьшения бойлерплейта использовать что-то типа Icepick. Сохранять презентеры в Application (это можно сделать также с даггером).
Посмотреть в сторону MVVM, и Architecture Components.
MVP в чистом виде в Андроиде вообще не существует, потому что он не описывает переходы и взаимодействия между экранами.
Я лично не люблю такие библиотеки как Мокси, потому что они сильно ограничивают разработку.
JZX, ты определись, тебе MVP, или переживать смену конфигурации? Это вообще ортогональные понятия.
View в Андроиде не переживают смену конфигурации по умолчанию.
Dagger это не каким-то волшебным образом делает, ты можешь всё то же самое сохранять самостоятельно.
Короче надо понимать, что ты хочешь, и зачем ты это хочешь.
foonfyrick, эмулятора недостаточно, потому что он эмулятор, а не реальное устройство. Я сталкивался с багами, которые воспроизводятся только на реальных устройствах(и то версия и вендор сильно роляют), и сталкивался с теми, которые воспроизводятся только на эмуляторе.
Нельзя брать шаоми и Самсунг? Штаа. Это одни из самых популярных брендов. Тестировать надо на том, что есть у пользователей, а не на своих влажных мечтах.