Jamal
Jamal
почему красненькие ?
Сергій
почему красненькие ?
Не добавил в гит
Egor
в гит не добавлено
Kanstantsin
или свн )
Kanstantsin
хотя может уже и никто не работает с свн )
Jamal
аааа
Jamal
точно
Jamal
спасибо
Anonymous
или hg
Denis
по поводу Doze, foreground service не всегда панацея проводили эксперимент, fg сервис получал координаты раз в n секунд, и отправлял их на сервер раз в m минут так вот когда телефон положили на стол и благополучно о нём забыли на время, никаких обновлений локации и отправки в эти часы не было когда взяли телефон с собой (т.е. он начал движение), и обновления локации и отправка возобновились
Dug
Поэтому надо юзать JobDispatcher наверное
Ivansuper
Ребят, есть люди, которые пережили определенный опыт с ViewHolder и LiveData?
Сергій
Вернее тротлит
Ivansuper
Ой
Ivansuper
ViewModel
Ivansuper
(голова пухнет)
Mike
Ребят, есть люди, которые пережили определенный опыт с ViewHolder и LiveData?
Я пережил 5 минут чтения исходников и 5 документации, это считается?
Ivansuper
Фиг его знает. Я встрял с мультитиповыми списками и подходом, который предлагается при использовании ViewModel и LiveData
Anonymous
А что там? то есть надо во ViewHolder провести ViewModel и LiveData или что?
Ivansuper
Допустим, если ты хочешь отобразить список цветов, который берешь из БД, то проблем нет. Но если ты хочешь в одном списке подтянуть категорию цветов, цвета, категорию текстур, текстуры, etc.
Ivansuper
Если оставить на совесть активности или фрагмента собирать эти данные для пополнения списка нормального, то чем больше типов, тем больше активность раздуется
Ivansuper
Иначе ViewModel пухнет раковой опухолью от другой логики подготовки данных и перемешивается с работой адаптера
Ivansuper
Можно подойти с той стороны, что список будет пополняться частями по мере доступностей категорий, но хотелось просто получить все данные сразу
Anonymous
Можно в список пихать один класс в котором цвета, текстуры итд, и во вьюхолдере решать как отображать
Ivansuper
Я думал об этом — подождать во ViewModel все вместе, вернуть LiveData<Object> и проверять тип объектов данных, на основе чего собрать адаптер
Ivansuper
Но тыканье вслепую в чистый Object выглядит уныло
Ivansuper
Если попытаться отойти от чистого Object, опять навевает каким-то overengineering'ом
Mike
sealed class в Kotlin
Ivansuper
Не котлин
Mike
а вообще, что-то я ещё не видел гетерогенных списков без говнокода
Ivansuper
sealed class в Kotlin
Это те, которые позволяют иметь типизацию из ограниченного набора вариантов или что-то такое?
Ivansuper
а вообще, что-то я ещё не видел гетерогенных списков без говнокода
Вот и я ринулся постигать использование этого инструментария не в совсем примитивных задачах. И что-то как-то пока не "super beautiful"
Ivansuper
Видел в некоторых местах описания с логикой каждому View свой ViewModel. По итогу на каждый тип элемента списка падает свой ViewModel, а само окно с интерфейсом держится на отдельном ViewModel
Ivansuper
Но это уже своего рода оверхед
Ivansuper
Разве что для громоздких приложений
Mike
Но это уже своего рода оверхед
оверхед == накладные расходы
Ivansuper
оверхед == накладные расходы
В общем тебе пока не попадались многотиповые списки под соусом из ViewModel и LiveData?
Ivansuper
Окей
Ivansuper
Ребят, если кто-то прочтет и будут идеи — стучитесь в ЛС
Mike
Ребят, если кто-то прочтет и будут идеи — стучитесь в ЛС
ну, не выглядит как понятный открытый вопрос, а проблема существует и вне ливдаты
Ivansuper
Проблема с абстрагированием View от ViewModel, в частности стремление избавить ViewModel от работы с адаптером и атомарная ( ? ) подготовка списка с разными типами
Ivansuper
Понятен факт, что в 80% мобильные приложения разрабатываются без последующих обязательных задач по их портированию, что допускает подтекание одного слоя архитектуры в другой в виду отстутствия требования жесткой абстракции для легкого переноса на другие платформы, но просто ищу максимально элегантный подход
Max
как можно деобфусцировать firebase классы, что-бы посмотреть в каком месте там возникает ошибка?
Ivansuper
Это просто рассуждение. Например написать код так, чтобы можно было бизнес логику легко перенести на iOS или тот же Windows (махнул, но тем не менее)
Mike
я чаще встречал, что размазывание логики по слоям непонятного назначения только ухудшает понимание и допиливание
Ivansuper
Ладно, нужно поесть. Авось идеи придут.
Max
Разве что попросить у гугла маппинг-файлы
значит расшифровать эту штуку шансов мало? https://pastebin.com/eBLeeLAD
Ivansuper
Но, кстати, если честно, сведение данных от нескольких LiveData средствами из коробки намного более неудобное чем с использованием RxJava. По крайней мере мне так показалось вчера ночью
Сергій
значит расшифровать эту штуку шансов мало? https://pastebin.com/eBLeeLAD
даже если деобфусцировать, что это тебе даст?
Сергій
просто попробуй обновить библиотеку firebase(или наоборот)
Ivansuper
значит расшифровать эту штуку шансов мало? https://pastebin.com/eBLeeLAD
Обычно я видел репорты на гугл форумах с указанием точной версии фаербейза и стеком. Стаф гугла если увидит, то сможет сам посмотреть что там и даст ответ (в лучшем случае). Но это займет время
Max
даже если деобфусцировать, что это тебе даст?
мы юзаем либу для пушей от каких-то чуваков падает на андроид 8+ при получении этого пуша не могу ж я им скинуть тупо трейс и всё firebase стоит последний Спускал версию максимум до того момента как нужно дальше уже понижать версию гугл сервисов на продакшене понижать версию сервисов вряд-ли хорошая идея)
Max
я там рылся но без вменяемого трейса я хз где искать
Сергій
зачем либа для пушей? )
Max
я пришёл - так было)
Max
они типа умеют в вайбер слать)
Сергій
🙄
Max
ну мне так обьяснили почему именно они а не написать на cloud messaging
Max
потому что они умеют в рассылки в вайбер
Сергій
заведи им ишью
Max
тут где-то контакты были, напишу им так а то с каждым днём на oreo телефонов всё больше и крашей в итоге всё больше и больше)
Ivan P.
тут где-то контакты были, напишу им так а то с каждым днём на oreo телефонов всё больше и крашей в итоге всё больше и больше)
так использую стандартный сервис пушей, если версия андроида выше 7) пока не пофиксят
Nikita
Всем привет, был ли у кого баг с клавиатурой, которая отбражается после выхода приложения из бэкграунда (до этого делал requestFocus, при выходе из бэкграунда он не отрабатывает как и должен)
Anonymous
Из какого пакета, лучше использовать JsonObject?
Anonymous
org.json или com.google.gson
Anonymous
Опять ваш стеб)
Chriz
Всем ку, по архитектуре МVVM где лучше всего управлять фрагментами ?
David
Опять ваш стеб)
тут разница в том как и зачем вы делаете сериализацию
David
Опять ваш стеб)
нельзя так просто дать однозначный ответ
Ivan P.
Из какого пакета, лучше использовать JsonObject?
попробовать из одного пакета, если понравится, то оставить, иначе попробовать из другого пакета, если понравится, то оставить, иначе поискать еще)