Skip to content

Commit 24c17ec

Browse files
committed
Change to use Dispatchers.IO in BitmapCreator
1 parent cfd381e commit 24c17ec

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

core/common/src/main/java/io/github/jja08111/core/common/image/BitmapCreator.kt

+10-7
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,22 @@ import android.net.Uri
77
import android.os.Build
88
import android.provider.MediaStore
99
import dagger.hilt.android.qualifiers.ApplicationContext
10+
import kotlinx.coroutines.Dispatchers
11+
import kotlinx.coroutines.withContext
1012
import javax.inject.Inject
1113
import javax.inject.Singleton
1214

1315
@Singleton
1416
class BitmapCreator @Inject constructor(
1517
@ApplicationContext private val context: Context,
1618
) {
17-
fun create(imageUri: Uri): Bitmap {
18-
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
19-
ImageDecoder.decodeBitmap(ImageDecoder.createSource(context.contentResolver, imageUri))
20-
} else {
21-
@Suppress("DEPRECATION")
22-
MediaStore.Images.Media.getBitmap(context.contentResolver, imageUri)
19+
suspend fun create(imageUri: Uri): Bitmap =
20+
withContext(Dispatchers.IO) {
21+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
22+
ImageDecoder.decodeBitmap(ImageDecoder.createSource(context.contentResolver, imageUri))
23+
} else {
24+
@Suppress("DEPRECATION")
25+
MediaStore.Images.Media.getBitmap(context.contentResolver, imageUri)
26+
}
2327
}
24-
}
2528
}

0 commit comments

Comments
 (0)