положить в DataStore
C одной стороны, DataStore требует context и значит сохранять все надо из фрагмента, поскольку VM не должна получать контекст во избежание утечек и пр
А с другой стороны данные то надо сохранять именно из VM, Fragment вообще тут не причем.
как быть?
Спасибо, подумаю
не надо использовать androidviewmodel. привыкайте к тому, чтобы вьюмодель была слепа к андроиду
А инжект контекста в репозиторий - это норм?
Меня всегда радуют рекомендации писать под андроид без андроида :)
Инжектите уже в реализации датастора, а его экземпляр инжектике в репозиторий
Ориентацию на мультиплатформу)
ну я писал свой комментарий, опираясь на философию независимой вм) чтобы, например, тестами покрывать. это же не мвп где оба слоя друг с дружкой общаются)
Идем в любую вм, смотрим импорты. А там import androidx.lifecycle.LiveData Ой, всё. Вм знает про андроид. На помойку такую вм, однозначно.
Так вьюмодель в ui слое и лежит)
Но знать про андроид не должна. Логично, чо )))
ну, вы утрируете. вы же понимаете, что мой посыл был в том, чтобы придерживаться нынешних "бест-практис", но это не правило конечно. порою смотришь на телеграм, и думаешь - "а зачем вообще нужны все эти клины ваши"
Ну да, все через Даггер. но контекст получается надо провайдить - applicationContext?
а еще я удивляюсь тому, как моему приложению на работе нужно регулярно фиксить баги, ибо крашится то в том месте, то в этом. в то же время как телега, на моей памяти, ни разу не крашилась. какая та прокачанная канарейка походу там была
А на объекте датастора уже в репозиторие вызываете методы которые или принимают или отдают данные
Возможно там один большой трай кетч, я глубоко не смотрел 😂
Полагаю, что best practices - это здравый смысл в соблюдении best practices. Вон, дядя Боб топит за TDD - ну и что, многие тут тддят, потому что так сказал дядя Боб? А вот с клином и архитекторой никак не успокоятся :)
Народ просто никак разобраться не может с тем как тесты писать 😀😀😀
По моим наблюдениям, тесты пишутся ради тестов, т.е. ради % покрытия. И почему-то высокое покрытие никак не спасает от глюков. Удивительно.
Потому что юнит тесты в андроиде это оксюморон
Как бы это донести до мудрого руководства еще...
Обсуждают сегодня