Kotlin Coroutines de la manera correcta en Android
Estoy tratando de actualizar una lista dentro del adaptador usando asíncrono, puedo ver que hay demasiada repetitiva.
¿Es la forma correcta de usar Kotlin Coroutines?
¿Se puede optimizar esto más?
fun loadListOfMediaInAsync() = async(CommonPool) {
try {
//Long running task
adapter.listOfMediaItems.addAll(resources.getAllTracks())
runOnUiThread {
adapter.notifyDataSetChanged()
progress.dismiss()
}
} catch (e: Exception) {
e.printStackTrace()
runOnUiThread {progress.dismiss()}
} catch (o: OutOfMemoryError) {
o.printStackTrace()
runOnUiThread {progress.dismiss()}
}
}