Merge pull request #1058 from OxygenCobalt/dev

v4.0.3 (with FSCovers fix)
This commit is contained in:
Alexander Capehart 2025-03-18 13:49:15 -06:00 committed by GitHub
commit 2e212af77b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -24,7 +24,6 @@ import android.net.Uri
import android.os.ParcelFileDescriptor
import androidx.core.net.toUri
import java.io.InputStream
import kotlin.math.max
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.oxycblt.musikr.covers.Cover
@ -101,7 +100,7 @@ class MutableFSCovers(private val context: Context) : MutableCovers<FDCover> {
val bestCover =
parent.children
.filterIsInstance<DeviceFile>()
.map { it to coverArtScore(file) }
.map { it to coverArtScore(it) }
.maxBy { it.second }
if (bestCover.second > 0) {
return CoverResult.Hit(FolderCoverImpl(context, bestCover.first.uri))
@ -135,10 +134,8 @@ class MutableFSCovers(private val context: Context) : MutableCovers<FDCover> {
.sumOf { it.index + 1 }
// Multiply the score for preferred formats & extensions. Weirder formats are harder for
// android to decode, but not the end of the world.
score *=
max(preferredFormats.indexOfFirst { file.mimeType.equals(it, ignoreCase = true) }, 0)
score *=
max(preferredExtensions.indexOfFirst { extension.equals(it, ignoreCase = true) }, 0)
score *= preferredFormats.indexOfFirst { file.mimeType.equals(it, ignoreCase = true) } + 2
score *= preferredExtensions.indexOfFirst { extension.equals(it, ignoreCase = true) } + 2
return score
}