Turalllb
Не подскажете каково дефолтное поведение по сокрытию клавиатуры при переходе на новый фрагмент? Я так понимаю, уходит фрагмент который держит фокус на клаве и она скрывается? Просто на андроиде 5.1 на неком ZUK1 клава не скрывается сама
Kirill
Ага.
по описанию ничего криминального нет.
а вот как это реализовано, никто кроме тебя не видит)
Сергій
Turalllb
Dmitry
Как лучше начать работу в ViewModel с репозиторием? с активвити дернуть метод типо loadData, или с конструктора ViewModel?
Arsen
Сергей
TheBukharian
Arsen
https://developer.android.com/topic/performance/vitals/launch-time#heavy-act
TheBukharian
Type Mismatch выдает, что делать?
TheBukharian
вроде всё правильно написал и проверил
Arsen
наведи на ошибку - покажет подробнее
TheBukharian
навел, но там совсем с этим не связано
TheBukharian
ок спасибо
Arsen
наверное бага в тулинге, пиши в джетбрейнс\гугл, пусть чинят)
Arsen
Kirill
подскажите, с помощью retrofi2 отправляю сообщение.
и когда менятся фрагмент, в случае onFailure приложние падает, т.к. контекст = 0, можно это как-то обойти?
@Override
public void onFailure(Call<GetIdMessage> call, Throwable t) {
Toast.makeText(getActivity().getBaseContext(), R.string.error_msg, Toast.LENGTH_SHORT).show();
progress.set(false);
}
Mike
Impossible
Mike
Kirill
частично согласен).
но все же это не архитектура)
Mike
Kirill
Kirill
Mike
Kirill
Impossible
Mike
Mike
Impossible
Подскажите пожалуйста, за корутины, когда следует юзать runBlocking ? Он блокает тек поток, в чем разница между ним и launch.UI . Только тем что run подключается к scope тек потока?
Arsen
просто корутины как демоны, потому блокинг нужен. а лонч лучше сравнивать с асинком
Arsen
в ведре есть вьюмодельКонтекст
Arsen
если самому пилить то coroutineScoupe
Arsen
а вообще много ньюансов, без стакашки не разобраться, иди доки читай)
Impossible
Arsen
я тоже заебся их читать, пришлось медиум серфить, доклады смотреть (у Елизарова норм)
Arsen
для тестов)
Arsen
или для jvm
Impossible
для тестов)
В бытовых ситуациях просто делается scope и в него уже кидают потоки и прерывания?
Arsen
что значит кидают потоки?
Impossible
Arsen
там кароч билдеры это экстеншин функции к контексту, т.е. он нужен, чтобы можно было стартануть корутины, и чтобы очистить их при завершении жц (типа диспозабл)
Impossible
runBlocking заюзывает глобал контекст ?
Arsen
диспатчеры - шедулеры, каналы(экспериментальные еще) - типа операторы (чейн обработка, хуемое..)
Arsen
глобалКонтекст вроде не мешает завершению процесса (демон типа), а блокинг - не дает
Arsen
могу ошибаться
Ravshan
Всем привет! Как получить канал и дистанцию(расстояние) вайфай?
Arsen
Global scope is used to launch top-level coroutines which are operating on the whole application
Impossible
могу ошибаться
Если копнуть, то видно что юзается globalScope. А если отменить глобал то вроде его уже перезапустишь
Impossible
Arsen
Arsen
Arsen
про ран блокинг
to be used in main functions and in tests.
Arsen
мейн -точка входа, если корутина отпустит тред, то мейн сделает ретерн и процесс завершится, джвм - рип
Arsen
а блокинг не дает этого потому и to be used in main functions and in tests.
Arsen
в андроиде нет такой проблемы, у нас контроль поялвяется в колбеках компонентов фреймворка
Arsen
но есть проблема утечки, потмоу скоупы нужны (аналог диспозабл в рх)
Impossible
Arsen
Impossible
Вижу что нужен для ловли екзепшена по всей цепочки)
Impossible
а на каком он scope ? Тоже main ?
Arsen
так же как в рх всякие модные перегрузки сабскрайба, так и тут - чисто декларативный стайл, вместо зашкварного трай кеча
Impossible
Arsen
по-моему эта шляпа даже не в пакете корутин
Arsen
чисто стд фича
Arsen
а на каком он scope ? Тоже main ?
вообще вопрос "в каком скоупе" зависит от объекта на котором вызываешь, ты же просек фишку с тем, что в корутинах все, что можно реализует интерфейс CoroutineContext, который является сетом (коллекцией), которая может хранить всякий тюнинг, а еще перегружает оператор сложения, что открывает ̶ш̶к̶а̶т̶у̶л̶к̶у̶ ̶п̶а̶н̶д̶о̶р̶ы̶ возможности для конфигурирования.
Arsen
Arsen
еще можно грохнуть джобу, если скоуп не супервизор