Dj
там трекпад прикольный
вибрацию прикольную издает, трык-трык
Aleksey
вибрацию прикольную издает, трык-трык
да, но в целом хорошо работает не дребезжит, не хрустит
Anonymous
Anonymous
Ребят, не знаете каким интентом мне вызвать установку обоев?
Anonymous
Anonymous
Есть ли способ, кроме WallpaperManager.setBitmap()?
Roman
Всем привет! Пишу UI-ные тесты и застрял. Для мока респонзов использую MockWebServer. Проблема: аппка запускается перед “@Before” самого теста, и DI начинает все создавать. И вот некоторые инстансы, которые создаются, на этапе init-а отправляют запросы. Получается что эти запросы отправляются раньше чем я успеваю сказать MockWebServer-ру что мокать Кто-то сталкивался? Как лечили?
Hovhannes
ну собсна велкам ту хел, вариант 1. запускай юай тесты под дргим флейвором и там пропиши че надо делать под этим флейвором на старте вариант 2. перепиши код так, чтобы было удобно мокать
Sohib
Всем привет! У меня листвю при нажатии на листИтем хочу менять бекграунд цвет листИтем на зелёной а на 2ом нажатии обратно, на 3ем ещё зелёный... Как лучше сделать?
Hovhannes
сделай стейт интом и меняй исходя из этого 0 стартовый 1 зеленый 2 стартовый 3 зеленый
Hovhannes
и после 3 скидывай на 0
Hovhannes
а при нажати инкременть инт стейт
Hovhannes
или так
Hovhannes
хотя нет. при ддосе от души инт будет расти до охулиарда))
Hovhannes
не критично конечно, но нафиг
Di7aK
представляю этого юзера что столько раз нажмет
Александр
представляю этого юзера что столько раз нажмет
Срочно нужен тестировщик, который будет прокликивать все вьюхи MAX_INT раз
central
не знаю есть ли книги для кочегаров но наверняка можно найти
Alexey
ну или в целом попытаться каким-нибудь whenever перехватывать методы API и возвращаться свой mock-ответ
Alexey
на мой взгляд - это самое простое
Roman
Фейковый di для тех вещей, которые уходят в сеть до before
Есть. Но тестов ведь много, а DI - один. На один реквест в разных случаях могут быть разные респонсы.
Alexey
если нет нужды копать вглубь, то никакие. просто пиши на языке и по необходимости гугли что-то если нужно куда-то лезть, то typealias, inline, extensions, named companion, lazy и тд
Alexey
Есть. Но тестов ведь много, а DI - один. На один реквест в разных случаях могут быть разные респонсы.
для одного теста - один респонс другой респонс будет участвовать в другом тесте
Alexey
что такое биндинг? Android binding?
Alexey
нуууу, тут язык особенно не при чем. там синтаксис довольно тривиальный на котлине
Alexey
это же вещь из Android SDK, к котлину она отношения не имеет
Alexey
Есть. Но тестов ведь много, а DI - один. На один реквест в разных случаях могут быть разные респонсы.
это же UI-тесты. там сценарии прописаны. сделай несколько тестов на самые чувствительные респонсы и замокай их. я бы делал хотя бы на первых порах, чтобы завелось, так
Hovhannes
так если у тебя есть моквебсервер прямо в модуле нетворка пропиши исходя из флейвора какой урл брать
Alexey
так если у тебя есть моквебсервер прямо в модуле нетворка пропиши исходя из флейвора какой урл брать
да, наверное, можно и так. Я просто так не делал, поэтому не могу сказать деталей, но выглядит вполне работоспособным
Hovhannes
ну я делал и все ок))
Hovhannes
но эт был пет проект так что долго я его не поддерживал
Hovhannes
т.к. как только ты добавляешь новый флейвор в проект - жизнь перестает быть простой
Roman
так если у тебя есть моквебсервер прямо в модуле нетворка пропиши исходя из флейвора какой урл брать
Все так и сделано. Проблема в том что респонсы уходят раньше, чем я успеваю сказать диспатчеру что именно хэндлить
Hovhannes
тебе в код надо влезть перед первый запросом
Roman
по хорошему не нужно из конструктора запросы слать. Но менять не разрешат, так как регрессия большая будет
Hovhannes
оставь как есть
Hovhannes
прост флейвор добавь и впендюрь иф туда
Hovhannes
если не юайтестовыйфлейвор - делай свое дело
Hovhannes
точнее мы решили поменять урл на моксерверный
Hovhannes
одна строка кода в выборе урла ничего страшного
Roman
Base url поменян. И сервер успевает стартануть до запуска приложухи. А вот насэтапить нужные ему запросы я не успеваю. Разница между отправкой первого реквеста и вызовом “@Before” 11 (ОДИНАДЦАТЬ!!!) секунд
Hovhannes
всегда есть другой способ
Ваня
Когда создаётся синглтон?
Hovhannes
берешь и кладешь джейсон ответы в тестовые ресурсы проекта и читаешь ответы от сервака оттуда
Ваня
В плане момент времени*
Hovhannes
но это немного затратно по времени)
ᛖᚹᛋᛁᚱ
Подскажите как обновить размер родителя (FrameLayout, ViewGroup) после перемещения вьюшки в нем
Delt@[•_•]
Доброе время суток, работаю с GPS, получаю location, беру altitude, а он по факту не соответствует реальному, т.е. нахожусь в районе моря, у высота у меня отрицательная, каким образом это можно корректировать, может кто сталкивался!? Видел кучу онлайн сервисов, интересует что то локальное
Aleksey
но это немного затратно по времени)
поделись опытом, как ты свое приложение с нуля переписал?
Aleksey
ты о чем? текущий проект?
да, я прост в ситуация, когда страшно что-то шатать, чтобы не развалить, а очень хочется
Hovhannes
http://johnnyblog.ru/archives/352 вот же все тут
Hovhannes
спокойно шатай все нах
Hovhannes
берешь и обкладываешь функционал юайтестами
Hovhannes
или же прописываешь тест кейсы и смотришь сколько проходит
Hovhannes
после этого берешь и фундаментально расфигачиваешь весь код
Hovhannes
если после этого все работает так же хорошо как до рефакторинга, то ты красава
Hovhannes
а если лучше - то ты красавчик
Hovhannes
ну и у тебя всегда есть гит, так что нечего бояться
Aleksey
чего?
поправил, не мокается
Hovhannes
у тебя всегда есть ручное тестирование
Hovhannes
главное в нашем деле всегда иметь возможность вернуться к лучшей точке - как в игре - если чет пошло не так - вернуться к сохраненому пойнту
Hovhannes
в общем, топишь за расшатать?
ну в моем случае был ужасный легаси с каменного века
Hovhannes
самое простое было выкинуть и написать с нуля
Hovhannes
но если у тебя ситуация не такая страшная, то понемногу можешь переделывать
Hovhannes
например решил переписать фичу номер 1
Hovhannes
проверил - все ок в новом коде - идешь дальше
Hovhannes
и так по кусочкам. все зависит от конкретного кейса
Hovhannes
нельзя сказать что переписывать все с нуля идеальное решение, зачастую это страшнее и сложнее чем по кускам улучшать легаси
Hovhannes
оцени ситуацию для начала, что ты имеешь, сколько может занять времени на полный расколбас , есть ли время и уверенность в силах