diff --git a/android/app/src/main/kotlin/com/unicornsonlsd/finamp/MediaItemContentProvider.kt b/android/app/src/main/kotlin/com/unicornsonlsd/finamp/MediaItemContentProvider.kt index 6e182bf46..27de85f5f 100644 --- a/android/app/src/main/kotlin/com/unicornsonlsd/finamp/MediaItemContentProvider.kt +++ b/android/app/src/main/kotlin/com/unicornsonlsd/finamp/MediaItemContentProvider.kt @@ -15,10 +15,10 @@ class MediaItemContentProvider : ContentProvider() { private lateinit var memoryCache : LruCache override fun openFile(uri: Uri, mode: String): ParcelFileDescriptor? { - if (uri.fragment != null) { + if (uri.encodedFragment != null) { // we store the original scheme://host in fragment since it should be unused - val origin = Uri.parse(uri.fragment) - val fixedUri = uri.buildUpon().fragment(null).scheme(origin.scheme).authority(origin.authority).toString() + val origin = Uri.parse(uri.encodedFragment) + val fixedUri = uri.buildUpon().fragment(null).scheme(origin.scheme).encodedAuthority(origin.encodedAuthority).toString() // check if we already cached the image val bytes = memoryCache.get(fixedUri) diff --git a/lib/services/queue_service.dart b/lib/services/queue_service.dart index d46767dad..80b8488f0 100644 --- a/lib/services/queue_service.dart +++ b/lib/services/queue_service.dart @@ -1046,7 +1046,7 @@ class QueueService { artUri = Uri(scheme: "content", host: contentProviderPackageName, path: path_helper.join(applicationSupportDirectory.absolute.path, Assets.images.albumWhite.path)); } else { // store the origin in fragment since it should be unused - artUri = artUri.replace(scheme: "content", host: contentProviderPackageName, fragment: ["http", "https"].contains(artUri.scheme) ? artUri.origin : null); + artUri = Uri(scheme: "content", host: contentProviderPackageName, path: artUri.path, fragment: ["http", "https"].contains(artUri.scheme) ? artUri.origin : null); } }