From a3722acb5abea43f1bfd3ba0faafb540c69497ed Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Tue, 18 Mar 2025 13:27:37 -0600 Subject: [PATCH 1/3] musikr: fix broken fscovers impl --- .../src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt b/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt index dfb8dbdb2..f5d5fa6ea 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt @@ -101,7 +101,7 @@ class MutableFSCovers(private val context: Context) : MutableCovers { val bestCover = parent.children .filterIsInstance() - .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)) @@ -136,9 +136,9 @@ class MutableFSCovers(private val context: Context) : MutableCovers { // 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) + max(preferredFormats.indexOfFirst { file.mimeType.equals(it, ignoreCase = true) }, 1) score *= - max(preferredExtensions.indexOfFirst { extension.equals(it, ignoreCase = true) }, 0) + max(preferredExtensions.indexOfFirst { extension.equals(it, ignoreCase = true) }, 1) return score } From 273dc971ba1e6914fe0ae84ebc288845a45cdf9e Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Tue, 18 Mar 2025 13:32:57 -0600 Subject: [PATCH 2/3] musikr: fix fscovers scoring logic --- musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt b/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt index f5d5fa6ea..9bd18dbb7 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt @@ -136,9 +136,9 @@ class MutableFSCovers(private val context: Context) : MutableCovers { // 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) }, 1) + preferredFormats.indexOfFirst { file.mimeType.equals(it, ignoreCase = true) } + 2 score *= - max(preferredExtensions.indexOfFirst { extension.equals(it, ignoreCase = true) }, 1) + preferredExtensions.indexOfFirst { extension.equals(it, ignoreCase = true) } + 2 return score } From 102ed85c42f950046096526b7d6b94bed42e87ba Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Tue, 18 Mar 2025 13:41:11 -0600 Subject: [PATCH 3/3] musikr: reformat --- .../src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt b/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt index 9bd18dbb7..96f969fad 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/covers/fs/FSCovers.kt @@ -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 @@ -135,10 +134,8 @@ class MutableFSCovers(private val context: Context) : MutableCovers { .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 *= - preferredFormats.indexOfFirst { file.mimeType.equals(it, ignoreCase = true) } + 2 - score *= - preferredExtensions.indexOfFirst { extension.equals(it, ignoreCase = true) } + 2 + score *= preferredFormats.indexOfFirst { file.mimeType.equals(it, ignoreCase = true) } + 2 + score *= preferredExtensions.indexOfFirst { extension.equals(it, ignoreCase = true) } + 2 return score }