Improving LiveData nullability in Kotlin
Не раздражало ли вас, что при объявлении
LiveData<Value> в Kotlin, вы все равно можете получить null в Observer или задать null значение через LiveData.value? Проблема заключается в том, что LiveData написана на Java и ничего не знает о системе типов в Kotlin и особенностях Generic. Исправить это через -ktx библиотеки не получится, так как надо переписывать LiveData на Kotlin или иметь спец аннотации для Java, чтобы обеспечивать совместимость.
В статье автор описывает не самое красивое решение, но эффективное - создание подкласса
MutableLiveData с полной поддержкой Kotlin.