Kanstantsin
обычно просто я помещаю эту привязку в базовый ViewModel и очистку, но не делается это в крайне редких ситуациях
Andrei
ну вообще в твоей ситуации отдается Disposable
если бы ты не использовал мокси, а обращался к view напрмую, то у тебя было бы так:
делаем запрос, закрываем приложение, приходит ответ от сервера, пытается обратиться к view, а ее и след простыл
как результат краш, даже когда ты закрыл приложение
поэтому тебе и дается результатом disposable, чтобы ты мог отписаться, если данные из запроса тебе больше не нужны
Проксимов
У меняй такой вопрос, если юзер в активити делает асинхронный запрос, по которому билдится алерт диалог, то если юзер выйдет с этого активити, апп крашнется. Как бороться? Получается делать синхронный запрос?
Kanstantsin
Kanstantsin
если бы ты не использовал мокси, а обращался к view напрмую, то у тебя было бы так:
делаем запрос, закрываем приложение, приходит ответ от сервера, пытается обратиться к view, а ее и след простыл
как результат краш, даже когда ты закрыл приложение
поэтому тебе и дается результатом disposable, чтобы ты мог отписаться, если данные из запроса тебе больше не нужны
++
правда у меня не мокси, а mvvm но смысл этот же
Kanstantsin
Kanstantsin
как раз про это речь и выше
Kanstantsin
ты запустил запрос ждешь результат его, если уходишь с экрана отписываешься в onDestroy
Kanstantsin
и результат запроса уже не потревожит тебя )
Kanstantsin
ну да, для переворота нужно чтобы presenter или viewmodel восстанавливались nt;t
Kanstantsin
moxy и т.д.
Саша Батанова
Ребят, привет. Есть варианты билдов. Хочу установить для разных билдов - разные темы. Но темы прописывать в манифесте, а билды в градле.. Как настроить чтобы конкретный вариант билды подтягивал за собой конкретную тему/стиль?
Nikita
Я использую, вроде норм. Проблем не возникало
Саша Батанова
Да, но как это прописать для конкретных flavors'ов?
Саша Батанова
Поняла, спасибо большое)
Sergey
всем привет. почему если в манифесте выставить targetSdkVerssion = "26", то при запуске приложения нет разрешения на определение местоположения, а если убрать целевую версию вовсе, все работает нормально?
Друг Владік
Привет, коллеги! MTKLogger мои логи никуда не отошлёт? А то заказчик прислал планшеты для тестировки, а я сейчас инсту устанавливаю =}
Sergey
я убирал и работало нормально. она ставилась такой, какая и минимальная. как можно решить эту проблему? все разрешения стоят
Vadim
Подскажите, пожалуйста, с помощью чего такое реализовать можно? Пробовал RadioGroup но его не получается равномерно растянуть по ширине.
Проксимов
Проксимов
David
прекратить выполнение запроса
Kanstantsin
ну например как работает в Rx это
Kanstantsin
ты при старте запросе получаешь Disposable объект
Kanstantsin
точнее при подписке
Kanstantsin
при destroy ты вызываешь disposable.dispose()
Kanstantsin
или вообще всех их складываешь в CompositeDisposable и у него дергаешь метод clear()
Kanstantsin
ну в твоем случае только проверять UI в каждом success callback наверное
Kanstantsin
ну или сделать завязку на LifecycleOwner тот же, и реализовать что-то типо подписки и отписки при destroy
Kanstantsin
а вообще лучше юзать уже готовые вещи для этого, а свое писать только если реально не хватает чего-то
Проксимов
Проксимов
У меня ретрофит
Kanstantsin
это разные понятия вообще же
Проксимов
Kanstantsin
я ж написал пример тебе
Kanstantsin
ну в твоем случае только проверять UI в каждом success callback наверное
Проксимов
Ты написал про Rx
Kanstantsin
или реализовывать что-то типо подписок отписок
Проксимов
Так, отлично. Как проверять UI?
Kanstantsin
view != null ?
Kanstantsin
только упаришься для всех экранов так делать
Kanstantsin
я бы посоветовал посмотреть что-то в сторону подписок отписок или moxy
Проксимов
А вообще может туп запрос синхронным сделать
Проксимов
🤔
Kanstantsin
кароч смотря какая архитектура
Kanstantsin
что значит сделать запрос синхронным ?
Kanstantsin
блочить экран просто пока грузится ?
Проксимов
Kanstantsin
каким-то прогрессом
Проксимов
Синхронный и асинхронный
Проксимов
Синхронный как я понимаю грузит основной поток
Kanstantsin
в основном потоке IO делать нельзя
Kanstantsin
как я знаю
Kanstantsin
будет крэш сразу
Проксимов
Лан, щас чекнем шо это делает
Kanstantsin
основной = main
Kanstantsin
ладно лучший вариант я написал тебе
Kanstantsin
поглядеть в сторону архитектур и реализаций именно этого в них
Martynenko
можешь создать отдельный thread и в нём сделать запрос, а потом через handler вернуть результат
Kanstantsin
зачем придумывать велосипед
Martynenko
ну да)
Martynenko
это если запрос проверить. то можно и так) а в продакшн надо что-то лучше сделать
Павло
ЕМНИП, в ретрофите можно cancel'ять запросы
Kanstantsin
ну да
Kanstantsin
disposable через rx это и делает
Kanstantsin
можно делать это руками
Павло
Необязательно, нужно смотреть как адаптер написан. Хотя думаю там сделанно хорошо
Kanstantsin
Kanstantsin
я ответил как бы потому что я смотрел )
Kanstantsin
как это работает
Павло
Поэтому я и не утверждал на 100%)
Kanstantsin
но всё так да, можно и самому cancel дергать
Kanstantsin
я так понимаю по-умолчанию без Rx будет Callable
Kanstantsin
от ретрофита
Павло
Да, вроде
Kanstantsin
тамправда cancel вроде нет
Павло
Я тоже давно на рх переехал
Kanstantsin
ошибся