diff --git a/app/src/main/java/org/oxycblt/auxio/music/external/PlaylistImporter.kt b/app/src/main/java/org/oxycblt/auxio/music/external/PlaylistImporter.kt index dcaad62ae..a9177e8bc 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/external/PlaylistImporter.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/external/PlaylistImporter.kt @@ -18,12 +18,13 @@ package org.oxycblt.auxio.music.external -import android.content.ContentResolver +import android.content.Context import android.net.Uri import dagger.hilt.android.qualifiers.ApplicationContext import javax.inject.Inject import org.oxycblt.auxio.music.fs.ContentPathResolver import org.oxycblt.auxio.music.fs.Path +import org.oxycblt.auxio.music.fs.contentResolverSafe interface PlaylistImporter { suspend fun import(uri: Uri): ImportedPlaylist? @@ -34,13 +35,13 @@ data class ImportedPlaylist(val name: String?, val paths: List) class PlaylistImporterImpl @Inject constructor( - @ApplicationContext private val contentResolver: ContentResolver, + @ApplicationContext private val context: Context, private val contentPathResolver: ContentPathResolver, private val m3u: M3U ) : PlaylistImporter { override suspend fun import(uri: Uri): ImportedPlaylist? { val workingDirectory = contentPathResolver.resolve(uri) ?: return null - return contentResolver.openInputStream(uri)?.use { + return context.contentResolverSafe.openInputStream(uri)?.use { val paths = m3u.read(it, workingDirectory) ?: return null return ImportedPlaylist(null, paths) } diff --git a/app/src/main/java/org/oxycblt/auxio/music/fs/FsModule.kt b/app/src/main/java/org/oxycblt/auxio/music/fs/FsModule.kt index 6298e98e1..a22c7675e 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/fs/FsModule.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/fs/FsModule.kt @@ -18,6 +18,7 @@ package org.oxycblt.auxio.music.fs +import android.content.ContentResolver import android.content.Context import android.os.storage.StorageManager import dagger.Module @@ -41,4 +42,8 @@ class FsModule { @Provides fun contentPathResolver(@ApplicationContext context: Context, volumeManager: VolumeManager) = ContentPathResolver.from(context, volumeManager) + + @Provides + fun contentResolver(@ApplicationContext context: Context): ContentResolver = + context.contentResolverSafe }