С sealed class решение хорошее, сегодня испробую, но можете подробнее расписать про функцию конвертации? Можно пример как сконвертировать два дата объекта?
Не, я наоборот, считаю все замечания максимально ценными. Теперь мне понятно в каком направлении двигаться. А вообще больше хотелось рассказать не про mvvm а именно про связку технологий с использованием корутин. Мне эта тема тяжело заходила.
Это как в универе было: один препод тебе рассказывает подробно, по порядку материал, и по нарастающей увеличивает сложность, и ты все понимаешь, а другой с самого начала вываливает кучу непонятной хрени, и ты только к концу семестра, если повезёт, врубишься во все
Материал будет полезен тем, кто не очень хорошо знаком с mvvm-паттерном и котлиновскими корутинами.
Фишка в том, что, когда я изучал все эти используемые в статье компоненты, я постоянно натыкался на плохо раскрываемый для понимания материал. Поэтому постарался написать для людей «кто не очень хорошо знаком с mvvm-паттерном и котлиновскими корутинами», более развернуто и наглядно, как это все работает в связке. Статья и так получилась слишком длинная, для чего все это здесь? Я имею ввиду принцип IoC, преобразования моделей в разных слоях и пр. замечания из комментариев выше?
val Int.dp: Int
get() = ceil(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, this.toFloat(), Resources.getSystem().displayMetrics)).toInt()
val Float.dp: Float
get() = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, this, Resources.getSystem().displayMetrics)
Не знаю почему так, в мобильной версии все норм
Фишка в том, что, когда я изучал все эти используемые в статье компоненты, я постоянно натыкался на плохо раскрываемый для понимания материал. Поэтому постарался написать для людей «кто не очень хорошо знаком с mvvm-паттерном и котлиновскими корутинами», более развернуто и наглядно, как это все работает в связке. Статья и так получилась слишком длинная, для чего все это здесь? Я имею ввиду принцип IoC, преобразования моделей в разных слоях и пр. замечания из комментариев выше?
UPD он скорее всего пересоздает новые экземпляры вьюпэйджера и адаптера при каждом повороте, вот и сбрасывает)