Artur
хз, я с теле2 сижу уже неделю черещ впн
Roman
Спасибо
Влад
Кирилл, ну смотря какая реакция тебе нужна
Sergey Mitrofanov
Подскажите, пожалуйста, как научить MutableLiveData<ArrayList<User>> реагировать на добавление новых пользователей?
Никак ) Есть другой подход: шлешь все время целый список. А вот уже в адаптере ресайклера используешь Diff классы для него (например SortedList<T>)
Sergey Mitrofanov
Погуглю, спасибо
Есть даже дифф-адаптер (названия не помню) для ресайклера, который все диффым сам делает в отдельном потоке
Влад
Ну я бы тебе рекомендовал создать объект отдельный, и лист который имел бы тип этого объекта, и в объекте наверное можно было бы сделать
Sergey Mitrofanov
И ессно анимирует в списке только изменения
Ruslan
Успешный запрос { "success": true, "data": [ { "id": 13755, "name": "Витамин", "shop_id": 56 }, { "id": 13732, "name": "Чай «Белояр» ", "shop_id": 56 } ], "status_code": 200 } Неуспешный запрос { "success": false, "error": { "name": "Bad Request", "message": "Сервер временно не доступен", "code": 0, "status": 400 }, "status_code": 400 }
Ruslan
зачем success и status_code? это же мусор.
status_code да, может быть лишний, но success показыват успешен запрос или нет
Kirill
есть code, status и status_code 🤔😒
Ruslan
если success false, значит произошла какая ошибка, например ошибка валидации, серверная ошибка.
Ruslan
code, status - это тело ошибки генерируется движком автоматически
Ruslan
ну и HTTP-код должен отличаться
вот в этом и вопрос, что лучше всегда отдавать 200 код не зависимо, была ошибка или нет и уже в ответе писать "success": false,. ИЛИ отдавать разные коды ответа 2хх 4хх 5хх ?
Mike
первый вариант, нормально использовать HTTP
Ruslan
То есть лучше 2хх 4хх 5хх отвечать? Все согласны?
Pavel
А "мой бехейвор", правильно написан? На что ему реагировать указано? Брейпоинтв методе не срабатывает?
CoordinatorLayout.Behavior<FrameLayout😠) Но как я понял внутри <> пишется "что" должно реагировать. А в xml layout_behavior указывает что должно дергать метод layoutDependsOn у behavor
Mike
Вопрос. А стоит ли принимать пользователю лишний трафик?
Нет, но тогда нужно не использовать ни HTTP, ни JSON.
FromSi
Нет, но тогда нужно не использовать ни HTTP, ни JSON.
Можно вообще обойтись камнем и пойти в тайгу.
Ruslan
Вопрос. А стоит ли принимать пользователю лишний трафик?
я поэтому и спрашиваю, к мобильной разработке я не разбираюсь, вы по большей части работаете с api, поэтому вопрос, как для вас удобнее
Ruslan
То есть на мой вопрос четкого ответа нет, как лучше сделать?
Arka
Разраб*
Ruslan
удаление http запрос DELETE обнолвнеие данных PUT получение GET создание POST Это тоже удобно использовать?
Pavel
Хml layout покажи
https://hastebin.com/inoxakoviv.xml
Vladimir
Как минимум мне удобно)
gio
FingerprintManagerCompat.from(context).hasEnrolledFingerprints(); при проверке возможности установки отпечатка возвращает false на девайсе, где установка возможна. Подскажите почему?
Ruslan
Спасибо! Будут еще какие то рекомендации по api пишите, буду учитывать, на одно удобное api больше станет
Darya
Так че есть кто живой, или телегу закрыли?
Jack
Есть, еще не закрыли
Алекс
да не закрыли еще только в реестр внесли, теперь провайдеры должны блочить
Jack
На всякий случай, если еще кто-то не нашел подходящее прокси
Jack
https://telegram.veesecurity.com/
Artur
Привет! Во время входящего звонка, из бродкаст ресивера отправляется интент на открытие активити. Флаги: i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION); context.startActivity(i); Вызов этих строк точно происходит. Но метод Activity onCreate() вызывается значительно позже, секунд через 10, когда пользователь скидывает звонок. Есть идеи, куда копать?
Igor
Могу ошибаться, конечно
Igor
Ааа, onStart()
Igor
Ну потому что звонилка открывает свою активити, и та активити в foreground
Artur
Там даже onCreate, сорри
Igor
Ordered broadcast
Тогда это
Artur
Спасибо. Пока непонятно, но почитаю о них ещё раз.
Artur
Тогда это
Так, если что, 10 секунд проходит между моментом, когда мы шлём интент (то есть наш бродкаст ресивер поймал событие и уже работает, пульнул интент на открытие активити) и непосредственно созданием запрошенной активити. Всё верно?
Igor
Ordered broadcast
Скорее всего не в этом дело
Artur
Скорее всего не в этом дело
Да, высокий уровень priority на ресивери стоит, эвент от Андроида ловится. Похоже, это не тот кейс.
Igor
Система должна по особенному обрабатывать активити звонилки
Igor
Чтобы лишние активити не запускались поверх нее
Artur
Работает на 9 звонках из 10
roman G
Ребят, какой явный пример инкапсуляции можно привести ?
Oleg
Ребят, какой явный пример инкапсуляции можно привести ?
Может подойдет тебе это -> https://habrahabr.ru/post/43859/
Евгений
Коллеги, подскажите как запустить сайт из ассетс при помощи локального сервера?..
Alexey
Коллеги, подскажите как запустить сайт из ассетс при помощи локального сервера?..
Гугли jetty android, пиши свои резолверы ресурсов из ассетов
Евгений
Можешь поподробней описать?
Есть сайт. Я его положил в assets. Но похоже что он без сервера работать не хочет. Нашел код простого сервера, но я с серверами никогда не сталкивался, а потому просто не знаю как заставить сайт работать. Вот как то так.
Bagdat
Всем привет! Народ подскажите пожалуйста, какую библиотеку использовать для работы с веб-сокетами и с возможностью подписки к каналу?
Евгений
Скопировать из ассетов не осилил?
нет, не осилил. Я спрашиваю совета ибо не знаю что делать.
Кирилл
Как в LiveData отписать все обсёрверы в момент onInactive?
Кирилл
Или они сами?
Евгений
Скопировать в пзу и оттуда открыть
теоретически понятно. В пзу это куда? каталог приложения? типа data/data/my_package/files ? верно я понимаю?
Alexey
Context.getCache()
Евгений
Context.getCache()
в кэш... да, говорили ж сегодня про это.... надо разобраться.