Как одновременно записать модель в room и получить ее во view?
Получаю модель с помощью retrofit, записываю в базу данных и сразу хочу получить во view, выходит ошибка null т.к. функции записи и чтения запускаю одновременно. Решил с помощью delay(1000), но как сделать правильно? Если будет плохое интернет-соединение, то одной секунды не хватит... Хотелось бы узнать как вообще принято в разработке, обязательно записывать в бд и получать от туда, или можно напрямую из ретрофита передать во view если речь не о списке, а об одной модели?
Dao:
@Query("SELECT * FROM movie_table WHERE id = :id")
fun getMovie(id: Int): LiveData<MovieDbModel>
Ошибку получаю в репозитории, когда пытаюсь трансформировать LiveData модель бд в LiveData модель UseCase:
override fun getMovie(): LiveData<MovieUseCaseModel> {
return Transformations.map(localDataSourceRepository.getMovie(1)) {
mapper.mapMovieDbModelToMovieUseCaseModel(it)}
}
java.lang.NullPointerException: it must not be null
at com.example.kplist.data.repositoryImpl.RepositoryImpl.getMovie$lambda-3(RepositoryImpl.kt:86)