music: dont inject contentresolver

I don't know why, but I can't inject it without causing errors.
This commit is contained in:
Alexander Capehart 2023-12-20 12:12:01 -07:00
parent e553744c8e
commit 2195431c66
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
2 changed files with 9 additions and 3 deletions

View file

@ -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<Path>)
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)
}

View file

@ -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
}