diff --git a/app/src/main/java/com/topjohnwu/magisk/events/dialog/MarkDownDialog.kt b/app/src/main/java/com/topjohnwu/magisk/events/dialog/MarkDownDialog.kt index 73a069bc6..7204296ab 100644 --- a/app/src/main/java/com/topjohnwu/magisk/events/dialog/MarkDownDialog.kt +++ b/app/src/main/java/com/topjohnwu/magisk/events/dialog/MarkDownDialog.kt @@ -10,6 +10,7 @@ import com.topjohnwu.magisk.di.ServiceLocator import com.topjohnwu.magisk.view.MagiskDialog import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import timber.log.Timber import java.io.IOException @@ -23,12 +24,13 @@ abstract class MarkDownDialog : DialogEvent() { val view = LayoutInflater.from(context).inflate(R.layout.markdown_window_md2, null) setView(view) val tv = view.findViewById(R.id.md_txt) - (ownerActivity as BaseActivity).lifecycleScope.launch(Dispatchers.IO) { + (ownerActivity as BaseActivity).lifecycleScope.launch { try { - ServiceLocator.markwon.setMarkdown(tv, getMarkdownText()) + val text = withContext(Dispatchers.IO) { getMarkdownText() } + ServiceLocator.markwon.setMarkdown(tv, text) } catch (e: IOException) { Timber.e(e) - tv.post { tv.setText(R.string.download_file_error) } + tv.setText(R.string.download_file_error) } } }