From cd535eda2e124362a76cd7d69b09124cdc9d4917 Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Sat, 8 Mar 2025 11:03:35 -0700 Subject: [PATCH] all: fix merge issues --- .../auxio/image/covers/SettingCovers.kt | 8 ++++---- .../oxycblt/auxio/image/covers/SiloedCovers.kt | 18 +++++++++--------- .../org/oxycblt/auxio/music/MusicRepository.kt | 6 +++--- .../auxio/music/shim/MusikrShimModule.kt | 3 ++- .../musikr/covers/embedded/EmbeddedCovers.kt | 2 +- .../org/oxycblt/musikr/covers/fs/FSCovers.kt | 7 +------ .../org/oxycblt/musikr/fs/device/DeviceFS.kt | 14 +++++--------- .../oxycblt/musikr/pipeline/EvaluateStep.kt | 1 - .../org/oxycblt/musikr/pipeline/ExploreStep.kt | 4 +++- .../org/oxycblt/musikr/pipeline/FlowUtil.kt | 2 +- 10 files changed, 29 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/image/covers/SettingCovers.kt b/app/src/main/java/org/oxycblt/auxio/image/covers/SettingCovers.kt index 2f4629451..774eeb65c 100644 --- a/app/src/main/java/org/oxycblt/auxio/image/covers/SettingCovers.kt +++ b/app/src/main/java/org/oxycblt/auxio/image/covers/SettingCovers.kt @@ -25,18 +25,18 @@ import org.oxycblt.auxio.image.CoverMode import org.oxycblt.auxio.image.ImageSettings import org.oxycblt.musikr.covers.Cover import org.oxycblt.musikr.covers.Covers +import org.oxycblt.musikr.covers.FDCover import org.oxycblt.musikr.covers.MutableCovers -import org.oxycblt.musikr.covers.fs.FSCovers -import org.oxycblt.musikr.covers.fs.MutableFSCovers import org.oxycblt.musikr.covers.embedded.CoverIdentifier import org.oxycblt.musikr.covers.embedded.CoverParams -import org.oxycblt.musikr.covers.embedded.FileCover +import org.oxycblt.musikr.covers.fs.FSCovers +import org.oxycblt.musikr.covers.fs.MutableFSCovers interface SettingCovers { suspend fun mutate(context: Context, revision: UUID): MutableCovers companion object { - fun immutable(context: Context): Covers = + fun immutable(context: Context): Covers = Covers.chain(BaseSiloedCovers(context), FSCovers(context)) } } diff --git a/app/src/main/java/org/oxycblt/auxio/image/covers/SiloedCovers.kt b/app/src/main/java/org/oxycblt/auxio/image/covers/SiloedCovers.kt index e3dd33f84..e1bc4d622 100644 --- a/app/src/main/java/org/oxycblt/auxio/image/covers/SiloedCovers.kt +++ b/app/src/main/java/org/oxycblt/auxio/image/covers/SiloedCovers.kt @@ -25,18 +25,18 @@ import kotlinx.coroutines.withContext import org.oxycblt.musikr.covers.Cover import org.oxycblt.musikr.covers.CoverResult import org.oxycblt.musikr.covers.Covers +import org.oxycblt.musikr.covers.FDCover import org.oxycblt.musikr.covers.MutableCovers import org.oxycblt.musikr.covers.embedded.CoverFormat import org.oxycblt.musikr.covers.embedded.CoverIdentifier -import org.oxycblt.musikr.covers.embedded.FileCover import org.oxycblt.musikr.covers.embedded.EmbeddedCovers import org.oxycblt.musikr.covers.embedded.MutableEmbeddedCovers import org.oxycblt.musikr.fs.app.AppFS import org.oxycblt.musikr.fs.device.DeviceFile import org.oxycblt.musikr.metadata.Metadata -class BaseSiloedCovers(private val context: Context) : Covers { - override suspend fun obtain(id: String): CoverResult { +class BaseSiloedCovers(private val context: Context) : Covers { + override suspend fun obtain(id: String): CoverResult { val siloedId = SiloedCoverId.parse(id) ?: return CoverResult.Miss() val core = SiloCore.from(context, siloedId.silo) val embeddedCovers = EmbeddedCovers(core.files, core.format) @@ -48,8 +48,8 @@ class BaseSiloedCovers(private val context: Context) : Covers { } open class SiloedCovers(private val silo: CoverSilo, private val embeddedCovers: EmbeddedCovers) : - Covers { - override suspend fun obtain(id: String): CoverResult { + Covers { + override suspend fun obtain(id: String): CoverResult { val coverId = SiloedCoverId.parse(id) ?: return CoverResult.Miss() if (silo != coverId.silo) return CoverResult.Miss() return when (val result = embeddedCovers.obtain(coverId.id)) { @@ -71,8 +71,8 @@ private constructor( private val rootDir: File, private val silo: CoverSilo, private val fileCovers: MutableEmbeddedCovers -) : SiloedCovers(silo, fileCovers), MutableCovers { - override suspend fun create(file: DeviceFile, metadata: Metadata): CoverResult = +) : SiloedCovers(silo, fileCovers), MutableCovers { + override suspend fun create(file: DeviceFile, metadata: Metadata): CoverResult = when (val result = fileCovers.create(file, metadata)) { is CoverResult.Hit -> CoverResult.Hit(SiloedCover(silo, result.cover)) is CoverResult.Miss -> CoverResult.Miss() @@ -101,8 +101,8 @@ private constructor( } } -data class SiloedCover(private val silo: CoverSilo, val innerCover: FileCover) : - FileCover by innerCover { +data class SiloedCover(private val silo: CoverSilo, val innerCover: FDCover) : + FDCover by innerCover { private val innerId = SiloedCoverId(silo, innerCover.id) override val id = innerId.toString() } diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt index 59a09e91d..f1e1688d0 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt @@ -39,7 +39,7 @@ import org.oxycblt.musikr.MutableLibrary import org.oxycblt.musikr.Playlist import org.oxycblt.musikr.Song import org.oxycblt.musikr.Storage -import org.oxycblt.musikr.cache.db.MutableDBCache +import org.oxycblt.musikr.cache.MutableCache import org.oxycblt.musikr.playlist.db.StoredPlaylists import org.oxycblt.musikr.tag.interpret.Naming import org.oxycblt.musikr.tag.interpret.Separators @@ -237,7 +237,7 @@ class MusicRepositoryImpl @Inject constructor( @ApplicationContext private val context: Context, - private val dbCache: MutableDBCache, + private val cache: MutableCache, private val storedPlaylists: StoredPlaylists, private val settingCovers: SettingCovers, private val musicSettings: MusicSettings @@ -389,7 +389,7 @@ constructor( val currentRevision = musicSettings.revision val newRevision = currentRevision?.takeIf { withCache } ?: UUID.randomUUID() - val cache = if (withCache) dbCache else WriteOnlyMutableCache(dbCache) + val cache = if (withCache) cache else WriteOnlyMutableCache(cache) val covers = settingCovers.mutate(context, newRevision) val storage = Storage(cache, covers, storedPlaylists) val interpretation = Interpretation(nameFactory, separators, withHidden) diff --git a/app/src/main/java/org/oxycblt/auxio/music/shim/MusikrShimModule.kt b/app/src/main/java/org/oxycblt/auxio/music/shim/MusikrShimModule.kt index ee0702450..827ac75c9 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/shim/MusikrShimModule.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/shim/MusikrShimModule.kt @@ -25,6 +25,7 @@ import dagger.hilt.InstallIn import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent import javax.inject.Singleton +import org.oxycblt.musikr.cache.MutableCache import org.oxycblt.musikr.cache.db.MutableDBCache import org.oxycblt.musikr.playlist.db.StoredPlaylists @@ -33,7 +34,7 @@ import org.oxycblt.musikr.playlist.db.StoredPlaylists class MusikrShimModule { @Singleton @Provides - fun cache(@ApplicationContext context: Context) = MutableDBCache.from(context) + fun cache(@ApplicationContext context: Context): MutableCache = MutableDBCache.from(context) @Singleton @Provides diff --git a/musikr/src/main/java/org/oxycblt/musikr/covers/embedded/EmbeddedCovers.kt b/musikr/src/main/java/org/oxycblt/musikr/covers/embedded/EmbeddedCovers.kt index 33fec914f..e1aa5f24f 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/covers/embedded/EmbeddedCovers.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/covers/embedded/EmbeddedCovers.kt @@ -1,6 +1,6 @@ /* * Copyright (c) 2025 Auxio Project - * InternalCovers.kt is part of Auxio. + * EmbeddedCovers.kt is part of Auxio. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by 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 b182c775e..a9ced2062 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 @@ -23,8 +23,6 @@ import android.net.Uri import android.os.ParcelFileDescriptor import java.io.InputStream import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.firstOrNull -import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.withContext import org.oxycblt.musikr.covers.Cover import org.oxycblt.musikr.covers.CoverResult @@ -76,10 +74,7 @@ class MutableFSCovers(private val context: Context) : FSCovers(context), Mutable private fun findCoverInDirectory(directory: DeviceDirectory): DeviceFile? { return directory.children.firstNotNullOfOrNull { node -> - if (node is DeviceFile && isCoverArtFile( - node - ) - ) node else null + if (node is DeviceFile && isCoverArtFile(node)) node else null } } diff --git a/musikr/src/main/java/org/oxycblt/musikr/fs/device/DeviceFS.kt b/musikr/src/main/java/org/oxycblt/musikr/fs/device/DeviceFS.kt index bb580008c..44a5ff652 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/fs/device/DeviceFS.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/fs/device/DeviceFS.kt @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - + package org.oxycblt.musikr.fs.device import android.content.ContentResolver @@ -75,8 +75,7 @@ private class DeviceFSImpl( location.uri, DocumentsContract.getTreeDocumentId(location.uri), location.path, - null - ) + null) } private fun exploreDirectoryImpl( @@ -116,8 +115,7 @@ private class DeviceFSImpl( if (mimeType == DocumentsContract.Document.MIME_TYPE_DIR) { recursive.add( - exploreDirectoryImpl(rootUri, childId, newPath, directoryDeferred) - ) + exploreDirectoryImpl(rootUri, childId, newPath, directoryDeferred)) } else { val size = cursor.getLong(sizeIndex) val childUri = DocumentsContract.buildDocumentUriUsingTree(rootUri, childId) @@ -128,8 +126,7 @@ private class DeviceFSImpl( path = newPath, size = size, modifiedMs = lastModified, - parent = directoryDeferred - ) + parent = directoryDeferred) children.add(file) emit(file) } @@ -146,7 +143,6 @@ private class DeviceFSImpl( DocumentsContract.Document.COLUMN_DISPLAY_NAME, DocumentsContract.Document.COLUMN_MIME_TYPE, DocumentsContract.Document.COLUMN_SIZE, - DocumentsContract.Document.COLUMN_LAST_MODIFIED - ) + DocumentsContract.Document.COLUMN_LAST_MODIFIED) } } diff --git a/musikr/src/main/java/org/oxycblt/musikr/pipeline/EvaluateStep.kt b/musikr/src/main/java/org/oxycblt/musikr/pipeline/EvaluateStep.kt index a28fdab8c..59e4c9438 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/pipeline/EvaluateStep.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/pipeline/EvaluateStep.kt @@ -20,7 +20,6 @@ package org.oxycblt.musikr.pipeline import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filterIsInstance -import kotlinx.coroutines.flow.fold import org.oxycblt.musikr.Interpretation import org.oxycblt.musikr.MutableLibrary import org.oxycblt.musikr.Storage diff --git a/musikr/src/main/java/org/oxycblt/musikr/pipeline/ExploreStep.kt b/musikr/src/main/java/org/oxycblt/musikr/pipeline/ExploreStep.kt index 5a7779c13..12762e22a 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/pipeline/ExploreStep.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/pipeline/ExploreStep.kt @@ -67,7 +67,9 @@ private class ExploreStepImpl( val addingMs = System.currentTimeMillis() return merge( deviceFS - .explore(locations.asFlow(),) + .explore( + locations.asFlow(), + ) .filter { it.mimeType.startsWith("audio/") || it.mimeType == M3U.MIME_TYPE } .distribute(8) .distributedMap { file -> diff --git a/musikr/src/main/java/org/oxycblt/musikr/pipeline/FlowUtil.kt b/musikr/src/main/java/org/oxycblt/musikr/pipeline/FlowUtil.kt index e5cd78a23..29eef2735 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/pipeline/FlowUtil.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/pipeline/FlowUtil.kt @@ -72,4 +72,4 @@ internal suspend fun Flow.tryFold(initial: A, operation: suspend (A, T } } return accumulator -} \ No newline at end of file +}