Mike
ну многим нравится, можно ещё их спросить)
Serhii
Окей, спасибо
Mike
А что хуже стало?
DSL для котлина появился)
Mike
Там просто у самых истоков адаптерДелегатов лежит омерзительная идея Map<Class<T>, T> и тайпчекинга, которая убивает возможность * использовать делегаты одного класса в разных конфигурациях, * использовать дженеричные делегаты. В качестве бонуса нет гарантии, что зарегистрированы все необходимые делегаты и нет ни одного лишнего.
Anonymous
Можно подключится к VPN , без натива?
Anonymous
В своем приложении
Mike
блэт, откуда ты всё это знаешь
В смысле? Посмотрел в исходник и увидел.
⬤ vitaly
Чтобы прогард не трогал имена полей моделек, которые moshi конвертирует через рефлексию, нужно просто их добавить в исключения, или есть какой-то более высокоуровневый способ типа "сказать прогарду чтобы не херил модельки для ретрофита и рума"?
Alexandr
эти модели используются в запросах с аннотациями ретрофита, наверно можно через них как-то
Mike
А как иначе?..
Что именно?
Nikita
Ребят, подскажите, как можно сделать конструкцию такого вида https://pastebin.com/1k3nEjix
Nikita
А это рабочий запрос?
это псеводокод того чего хочется добиться
Sergey
а...
Sergey
можешь через UNION делать
leksss
можно как то вьюхе прогрессбара программно задать расположение bottom?
⬤ vitaly
Что именно?
как без рефлекшена сериализовать объекты?) Не ну то есть оно понятно как, но какой подход в плане удобства будет настолько же эффективен?
⬤ vitaly
а почему ты не хочешь просто добавить в прогуард папку с моделями
так я о том и спрашиваю - как лучше?) Никогда им не пользовался
Alexandr
так я о том и спрашиваю - как лучше?) Никогда им не пользовался
ну как бы добавить туда одна строчка по факту
Аброр
всем привет, можете подсказать какой нибудь open source камеры, с настройками яркости, контраста и тд?
Yakov
Там просто у самых истоков адаптерДелегатов лежит омерзительная идея Map<Class<T>, T> и тайпчекинга, которая убивает возможность * использовать делегаты одного класса в разных конфигурациях, * использовать дженеричные делегаты. В качестве бонуса нет гарантии, что зарегистрированы все необходимые делегаты и нет ни одного лишнего.
Это все же лучше чем голые адаптеры, у этой библиотеке есть определённые кейсы для работ которые она упростит, если ты крут напиши свою или сделай форк и покажи как надо, просто говорить что либа говно только потому что она не поддерживает твой кейс это такое себе. По мне так библиотека покрывает 90% подробности.
Kopusha
А как иначе?..
никак, не бери в голову, правила в прогард это нормально. Плата за обфускацию. Главное проверь, что оно вообще запускается в релизной сборке )).
Viktor
Все доброго дня, нужна помощь. у меня есть RecyclerView, привязан, к низу другог view. на recyclerView я повесил слушатель, setOnToch. Он ловит свайп вниз вверх и в зависимости изменяет высоту view. Но проблема токова что, recycler больше не скролит и если обьекты не помещаются то просто обрезаются, как мне вернуть скрол после распознавания свайпа? заранее спасибо
Viktor
Viktor
⬤ vitaly
никак, не бери в голову, правила в прогард это нормально. Плата за обфускацию. Главное проверь, что оно вообще запускается в релизной сборке )).
я это понимаю, просто думал, что есть какая-то штука типа -NeNaebenivaiMoiModelkiDlyaSetevihZaprosov и всё, что руками можно докидывать, я, в принципе, представляю
Alexandr
и идти заваривать чай?
скока оперативы?
Alexandr
скока оперативы?
если быстро хочешь херани ему в gradle.properties org.gradle.jvmargs=-Xmx2048M -XX\:MaxHeapSize\=32g или 4096 или 8192 и т.д.
Kopusha
причём тут оператива, это просто глупо. Хз, можно и UI тесты позапускать, каждый раз, когда букву в коде поменял. Ну, чтоб наверняка.
S
Где выкладывают платные библиотеки ? Как Google Play только для aar и jar
Viktor
Все доброго дня, нужна помощь. у меня есть RecyclerView, привязан, к низу другог view. на recyclerView я повесил слушатель, setOnToch. Он ловит свайп вниз вверх и в зависимости изменяет высоту view. Но проблема токова что, recycler больше не скролит и если обьекты не помещаются то просто обрезаются, как мне вернуть скрол после распознавания свайпа? заранее спасибо
Kopusha
я не уверен насколько этот прогард распаралеллен, имхо там больше проц шуршит... причем долго. И потом у тебя дебаг сборка с бесполезными логами? Какой в ней смысл? Загружать маппинги каждый раз? Странно это.. Для тестовой сборки еще ок, но не для разработки же.
Igor
А почему AS Canary 3 может не показывать “Build Speed” ? Там версия плагина какая-то должна быть конкретная или гредла?
Kopusha
ты про ту новую фичу, типа gradle scan? Они не зарелизили ещё
Alexandr
я не уверен насколько этот прогард распаралеллен, имхо там больше проц шуршит... причем долго. И потом у тебя дебаг сборка с бесполезными логами? Какой в ней смысл? Загружать маппинги каждый раз? Странно это.. Для тестовой сборки еще ок, но не для разработки же.
я хз про параллельность, но студия для билда выделяет по дефолту 1024, этого часто не хватает если проекты большие, там gc overheed limit ловится или долго билдятся, выделение большей памяти помогает
Kopusha
интересно, чем заменят координатор в compose
Kopusha
хотели как лучше, получилось как всегда, потом были слухи, что депрекейтнут в пользу моушена.. Но есть шансы, что моушен сам сдохнет не родившись))
Сергій
в MotionLayout слишком много xml )
Сергій
туда ему и дорога
Kopusha
в туториалах координатор выглядит хорошо, потом быстро оказалось, что шаг в сторону — бихейвор фиг напишешь, надо расширять сам координатор, а это, как говорится, держитесь там.
Сергій
я писал свои behavior, вроде не сложно было
Nick
Ребят, подскажите пожалуйста c Rx'ом, ибо я в нем очень силён Есть ViewModel в которой идет запрос в репозиторий Код вьюмодельки disposable = messagesRepository .newMessage(threadId, validateField(content), images) .observeOn(Schedulers.io()) .subscribeOn(AndroidSchedulers.mainThread()) .subscribe(......) И следующий код в репозитории fun newMessage(параметры): траляля { val imagesNew = compressImages() // и вот данная часть кода выполняется в мейн потоке return api.newMessage(threadId, contentPart, imagesNew) .subscribeOn(ioScheduler) .observeOn(mainThreadScheduler) } Вопрос, почему данный фрагмент кода выполняется в мейн потоке?
Vadim
Добавил себе debug версию debug { applicationIdSuffix ".debug" debuggable true } и сразу выдало ошибку после Sync'a ERROR: Library projects cannot set applicationIdSuffix. applicationIdSuffix is set to '.debug' in build type 'debug'. Affected Modules: smandarine-library
Kopusha
кто-то пишет UI тесты? Что-то накручиваете поверх espresso?
Ivan
Друзья, а есть какой-то способ сделать так, чтобы Flowable эмитил только новые или обновлённые объекты из БД, а не все, когда в базе что-то обновилось? Пока только придумал на уровне репозитоиия хранить последнюю выдачу из БД, как только БД заэмитит весь список, в .map сравнить последнюю выдачу с новой.
Mike
Щас бы через Flowable данные из БД эмитить.
Щас бы критиковать не предлагая альтернатив.
Alexander
а через что щас эмитят?
Давай на Observable поменяем
Kopusha
.distincstUntilChanged или как там его, не оно? Если equals у моделей правильный, должно сработать
Alexander
А лучше Single<List<Data>>
Alexander
А хотя не, это из другой предметной области
Ivan
.distincstUntilChanged или как там его, не оно? Если equals у моделей правильный, должно сработать
оно чуть для другого. оно по hash коду сравнивает, что списки разные и всё. а мне бы саму разницу получить
Denis