Skip to content

Commit 1560396

Browse files
committed
feat: move screenshot writing task to background thread
Prevents UI thread blocking.
1 parent 12556af commit 1560396

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ import com.github.libretube.util.OnlineTimeFrameReceiver
111111
import com.github.libretube.util.PlayingQueue
112112
import com.github.libretube.util.TextUtils
113113
import com.github.libretube.util.TextUtils.toTimeInSeconds
114+
import com.google.android.material.snackbar.Snackbar
115+
import kotlinx.coroutines.CoroutineScope
114116
import kotlinx.coroutines.Dispatchers
115117
import kotlinx.coroutines.launch
116118
import kotlinx.coroutines.runBlocking
@@ -392,11 +394,12 @@ class PlayerFragment : Fragment(R.layout.fragment_player), OnlinePlayerOptions {
392394
return@registerForActivityResult
393395
}
394396

395-
context?.contentResolver?.openOutputStream(uri)?.use { outputStream ->
396-
screenshotBitmap?.compress(Bitmap.CompressFormat.PNG, 100, outputStream)
397+
CoroutineScope(Dispatchers.IO).launch{
398+
context?.contentResolver?.openOutputStream(uri)?.use { outputStream ->
399+
screenshotBitmap?.compress(Bitmap.CompressFormat.PNG, 100, outputStream)
400+
}
401+
screenshotBitmap = null
397402
}
398-
399-
screenshotBitmap = null
400403
}
401404

402405
override fun onCreate(savedInstanceState: Bundle?) {

0 commit comments

Comments
 (0)