сделать новые. Во вьюмодел делаю
viewModelScope.launch{
repo.deleteAll()
repo.insertAll(myObjects)
}
И оно не сохраняет значения (я проверял), но если сделать runBlocking, то все отрабатывает правильно. Такое ощущение, что оно изначально отрабатывает добавление, а потом уже удаляет записи
Как можно решить или продебажить?
Вероятно, нет
Бля, ну да, в глаза долблюсь, сори
Покажи dao все равно
ты же поставил соспенд в методах дау? А то рум изанчально поддерживает асинхронные запросы даже из мейн потока))
@Query("DELETE FROM shoppinglistitem") suspend fun deleteAll() @Insert suspend fun saveAll(vararg items: ShoppingListItem)
Странно, выглядит норм
Забавно, что если сначала вызвать функцию ДОБАВЛЕНИЯ, а потом УДАЛЕНИЯ, то предметы сохраняются в бд🙃
Слушай, а билд дебаг или релиз?
Дебаг
Ваще огонь, нет идей)
А от дебага как то зависит?
Они асинхронные. Сделай это ввиде одной функции @Transaction в dao
У меня идея проскочила бредовая, что это мог сделать r8. Читал, что компиляторы раньше могли изменять порядок инструкций при сборке, вот и подумал, авось тут что-то. Но такого просто не должно быть
Это во всяком случае очень странно, что оно меняет инструкции настолько кардинально, что меняется работа приложения, но спасибо
Работает, спасибо!
Такого не должно быть с очень ранних версий жабы, потому что оно ломало работу потоков как раз
Обсуждают сегодня