Vlad
что-нибуть в таком направлении:
public <T> void execute(@NonNull Observable<T> source,
@NonNull Consumer<T> onSuccess,
@NonNull Consumer<Throwable> onError) {
compositeDisposable.add(source.subscribeOn(io)
.observeOn(ui)
.subscribe(onSuccess, onError));
}
Алексей
а зачем? subscribeOn делает источник данных обычно, observeOn - получатель, compositeDisposable не всегда нужен
Алексей
Если какую-то группу операторов вы хотите всегда вместе переиспользовать - вам нужен Transformer и .compose()
Ruslan
Подскажите плз, как можно удобно инкапсулировать работу с Rx в отдельный класс? Чтоб просто передавать в него source(single, observable etc.), и консьюмеры onSucces/onError, и не париться извне о настройках типа выбора schedulera или добавления в compositeDisposable.
я между презентером и сервисом добавил прослойку, некоторые называют ее интерактором, которая получает консьюмеры и ходит в сервис за результатами, передавая их консьюмерам.
Но я не для инкапсуляции сделал, а чтобы эти сетевые запросы были в одной куче, типа выделить их логику из презентеров (а то презентеры по 400 строк уже многовато, имхо)
fun getEvents(
onError: (Throwable) -> Unit,
onSuccess: (List<EventItem.Event>) -> Unit
) {
compositeDisposable += service.getEvents()
.zipWith(service.getPlaces())
.map { getZippedEventsWithPlacesList(it) }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.retry(3)
.subscribe { list, error ->
if (error != null) {
onError(error)
} else {
onSuccess(list)
}
}
}
Vlad
проблема с которой я столкнулся еще, что нет у источников общего предка или интерфейса, для каждого отдельно перегружать метод нужно
Vlad
думал мб есть какие-то элегантные решания
Fr
Помоги, подскажите. Я уже весь мозг сломал. Почему не грузит картинку с url по редерикту в webview?
Ruslan
думал мб есть какие-то элегантные решания
если у вас все запросы настолько одинаковые, то да - получится супер элегантно.
Но у меня так выходит, что все время надо либо что-то мэпнуть, либо зипнуть, либо еще кучу действий по пути сделать. и цепочкой subscribeOn(io).observeOn(main).subscribe() не отделаешься
Artem
Такое чувство, что группа называется Битва Экстрасенсов
Artem
Влад
Fr
Влад
а
Влад
не много работал с webview, не могу сказать
Alexey
--------
Сделал класс - менеджер, для запроса и проверки Permissions. Хочу ловить запросы пермишенов в onRequestPermissionsResult (какая-то тупая логика, но как-то так), но делать это во фрагменте, из которого их запросил. Каким образом мне вызвать requestPermissions фрагмента из отдельного класса
Artem
Алексей
--------
--------
это нормальная практика? Если, например, в конструктор запихну?
Алексей
если ваш менеджер живёт меньше или столько же, сколько фрагмент - почему нет.
--------
прикольно, ща попробую, спасибо
Алексей
Алексей
если хотите синглтон, фрагменты подключать и отключать во время жизни менеджера.
--------
спасибо, понял
Кирилл
Подскажите пожалуйста стоит ли записывать на курс в skillbox?
Roman
Кто-нибудь знает, если определить в стиле background, а потом применить его на элемент в вёрстке через style, будет ли Overdraw стандартной темы, или там всё грамотно разруливается?
Kozimjon
Salikh
Привет, народ, кто-нибудь работал с впн клиентами? Если например есть сервер, достаточно просто реализовать VpnService с данными сервера и запускать службу?
Roman
Konstantin
а можно как то в горизонтальном рецыклере с linear менеджером сделать одинаковую высоту элементов? есть такое из коробки чтонибудь? каждый из них с разным объемом контента
Roman
Kozimjon
Roman
Что ты хочешь сделать?
Красить вьюшку только один раз. В стандартной теме есть цвет, и когда в верстке используется ещё один цвет фона, то производятся лишние вычисления
0145
Всех приветствую. Можно ли как-то поднять vpn соединение в приложении, без использования сторонних?
Roman
Kozimjon
Ruslan
Коллеги, подключили яндекс-карты к проекту, +20Мб к размеру apk файла, при том, что подключили бесплатную базовую версию просто чтобы отображать события на карте.
Надо смириться с этим фактом и уходить к гуглу за меньшим apk? Или можно что-то сделать?
Sergey
Всем привет. Подскажите как удалить файлы с SDcard. через adb спокойно работает, через приложение карта доступна только для чтения. Permission WRITE_EXTERNAL_STORAGE есть но он работает только для внутренней памяти устройства
Sergey
API 24, Насколько я понял надо разрешение WRITE_MEDIA_STORAGE, но студия ругается что это только для системных приложений
Mikalaj
Ruslan
Konstantin
Konstantin
а так да, весит дохуя
Mikalaj
Ну вот и ответ) Посмотрите в апк архиве сколько весят под платформу
Если не подходит, выбрасывайте
Если лениво, то для распространения юзайте апп бандл, он вроде всё разрулит с нативными либами
Если не лениво, то собирайте под каждую платфому
Ruslan
Artem
Всем привет!
есть fragment в котором находится яндекс карта и CoordinatorLayout Behavior, проблема в том что не обрабатывается нажатие на карту(longTap) или же на сам маркер (что бы показать детали заведения), когда нет behavior - все работает. Читал, что bahavior перехватывает касание, вот как решить эту проблему пока не ясно. Никто не сталкивался? Есть какие-то идеи?
Viktor
Как в RxJava выполнить два запроса последовательно когда второй зависит от первого и что бы когда второй завершился была возможность использовать данные из первого?
Артём
flatmap
Viktor
flatmap
а где потом данные из первого запроса взять?
⚡️Мухамед
Хелп ми плиз
Есть программа с возможностью совершения покупки - как реализовать саму покупку(я никогда с этим не сталкивался) желательно платежными системами paybox или если кто из Кыргызстана то элсом?
Сергей
Сергей
Ну и в 19 году приложение меньше 100мб апк можно считать легким
The The
коллеги, с этим можно что-то сделать? в конце концов, видео таки показывается
Bohdan
Господа, а не подксажите сделал кастомизацию SeekBar но как то получился с обводкой не подскажите как пофиксить?
Bohdan
Anonymous
Bohdan
Aleksey
Привет! Какие есть способы исследования проблем в приложении на проде, если в тепличных условиях воспроизвести никак?
Собираем логи с устройства в собственный сервис. Может, подскажете какие-то лучшие практики по формированию этих логов?
Artem
Roman
Sergey
это норма
Aleksey
Crashlytics
А что там? Просто исключения сыпать? Сомнительная помощь)
Roman
это норма
Нет, это не норма, а какой-то баг с мультиплатформой, не знаю, кае фиксить. Раза три в день градл есть всё что видит и ничего не делает (прямо как я на выходных), приходится вырубать процесс джавы. Никто не сталкивался?
Sergey
перезапуск иде
Aleksey