refactor: use global scope to avoid lifecycleScope cancelling before we open the picker intent
This commit is contained in:
parent
7303d9a7d2
commit
31d774aabb
|
@ -13,8 +13,9 @@ import android.provider.MediaStore
|
||||||
import android.webkit.MimeTypeMap
|
import android.webkit.MimeTypeMap
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.lifecycle.lifecycleScope
|
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import network.loki.messenger.BuildConfig
|
import network.loki.messenger.BuildConfig
|
||||||
|
@ -42,11 +43,12 @@ class ShareLogsDialog : DialogFragment() {
|
||||||
cancelButton { dismiss() }
|
cancelButton { dismiss() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OptIn(DelicateCoroutinesApi::class)
|
||||||
private fun shareLogs() {
|
private fun shareLogs() {
|
||||||
val persistentLogger = ApplicationContext.getInstance(context).persistentLogger
|
val persistentLogger = ApplicationContext.getInstance(context).persistentLogger
|
||||||
lifecycleScope.launch(Dispatchers.Main) {
|
val context = requireContext().applicationContext
|
||||||
|
GlobalScope.launch(Dispatchers.Main) {
|
||||||
try {
|
try {
|
||||||
val context = requireContext()
|
|
||||||
val outputUri: Uri = withContext(Dispatchers.IO) { ExternalStorageUtil.getDownloadUri() }
|
val outputUri: Uri = withContext(Dispatchers.IO) { ExternalStorageUtil.getDownloadUri() }
|
||||||
val mediaUri = withContext(Dispatchers.IO) { getExternalFile() }
|
val mediaUri = withContext(Dispatchers.IO) { getExternalFile() }
|
||||||
if (mediaUri == null) {
|
if (mediaUri == null) {
|
||||||
|
|
Loading…
Reference in New Issue