У меня есть две ошибки, из-за которых возникает проблема с DecodePath.Я хочу сохранить файл, но не могу из-за этой ошибки.
Мои ошибки:
Cause (2 of 2): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{ParcelFileDescriptor->BitmapDrawable->Drawable}
Cause (1 of 1): class java.io.IOException: java.lang.RuntimeException: setDataSource failed: status = 0x80000000
Здесь я пыталсяполучить путь к файлу:
private suspend fun getWallpaperFile(photo: Photo): File = withContext(Dispatchers.IO) {
val file = Glide.with(context)
.downloadOnly()
.load(photo.src?.portrait)
.submit()
.get()
val renamedFile = File(
file.parent,
DEFAULT_FILE_NAME
)
file.renameTo(renamedFile)
renamedFile
}
В этой части я сохраняю свой WallpaperFile в галерее: (я не могу сохранить файл)
private suspend fun saveWallpaperInGallery(photo: Photo): String = withContext(Dispatchers.IO) {
val context = context
val wallpaperFile = getWallpaperFile(photo)
val wallpaperUri = MediaStore.Images.Media.insertImage(
context.contentResolver,
wallpaperFile.path, wallpaperFile.name, "By ${photo.photographer}"
)
val intent = Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE).apply {
data = Uri.parse(wallpaperUri)
}
context.sendBroadcast(intent)
wallpaperUri
}
Я хочу сохранить файл обоев в галерее .Я думаю, проблема в том, что я не декодировал файл.Я не уверен на 100%, что это главная проблема.
Надеюсь, ребята, вы можете помочь мне с некоторыми идеями или даже найти мне решение.