Я получаю эту ошибку: не могу получить доступ к базе данных в основном потоке, поскольку это может заблокировать пользовательский интерфейс на длительный период времени. Это происходит, когда я запускаю забавный turnAllWordsOn () в ViewModel (код ниже). Эта функция запускает сопрограмму, и я думал, что сопрограмма всегда работает в фоновом потоке. Так почему я получаю эту ошибку? Признателен за любую помощь
Во фрагменте:
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.action_turn_all_words_on -> {
viewModel.turnAllWordsOn()
true
}
// othes items
}
В ViewModel:
fun turnAllWordsOn() = viewModelScope.launch {
wordDao.turnAllWordsOn()
}
В Дао:
@Query("UPDATE word_table SET shown = 1")
fun turnAllWordsOn()