all: reformat

This commit is contained in:
Alexander Capehart 2024-12-20 22:17:08 -05:00
parent 5ff949c49c
commit 0f0b7a4a7d
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
12 changed files with 39 additions and 67 deletions

View file

@ -44,7 +44,6 @@ import okio.FileSystem
import okio.buffer
import okio.source
import org.oxycblt.musikr.cover.Cover
import org.oxycblt.musikr.cover.StoredCovers
class CoverKeyer @Inject constructor() : Keyer<Cover> {
override fun key(data: Cover, options: Options) = "${data.id}&${options.size}"

View file

@ -39,7 +39,6 @@ import org.oxycblt.musikr.Song
import org.oxycblt.musikr.Storage
import org.oxycblt.musikr.cache.Cache
import org.oxycblt.musikr.cache.CacheDatabase
import org.oxycblt.musikr.cover.StoredCovers
import org.oxycblt.musikr.playlist.db.PlaylistDatabase
import org.oxycblt.musikr.playlist.db.StoredPlaylists
import org.oxycblt.musikr.tag.interpret.Naming

View file

@ -20,16 +20,14 @@ package org.oxycblt.auxio.music
import android.content.Context
import androidx.media3.common.util.Log
import org.oxycblt.auxio.util.unlikelyToBeNull
import java.util.UUID
import org.oxycblt.auxio.util.unlikelyToBeNull
import org.oxycblt.musikr.cover.Cover
import org.oxycblt.musikr.cover.MutableStoredCovers
import org.oxycblt.musikr.cover.StoredCovers
open class RevisionedStoredCovers(
private val context: Context,
private val revision: UUID?
) : StoredCovers {
open class RevisionedStoredCovers(private val context: Context, private val revision: UUID?) :
StoredCovers {
protected val inner = revision?.let { StoredCovers.at(context, "covers_$it") }
override suspend fun obtain(id: String): RevisionedCover? {
@ -51,10 +49,8 @@ open class RevisionedStoredCovers(
}
}
class MutableRevisionedStoredCovers(
context: Context,
private val revision: UUID
) : RevisionedStoredCovers(context, revision), MutableStoredCovers {
class MutableRevisionedStoredCovers(context: Context, private val revision: UUID) :
RevisionedStoredCovers(context, revision), MutableStoredCovers {
override suspend fun write(data: ByteArray): RevisionedCover? {
return unlikelyToBeNull(inner).write(data)?.let { RevisionedCover(revision, it) }
}

View file

@ -20,7 +20,6 @@ package org.oxycblt.musikr
import org.oxycblt.musikr.cache.Cache
import org.oxycblt.musikr.cover.MutableStoredCovers
import org.oxycblt.musikr.cover.StoredCovers
import org.oxycblt.musikr.playlist.db.StoredPlaylists
import org.oxycblt.musikr.tag.interpret.Naming
import org.oxycblt.musikr.tag.interpret.Separators

View file

@ -30,7 +30,6 @@ import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.TypeConverter
import androidx.room.TypeConverters
import org.oxycblt.musikr.cover.Cover
import org.oxycblt.musikr.cover.StoredCovers
import org.oxycblt.musikr.fs.DeviceFile
import org.oxycblt.musikr.metadata.Properties

View file

@ -18,8 +18,8 @@
package org.oxycblt.musikr.cover
import org.oxycblt.musikr.Song
import java.io.InputStream
import org.oxycblt.musikr.Song
sealed interface Cover {
val id: String

View file

@ -19,18 +19,17 @@
package org.oxycblt.musikr.cover
import android.content.Context
import android.util.Log
import java.io.File
import java.io.IOException
import java.io.InputStream
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import kotlinx.coroutines.withContext
import java.io.InputStream
import java.io.OutputStream
interface CoverFiles {
suspend fun find(id: String): CoverFile?
suspend fun write(id: String, data: ByteArray): CoverFile?
companion object {

View file

@ -20,7 +20,6 @@ package org.oxycblt.musikr.cover
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.os.Build
import java.io.OutputStream
internal interface CoverFormat {
@ -31,23 +30,18 @@ internal interface CoverFormat {
companion object {
// Enable if perhaps you want to try other formats.
// Currently this is just far too slow.
// fun webp(): CoverFormat = CoverFormatImpl(
// "webp",
// 750,
// 80,
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
// Bitmap.CompressFormat.WEBP_LOSSY
// } else {
// Bitmap.CompressFormat.WEBP
// }
// )
// fun webp(): CoverFormat = CoverFormatImpl(
// "webp",
// 750,
// 80,
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
// Bitmap.CompressFormat.WEBP_LOSSY
// } else {
// Bitmap.CompressFormat.WEBP
// }
// )
fun jpeg(): CoverFormat = CoverFormatImpl(
"jpg",
1000,
100,
Bitmap.CompressFormat.JPEG
)
fun jpeg(): CoverFormat = CoverFormatImpl("jpg", 1000, 100, Bitmap.CompressFormat.JPEG)
}
}

View file

@ -19,16 +19,13 @@
package org.oxycblt.musikr.cover
import android.content.Context
import java.io.InputStream
interface StoredCovers {
suspend fun obtain(id: String): Cover.Single?
companion object {
fun at(context: Context, path: String): MutableStoredCovers =
FileStoredCovers(
CoverIdentifier.md5(), CoverFiles.at(context, path)
)
FileStoredCovers(CoverIdentifier.md5(), CoverFiles.at(context, path))
}
}
@ -48,9 +45,6 @@ private class FileStoredCovers(
}
}
private class FileCover(
override val id: String,
private val coverFile: CoverFile
) : Cover.Single {
private class FileCover(override val id: String, private val coverFile: CoverFile) : Cover.Single {
override suspend fun open() = coverFile.open()
}

View file

@ -23,7 +23,6 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.buffer
import kotlinx.coroutines.flow.flatMapMerge
import kotlinx.coroutines.flow.flattenMerge
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
@ -35,7 +34,6 @@ import org.oxycblt.musikr.cache.Cache
import org.oxycblt.musikr.cache.CacheResult
import org.oxycblt.musikr.cover.Cover
import org.oxycblt.musikr.cover.MutableStoredCovers
import org.oxycblt.musikr.cover.StoredCovers
import org.oxycblt.musikr.fs.DeviceFile
import org.oxycblt.musikr.metadata.MetadataExtractor
import org.oxycblt.musikr.metadata.Properties
@ -53,8 +51,7 @@ internal interface ExtractStep {
MetadataExtractor.from(context),
TagParser.new(),
storage.cache,
storage.storedCovers
)
storage.storedCovers)
}
}
@ -80,9 +77,8 @@ private class ExtractStepImpl(
val cacheResults =
distributedAudioNodes.flows
.map { flow ->
flow.map {
wrap(it) { file -> cache.read(file, storedCovers) }
}
flow
.map { wrap(it) { file -> cache.read(file, storedCovers) } }
.flowOn(Dispatchers.IO)
.buffer(Channel.UNLIMITED)
}
@ -150,8 +146,7 @@ private class ExtractStepImpl(
cacheFlow.manager,
cachedSongs,
writtenSongs,
playlistNodes
)
playlistNodes)
}
private data class FileWith<T>(val file: DeviceFile, val with: T)

View file

@ -21,11 +21,9 @@ package org.oxycblt.musikr.pipeline
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.asFlow
import kotlinx.coroutines.flow.emitAll
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.receiveAsFlow
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.flow.withIndex
internal sealed interface Divert<L, R> {