Сергій
но надо следать за утечками, да )
Ivansuper
Его на фон, а нотифай на главный поток
Ivansuper
Блин, что делать когда ты пытаешься скомпилировать обед, а кухня говорит couldnt resolve dependency "bread"
Ivansuper
И на улице грозища
Сергій
🌝
Ярослав
@desugar, на тебя вся надежда) почему, если в ViewModelProviders.of() передавать не фрагмент, а активити, то ViewModel пересоздаётся. так задумано, потому что такой подход предусматривает только общение между фрагментами (мол чтобы отправляемые данные не дублировались при рестарте), а не храниение данных, или это баг?
Ярослав
в прямом, если не лень, можешь прочесть сообщений 40 вверх:)
Ivansuper
в прямом, если не лень, можешь прочесть сообщений 40 вверх:)
А ты точно уверен, что у тебя ничего не мешает жизни фразмента и не толкает его на создание лишний раз из под активности?
Ivansuper
Или что-то подобное
Ярослав
должно работать и с активити, у мен 100% так, фрагменты общаются между собой через vm которая в активити, и данные не теряются
но тогда при рестарте последние отправленные данные дублируются. если конечно если оно не реконструктится как у меня. а дублирование предусмотрено? логично что у каждого фрагмента своя viewmodel где они хранят полученные данные, в т.ч и из "общего" viewmodel, котора выступает только в роли транзита меж фрагментами
Ярослав
А ты точно уверен, что у тебя ничего не мешает жизни фразмента и не толкает его на создание лишний раз из под активности?
проверил и перепроверил, зависит от того что я даю в of() в фрагменте, getActivity() или this
Ivansuper
Подожди. У тебя ViewModel вываливается, если в LifecycleOwner попадает активность? Я правильно понял?
Ivansuper
И в onCreate ты достаешь новый инстанс модели после смены конфигурации
Ivansuper
А второе сообщение мое?
Ivansuper
У меня особо багов не было с этими инструментами, но мне интересно тебя допросить потому что сам разбираюсь с ними сейчас
Ярослав
И в onCreate ты достаешь новый инстанс модели после смены конфигурации
в активите просто по КД всегда новый инстанс, в фрагменте, если of(getActivity), каждый рестарт новый инстанс, если of(this), тогда тот же с сохранённым в нём LiveData как и ожидается
Ivansuper
КД = ?
Ярослав
КД = ?
по КД = каждый раз
Ярослав
по КД = каждый раз
сори, геймерский слэнг)
Ivansuper
Вот и я про KD ratio подумал. Аккуратнее)
Ivansuper
Интересно
Ivansuper
Проверил
Ivansuper
Если вертеть экран, то модель сохраняется у активности
Ivansuper
Если поменять шрифт, летит к черту на рога
Ivansuper
Но, погоди
Yaroslav
Народ, как в MVVM правильно сделать ProgressDialog? При повороте екрана оно пропадает. var isLoadingProgress = MutableLiveData<Boolean>() Делал с помощью MutableLiveData, но работает не коректно.
Mike
Экрана.
Ivansuper
всё так))
Я начинаю находить некоторые непонятные поведения в коде активностей
Ivansuper
Сейчас еще пару итераций протестирую и смогу что-то вбросить сюда
Ivansuper
Короче
Ivansuper
Все модели, которые переживают смену конфигурации, сидят и ходят через onRetainNonConfigurationInstance
Ivansuper
Аналог onRetainCustomNonConfigurationInstance, который нельзя использовать
Ivansuper
Там же рядом есть функция doReallyStop
Ivansuper
В FragmentActivity
Ivansuper
Проблема в том, что когда меняем шрифт и возвращаемся в активность, нам прилетает сюда
Ivansuper
Ivansuper
Заметьте — retaining = false
Ivansuper
Ivansuper
А теперь
Ivansuper
Ivansuper
Нет привет вентилятор книга
Ivansuper
Соответственно, все модели летят кто куда
Ivansuper
При поворотах экрана этого сигнала нет
Ivansuper
Проблема в том, что, судя по коду, поле mRetaining было введено как раз вместе с ViewModelStore, и я немного не понимаю зачем принудительно скрытно вычищать модели для избранных смен конфигурации
Ivansuper
Поворот экрана работает нормально
Ivansuper
Смена шрифта — все модели нафиг
Ivansuper
Судя по сообщениям Ярослава, модели теряются только из под активностей
Ivansuper
За фрагментами закрепляются отлично
Ivansuper
А где его ж взять то?
Konstantin
Если у меня строка собирается из разных других константных строк - могу ли я как-то в студии увидеть сразу результат? String WORLD = "world"; String a = "Hello" + " " + WORLD; Увидеть сразу как-то Hello world
Ivansuper
Смена шрифта была упомянута — ее и проверил
Konstantin
По Alt+Enter есть действие для этого
Там скопировать результат.
Ivansuper
Сейчас лишний раз проверю поведение фрагментов
Ivansuper
Подождите минуту
Ярослав
Смена шрифта — все модели нафиг
ничё не понимаю, создал новый пустой проект (только java, без котлина), там модель от активности не убивается.
Ivansuper
1 активность на весь проект
Ivansuper
Удаляются
Ivansuper
Вывод: Котлин не нужен 😁
У меня котлина нет))
Mike
значит, точно не нужен :D
Ярослав
Ivansuper
Лямбда есть
Mike
а метод референсы?
Ivansuper
Ват?
Mike
а дефолтные методы?)
Ivansuper
Референсы использую тоже
Ivansuper
Значит не нужны =(