Алексей
может, есть вариант проще?
Алексей
Подскажите, как в Retrofit 2 подать массив с Url для запроса. Т.е. если url не доступен, запрос шел по другому Url и так далее, пока не получит ответ.
Это лежаит за рамками ответственности ретрофита. Вам придётся сделать метод ретрофита с параметром @Url, и вручную его вызывать, перебирая список.
Алексей
Нет, не видел таких.
Сергей
жаль, но и на этом спасибо, буду пробовать)
LeV
Парни совершенно тупой вопрос, но все же разобраться не могу. Создаю уведомление в сервисе, а оно не отображается. Ни ошибок ничего нет, после создания уведомления показываю тоаст - все работает. В логе ошибок нет. подскажите че не так. вот код https://pastebin.com/cFxRk0Yj
LeV
да, на эмуле он. а устройстве чет не проверил
Denis
да, на эмуле он. а устройстве чет не проверил
почитай про notification channels, они вроде обязательны с орео и без них не работает
Oleg
Всем привет! Вопрос по интеграционным тестам. Допустим есть клиент-серверное приложение, в нем используем Ретрофит и Room для сохранения данных полученных из сети. Обязательно ли для интеграционного теста использовать MockWebServer и поднимать Room? Или достаточно просто замокать интерфейс Retrofit API и Room Dao?
LeV
почитай про notification channels, они вроде обязательны с орео и без них не работает
Спасибо, на устройстве запустил - все работает(там не oreo)👍🏻👍🏻👍🏻
Kirill
Привет народ, подскажите как реализовать анимацию перехода между чатами как в телегами х
Aleksandr
Привет всем. Есть атрибут maxWidth, хочу чтобы для landscape ориентации он был равен 360dp, а для portrait не применялся. Как безболезненно это сделать? Есть ли какой-нибудь волшебный символ который говорил бы: не используй это?
Kirill
У них общий тулбар или нет?
Anton
Всем привет! Вопрос по интеграционным тестам. Допустим есть клиент-серверное приложение, в нем используем Ретрофит и Room для сохранения данных полученных из сети. Обязательно ли для интеграционного теста использовать MockWebServer и поднимать Room? Или достаточно просто замокать интерфейс Retrofit API и Room Dao?
Вся суть тестов всегда сводится к одному: подменить реализацию на тестовое окружение. Это можно сделать по разному, либо через мокВебСервер либо через тестовую реализацию интерфейса ретрофита, репозитория или что нужно по необходимости. Конкретно я реализую просто тестовый репозиторий с данными, без веб сервера
Aleksandr
Либо два разный лейаута, либо в коде if (orientation == PORTRAIT)
Ещё думал насчет варианта для portrait указать 100500dp в ресурсах
Oleg
Например так, да
Согласен, просто нашел статью от Рамблера и там они поднимают мок веб сервер. Но с ним проблем нет, хотя как по мне нужно писать много чего лишнего. А вот если сюда вступает БД, например рум, то уже нужно тестить инструментально и это долго, и профита я не вижу. Просто опыта в написании именно интеграционных тестов у меня нет
Anton
Обычно это не нужно, гораздо проще через di запровайдить другую реализацию
Oleg
Обычно это не нужно, гораздо проще через di запровайдить другую реализацию
Еще вопрос. А вот есть где нибудь хороший пример интеграционного теста?
Anton
Еще вопрос. А вот есть где нибудь хороший пример интеграционного теста?
Быстро не найду, скорее всего нет. Только если на гитхабе по ключевым словам поискать
Oleg
Быстро не найду, скорее всего нет. Только если на гитхабе по ключевым словам поискать
А для чего сам пишешь? Есть какой нибудь пример, где максимально раскрывается профит от интеграционных тестов?
Trubnikov
Всем привет, подскажите, на Kotlin что вы используете за место IntDef, константы в объекте компаньоне?
Vladislav
Я бы замокал веб сервер и бд полноценную использовал для интеграционных тестов. На то они интеграционные
Anton
А для чего сам пишешь? Есть какой нибудь пример, где максимально раскрывается профит от интеграционных тестов?
Мне нужно проверять работоспособность приложения на большом количестве различных устройств. Я один раз пишу тест для открытия экранов и минимальный текст-кейс какой-нибудь, и запускаю его на всех нужных мне девайсах. Простой но эффективный пример, как тесты спасают мне несколько часов в день релиза)
Kirill
да
Енумы тогда
Trubnikov
IntDef не нужны, когда у тебя прогуард
а чем он поможет в данной ситуации?
Anton
Оптимизацией
Trubnikov
Енумы тогда
они компилятся в обычные явовские енумы?
Kirill
Угу
Trubnikov
Оптимизацией
он енум в константы захерачит?
Kirill
Да
Anton
В большинстве случаев да
Kirill
Но это не точно
Kirill
они компилятся в обычные явовские енумы?
Kirill
Угу
Trubnikov
магия, почему тогда никто не советует юзать енумы, так как они прожорливые как скотины, если прогуард это оптимизирует под капотом?
Kirill
Котлин же сразу в байт-код компилится
Kirill
Сейчас их советуют юзать
Trubnikov
Котлин же сразу в байт-код компилится
понятно, но и ява в байткот компилится, который выполняется
Kirill
Угу
Trubnikov
что сгенеришь - то и получишь)
Kirill
В общем юзай енумы и не парься)
Vladislav
магия, почему тогда никто не советует юзать енумы, так как они прожорливые как скотины, если прогуард это оптимизирует под капотом?
Вот всегда удивляют такие оптимизации. Неужели в обычных приложениях больше нечему тормозить помимо enum?
Vladislav
Мне кажется в процентном соотношении с остальными тормозами это ничтожно малая величина
Сергей
Бросьте вы, енумы оптимизировать это глупо имхо
Vladislav
Единственный случай если енам участвует в каких-то сложных и продолжительных вычислениях
Trubnikov
https://www.youtube.com/watch?v=Hzs6OBcvNQE
Vladislav
Но тут лучше на плюсах просто переписать
Vladislav
https://www.youtube.com/watch?v=Hzs6OBcvNQE
Хм. Действительно весьма паршивая реализация DEX и компилятора
Trubnikov
там в конце, кстати, сказано, как говорили выше, что прогуард в БОЛЬШЕНСТВЕ (не во всех) случаях оптимизирует это говно
Trubnikov
преабразуя в константы
Dzmitry
Привет всем. Подскажите, чем я могу заменить AppBarLayout, чтобы иметь возможность вставить "раскрывающуюся вью" рядом с recyclerView и coordinatorlayout, желательно из коробки?
Trubnikov
А зачем тебе его заменять?
Dzmitry
у меня не appbar раскрывается, а элемент ниже, который не относится к appbar
Konstantin
https://www.youtube.com/watch?v=Hzs6OBcvNQE
о, лысый из бр... гугла
Dzmitry
А зачем тебе его заменять?
либо я могу напихать в него кастомных вьюх с анимацией, чтобы весь этот бургер скрывался?
Yury
Про enum с последнего IO https://youtu.be/IrMw7MEgADk?t=14m8s
Konstantin
экономия на спичках это называется
Vladislav
Vladislav
На бэкенде такие интеграционные тесты делаю
Oleg
Да я вообще не пишу под андроид )
Поэтому и замокал бы) Просто если так делать, то они выполнятся будут дольше, так им будет нужно живое устройство
Aleksey
Привет. Кто-то как-то мне написал, что блокировать доступ к приложению через проверку на наличие какого-то стороннего установленного приложения - плохо и карается правилами Play Store. Сейчас ищу правила - не могу найти подобной информации. Так ли это на самом деле?
Константин
У меня как-то игра не запускалась. Выводила предупреждение о том, что установлена GameCIH. И завершалась