Anna
что-то такое делаете? if (ExoPlayerVideoHandler.getInstance().getPlayer() != null && eventListener != null) { ExoPlayerVideoHandler.getInstance().getPlayer().removeListener(eventListener); eventListener = null; } ExoPlayerVideoHandler.getInstance().stop();
Anna
какие колбеки листенера отрабатывают когда звук остаётся? может еррор там? можно ещё с помощью стейтов отследить что с ним происходит. какие стейты? типа Player.STATE_ENDED
Anna
так а листенер ремуваете?
Anna
похоже что проблема в обращении с екзоплеером
Anna
а если стопнуть? дорого каждый раз его релизать (если я правильно понимаю... )
Anna
ну кастомные требования = кастомные решения..
Kotor
Как сказать gson чтобы он только парсил если в получаемом json есть значение в определённых полях или не null
Вениамин
Доброго времени суток! При разработке возник вопрос по архитектуре. Обычно (как я понимаю) в Fragment создаем ViewModel, подписываемся на поля и потом реагируем на какое-то событие в Fragment. Но если у нас есть RecyclerView, мы передаем лист данных и обрисовываем их. Вопрос: mBinding.routeRecycle.setAdapter(listOfRouteAdapter); мы все также вызываем во фрагменте? Также подписываемся на поля и просто потом передаем лист данных в адаптер? Или мутим эту логику в вью модели?
Arsen
во вью
Vadim
Как можно скрыть одну большую картинку и показать другую в одном фрагменте с красивой анимацией ? что-то типо shared transition но в рамках одного экрана ? Как загуглить?
Arsen
https://developer.android.com/training/transitions
Almas
что происходит с запросом отправленный через retrofit,скажем если пропало соединение и ответ не вернулся?он где-то весит?
Arsen
таймаут иксепшин будет
Nick
Доброго времени суток! При разработке возник вопрос по архитектуре. Обычно (как я понимаю) в Fragment создаем ViewModel, подписываемся на поля и потом реагируем на какое-то событие в Fragment. Но если у нас есть RecyclerView, мы передаем лист данных и обрисовываем их. Вопрос: mBinding.routeRecycle.setAdapter(listOfRouteAdapter); мы все также вызываем во фрагменте? Также подписываемся на поля и просто потом передаем лист данных в адаптер? Или мутим эту логику в вью модели?
Расскажу как у меня Есть: 1) Фрагмент 2) Адаптер 3) Вьюмодель (ВМ) Во ВМ есть поле со списком, который должен отрисовываться В адаптере есть поле list, на основе которого адаптер и строит ресайклер Так же там есть метод setList(val myList: List<MyModel>), который обнуляет старый лист и заполняет новыми данными В фрагменте сеттим адаптер, подписываемся на изменение поля в ВМ, обновляем адаптер через метод setList -> Profit
Arsen
если и-нет пропал явно, то сразу выкинет IOException
Arsen
ну или какой-то из его чилдов
Almas
если и-нет пропал явно, то сразу выкинет IOException
Может знаешь в чем дело? делаю стандартный rx contentRepository.getCustomers(allData) ?.observeOn(AndroidSchedulers.mainThread()) ?.subscribe(::onClientsFetched) { onError(ClientException(it.message)) }?.addTo(disposables) Откуда он просто идет в retrofit ,после отключение интернета или потери связи, уничтожаю очередь,disposables.clear() ,но после возобновление интернета запрос отправляю еще раз,не приходит ответ fetched,возможно ли что ,то что отправил до потери связи,где-то забилось?и держит очередь
Arsen
типа unknown host
Arsen
точно не помню, проверь чтобы очищенный диспозабл можно было реюзать
Almas
точно не помню, проверь чтобы очищенный диспозабл можно было реюзать
то есть я вновь его заполняю,запросы уходят и не приходят ,после лоста соединения
Arsen
а зачем ты вообще очищаешь? Когда Ретрофит кидает исключение, это значит, что запрос уже завершился
Arsen
неудачно)
Arsen
клир нужен, когда покидаешь экран "окончательно", т.е. уже не важен результат.
Almas
а зачем ты вообще очищаешь? Когда Ретрофит кидает исключение, это значит, что запрос уже завершился
по сути это мало что меняет ведь,я ведь по сути новый dispos и набиваю его очередю ,запросами которые не выполнились
Anna
покажите хелпер в гист
Arsen
по сути это мало что меняет ведь,я ведь по сути новый dispos и набиваю его очередю ,запросами которые не выполнились
всмысле "котороые не выполнились"? На каждый запрос нужно создавать новый обсервер
Anna
public void stop() { if (player != null) { player.stop(); player.release(); resetURI(); } }
akaWolf
непохоже на gist
Arsen
гист на минималках
Anna
непохоже на gist
вы - админ или модератор?
akaWolf
ни тот ни другой
Mike
непохоже на gist
А почему должно быть?
Влад
печеньки есть?)
Hasan
покажите хелпер в гист
https://github.com/eneim/toro/blob/705baa31f4469a0b5bea86d9eb109021002f6790/toro-exoplayer/src/main/java/im/ene/toro/exoplayer/ExoPlayerViewHelper.java
Влад
переходи, у нас есть)
Anna
https://github.com/eneim/toro/blob/705baa31f4469a0b5bea86d9eb109021002f6790/toro-exoplayer/src/main/java/im/ene/toro/exoplayer/ExoPlayerViewHelper.java
а если сделать pause() + release() то проблема со звуком остаётся?
Hasan
Постойте я не попробовал сменить видео после паузы. Сейчас попробую и скажу
Anna
Постойте я не попробовал сменить видео после паузы. Сейчас попробую и скажу
нужно новое Uri на видос. как вариант действительно extends сделать и дописать свою логику. смотрю лицензия позволяет :)
Anonymous
Ребятки подскажите плиз. Возникла необходимость перед закрытием активити пробросить данные. которые попадут в onActivityResult. Как это можно сделать?
Anonymous
код можно пробросить так setResult(RESULT_CANCELED);, а как данные кинуть
Сергій
setResult(code, Intent) finish()
Anonymous
setResult(code, Intent) finish()
даже так, спасибо)
Arsen
А почему должно быть?
потому, что попросили гист)
Mike
потому, что попросили гист)
Попросить можно и целый репозиторий ради одной строчки, это ж не обязывает)
Джадив
Джадив
Ребят, подскажите как можно реализовать такое?
Джадив
Каким View?
Anna
DatePickerDialog
Джадив
DatePickerDialog
Ок, спс
Arsen
Попросить можно и целый репозиторий ради одной строчки, это ж не обязывает)
язвительный комментарий про "несхожесть с гистом" тоже ни к чему не обязывает
Mike
Только останавливает видео и всё. смена не происходит
Можно позаимствовать сей чудо-код для своего доклада про антипаттерны?
Hasan
Можно позаимствовать сей чудо-код для своего доклада про антипаттерны?
Конечно. Этот код можно найти в любом сайте про эхо
Arsen
это похоже на автоконверт из жабы в котел, судя по точкам с запятыми в конце
Hasan
это похоже на автоконверт из жабы в котел, судя по точкам с запятыми в конце
нет просто у меня привычка от джавы точки с запятыми)
Arsen
х3, я сразу отучился от нее
Arsen
при том, что много на джаве отмотал
Hasan
х3, я сразу отучился от нее
Я просто не могу. ) пальцы сами делают ))
Mike
только укажите источник
какой? Ник из телеги?)
Arsen
Эхо Москвы? Сорян, не читаю его)
ну а если серьезно, то это круто, что Эхо Москвы поддерживает опенсорс библиотеку для работы с медиа)
Almas
подойдет.
Arsen
Roman
какой? Ник из телеги?)
у него нету ника 🙂
Mike
у него нету ника 🙂
ник есть, юзернейма нет)
Roman
ник есть, юзернейма нет)
да и ник пустой 🙂
Mike
да и ник пустой 🙂
нет, если ником называть first name
Arsen
пустой это void, а empty это уже бизнес ентити
Mike
нет, «ентити» (МФА: yentiti) — это когда проблемы с русским и английским языками одновременно
Tebalt
подскажите каким образом указать переменную устройства в ссылке ????
Arsen
новый слайд для доклада
Tebalt
" file:///mnt/sdcard/переменная/image.png" грубо говоря
Arsen
это URI