Stanislav
только если в atomicReference/ volatile + lock
Да, про volatile не уточнил
Andrey
Ребят, такой вопрос, как можно повесить анимацию удаление из viewpager?
Mihail
А кто подскажет по admob. У меня приложение отклонено от обновления по причине того, что не стоит галочка COPPA. Но если ее поставить то баннеры в этом приложении мне возвращают ошибку "no fill ads". Так как у admob нет рекламы которая соответствует COPPA. Кто то уже смог с этим разобраться?
Anonymous
Какая лучшая монетизация сейчас для Андроида?
Tishka17
Самсунг неплохо монетизирует
Даниил
Приветствую. Решил использовать Conductor + Moxy. Вот реализация https://gist.github.com/infraymer/ Дело в том, что после поворота экрана viewState не вызывается
Даниил
Чего ты ожидал, а что произошло по факту?
На экране TextView и Button. Нажатие на кнопку вызывает метод в Presenter. В этом методе вызывается viewState.setText(‘’some_text’’), который меняется текст TextView
Глеб
Отлично, в бинарник компилировать лучше через NDK, чтобы нормально поддерживалось устройствами?
В теории - по фигу, arm - он и в африке arm, (там может быть вообще android-о не зависимый линуксовый код) ... 🤔... но на практике... по факту... надёжней под android - компилить android - тулзами 😁👍
Volodymyr
Привет, подскажите как можно классы что находятся в CorruptionReports вытянуть в список?
Volodymyr
Влад
https://firebase.google.com/docs/database/web/read-and-write
Sergey Mitrofanov
Ребят, может сталкивался кто с такой проблемой. Я вот кеширую Flowable и выдаю его все новым подписчикам для подписки через .replay(1).refCount() Новые подписчики всегда получают последнее пролетавшее значение, все гуд. Когда возникает ошибка, то все ее получают, тоже норм. Но вот после ошибки новые подписчики не получают вообще ничего. Ни значения, ни ошибки, ни комплита. код: ublic Flowable<Tweet> getTweets(boolean reset) { if (tweetsFlowable == null || reset) { tweetsFlowable = loginReceiver.get() .toFlowable(BackpressureStrategy.BUFFER) .startWith(socketGateway.openSocket().toFlowable()) .switchMap(channelId -> gateway.getState(channelId)) .replay(1) .refCount(); } return tweetsFlowable; } Суть проста, loginReceiver всегда отдает логин, ошибок никогда не дает (хранилище в памяти) потом есть сокетгейтвей (Completable, открывает сокет) и «просто» gateway, который уже слушает топик в сокете, и передает, все что в него входит. В данном случае приходит ошибка 401 от сокетгейтвея, но получают ее только те, кто был в этот момент подписан, а все последующие ничего не получают. Уже с десяток разных тестов накидал, включая интеграционные - все работает как надо. После ошибки новые подписчики, как и положено, получают ту самую ошибку. Запускаю на девайсе, на двух (JB и Oreo) - тишина. Ни onNext, ни onError, ни onComplete. Только onSubscribe стабильно вызывается. Этот факап полдня уже съел =(
Sergey Mitrofanov
Да, пробовал и без шедуллеров тоже, и с шедуллерам - один фиг…
Sergey Mitrofanov
и .share() кстати тоже пробовал - та же фигня
Sergey Mitrofanov
Придется пхд костыль ставить - кешировать ошибку в переменную, и если она есть, то тупо возвращать Flowable.error(error)…
Глеб
Чёт не понял, NDK это не андроид тулза?
билд система.. ок... тулчейн... не суть
Глеб
))
Глеб
имеется ввиду "от производителя")
Stanislav
имеется ввиду "от производителя")
Стало ещё менее понятно, NDK от Гугла же. Есть какие-то свои тулзы, чтобы компилять код под конкретного производителя? Вроде всегда собирал под конкретные архитектуры
Глеб
Стало ещё менее понятно, NDK от Гугла же. Есть какие-то свои тулзы, чтобы компилять код под конкретного производителя? Вроде всегда собирал под конкретные архитектуры
сошки, бинарные исполняемые файлы и проч с++ дев - может быть собрано на чём угодно, и как правило на чём угодно и собирается))) (если говорить о c-разработке)
Глеб
Мы ток совсем не давно пришли к тому что б на "обще принятом" cmake собиралось.... Буквально с последних 16-17 ндк До сих пор - ndk имели свой cmake - он как бы симейк и как бы несимейк))) там оказывается ниньзя без палева вшита и проч прелести)
Глеб
да, там жесть была
Да, да - вот люди кто знает, сталкивался - подтвердят))) 👍
Anonymous
ребят, сорри за глупый вопрос, но .idea же не должно быть в репозитории?)
Anonymous
Нет
спасибо
Dmitrii
Есть tabLayout c 4 табами (1, 2, 3, 4). При открытии таба №3 начинает рендериться таб №4 в котором есть recyclerView. При переходе на таб №1 или таб №2, у таба №4 вызывается onStop(). При вновь открытии таба №3, у №4 вызывается onViewCreated и снова рендерится recyclerView. Переход с таба №2 на таб №3 получается с небольшим лагом, из-за того, что в этот момент начинает отрисовываться список на табе №4. В каком направлении двигаться, чтобы победить такой "лаг"? Данные списка кэшированы.
Dmitrii
Это не лаг. Смотри свойство offscreenPageLimit у viewpager
Нет плавности перехода между двумя табами, тут подлагивает, а не то, что фрагмент в onStop уходит
Dug
Поставь больше это тот параметр
Dmitrii
Поставь больше это тот параметр
Тогда в памяти придется держать кучу всего, что в данный момент не нужно пользователю.
Dmitrii
как вариант, откладывать инициализацию, если !userVisibleHint
Тогда рендер будет проходить на глазах пользователя?) Есть ли возможность что-нибудь сохранить в bundle и потом восстановиться без пересоздания rv, или фрагменты так не работают? Так-то фрагмент не уничтожается.
Mike
Dmitrii
как вариант, откладывать инициализацию, если !userVisibleHint
Да, отложить на короткий промежуток, а не навсегда, выглядит лучше, спасибо :)
Dmitrii
@Harmonizr, если в onCreateView сохранять view внутри фрагмента, если view еще нет, иначе возвращать сохраненное view. По поведению, работает хорошо, эквивалентно ли это тому, что я увеличу offscreenPageLimit для viewpager?
Dmitrii
При дефолтном поведении элементы в recyclerView биндятся снова. При ручном сохранении, не возвращая новый inflater.inflate, у элементов не вызывается onBindViewHolder, отображается предыдущее состояние, когда уходили с фрагмента, исследуя логи.
Мумитроль
Хотя может вам бы решать проблему лага?
Dmitrii
Хотя может вам бы решать проблему лага?
Полагаю, что лаг возникает из-за одновременного переключения фрагмента и биндинга элементов списка третьего фрагмента. Не переключать фрагмент - плохо, не отображать элементы списка - тоже плохо. Тут как предложили, либо увеличивать offscreenPageLimit, либо отрисовывать список с задержкой.
Vladimir
Дак во вьюпейджере для этого игрузятся фрагменты заранее чтобы свайп был без лагов
Vladimir
Поэтому да или анимация или заранее грузить
Dmitrii
@DmitriyMitrofanov, "Фрагменты с анимацией перехода" - что имеется ввиду, самому реализовать поведение viewPager или изменить UX? Думаю, bottomNavigation справлялся бы лучше с этой задачей)
Дмитрий
@DmitriyMitrofanov, "Фрагменты с анимацией перехода" - что имеется ввиду, самому реализовать поведение viewPager или изменить UX? Думаю, bottomNavigation справлялся бы лучше с этой задачей)
Ну я обычно забиваю на анимацию переходов. Возможно ли в вашем случае забить или нет - не знаю) А так да, bottom navigation лучше, чем recyclerview с большим количеством элементов во вьюпейджере
Dmitrii
Анимация штука красивая, привлекательная. Есть много различных базовых примеров по shared element fragment transition о том, как при тапе на картинку из грида, она разширяется и переходит в полноэкранную галерею. Посмотрел недавно лекцию по фрагментам от академии Яндекса, там отказались от такого перехода в Яндекс.Диске, у них при тапе на элемент грида открывается новая активити с галереей, чтобы память не переполнилась от изображений, со слов лектора.
Dmitrii
Реальный такой кейс? Звучит сомнительно.
Daniil
У меня одного от слова яндекс пятая точка подгорает?
Daniil
Судя по тому как рабоет поиск, и другие их сервисы такие как такси или новости
Daniil
у меня сложилось впечатление что там работают одни бездельники
Daniil
Не хочу кого-либо оскорбить или расстроить своими словами
Daniil
Но уверен что гугл сервисы работают на несколько порядков лучше.
Mike
Но уверен что гугл сервисы работают на несколько порядков лучше.
ИМХО, у Яндекса лучше карты, у Гугла — поиск.
Daniil
Да и вообще кто я такой, чтобы так говорить.
Daniil
Извините просто подгорело немного
Dmitrii
У Яндекса мне навигатор больше нравится, чем карты от Гугла
Daniil
Можешь перечислить то, что тебя не устраивает в гугл картах и навигации по ним?
Daniil
просто на вскидку пару моментов
Mike
Daniil
У яндекса карты в России лучше, детальнее. Хорошо, понял.
Daniil
Можно вопрос?
Daniil
Посоветуйте источник где можно посмотреть хороший пример rrs-приложения
Daniil
Те что я загуглил предлагают работать через асинктаски и архитектура какая-то не внятная до конца. А асинктаски использовать с вебом плохая затея
Daniil
на сколько я помню
Mike
rrs — это что?
Daniil
rrs рассылка новостей сайта в формате xml
Mike
RSS?
Дмитрий
может rss?
Daniil
да точно, опечатался
Mike
ну, сделать не через асинктаски)
Дмитрий
Что такого "особенного" в rss, чего нет в обычных примерах работы с сетью?
Mike
Вообще, RSS не предоставляет способа подписаться на обновления. RSS-ридеры тупо долбятся в XML-ку с определённой периодичностью, что очень плохая затея.
Daniil
Да это более менее понятно. Единственное что xml парсер какой-то динозавр огромный