У меня есть DAO, который возвращает это:
@Query(value = "SELECT * FROM users")
fun getUsers(): LiveData<List<User>>
Мне нужно наблюдать это и преобразовывать User
объекты в People
объекты.People
не реализует и не расширяет User
, но у меня есть метод, который может конвертировать их.Это требование я не могу изменить.
fun convert(user: User): Person {...}
Вот как я пытаюсь наблюдать данные.
class UserViewModel : ViewModel {
private lateinit var people: MutableLive<List<People>>
init {
db.getUsers().observe(this, Observer { userList ->
if(userList != null)
// here I need to do some sort of transformation.
}
}
// what activity will observer
fun getPeople() : MutableLive<List<People>> {
return people
}
}
Так что я бы хотел, чтобы Activity
мог наблюдать people: MutableLive<List<People>>
и не знал, что этотрансформация происходит.
Пожалуйста, помогите.