musikr: internalcovers -> embeddedcovers
This commit is contained in:
parent
9a70ae1c4e
commit
e2d28f98f4
8 changed files with 24 additions and 24 deletions
|
@ -23,7 +23,7 @@ import dagger.Module
|
|||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import org.oxycblt.musikr.covers.internal.CoverIdentifier
|
||||
import org.oxycblt.musikr.covers.embedded.CoverIdentifier
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
package org.oxycblt.auxio.image.covers
|
||||
|
||||
import java.util.UUID
|
||||
import org.oxycblt.musikr.covers.internal.CoverParams
|
||||
import org.oxycblt.musikr.covers.embedded.CoverParams
|
||||
|
||||
data class CoverSilo(val revision: UUID, val params: CoverParams?) {
|
||||
override fun toString() =
|
||||
|
|
|
@ -28,9 +28,9 @@ import org.oxycblt.musikr.covers.Covers
|
|||
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.internal.CoverIdentifier
|
||||
import org.oxycblt.musikr.covers.internal.CoverParams
|
||||
import org.oxycblt.musikr.covers.internal.FileCover
|
||||
import org.oxycblt.musikr.covers.embedded.CoverIdentifier
|
||||
import org.oxycblt.musikr.covers.embedded.CoverParams
|
||||
import org.oxycblt.musikr.covers.embedded.FileCover
|
||||
|
||||
interface SettingCovers {
|
||||
suspend fun mutate(context: Context, revision: UUID): MutableCovers<out Cover>
|
||||
|
|
|
@ -26,11 +26,11 @@ import org.oxycblt.musikr.covers.Cover
|
|||
import org.oxycblt.musikr.covers.CoverResult
|
||||
import org.oxycblt.musikr.covers.Covers
|
||||
import org.oxycblt.musikr.covers.MutableCovers
|
||||
import org.oxycblt.musikr.covers.internal.CoverFormat
|
||||
import org.oxycblt.musikr.covers.internal.CoverIdentifier
|
||||
import org.oxycblt.musikr.covers.internal.FileCover
|
||||
import org.oxycblt.musikr.covers.internal.InternalCovers
|
||||
import org.oxycblt.musikr.covers.internal.MutableInternalCovers
|
||||
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
|
||||
|
@ -39,20 +39,20 @@ class BaseSiloedCovers(private val context: Context) : Covers<FileCover> {
|
|||
override suspend fun obtain(id: String): CoverResult<FileCover> {
|
||||
val siloedId = SiloedCoverId.parse(id) ?: return CoverResult.Miss()
|
||||
val core = SiloCore.from(context, siloedId.silo)
|
||||
val internalCovers = InternalCovers(core.files, core.format)
|
||||
return when (val result = internalCovers.obtain(siloedId.id)) {
|
||||
val embeddedCovers = EmbeddedCovers(core.files, core.format)
|
||||
return when (val result = embeddedCovers.obtain(siloedId.id)) {
|
||||
is CoverResult.Hit -> CoverResult.Hit(SiloedCover(siloedId.silo, result.cover))
|
||||
is CoverResult.Miss -> CoverResult.Miss()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
open class SiloedCovers(private val silo: CoverSilo, private val internalCovers: InternalCovers) :
|
||||
open class SiloedCovers(private val silo: CoverSilo, private val embeddedCovers: EmbeddedCovers) :
|
||||
Covers<FileCover> {
|
||||
override suspend fun obtain(id: String): CoverResult<FileCover> {
|
||||
val coverId = SiloedCoverId.parse(id) ?: return CoverResult.Miss()
|
||||
if (silo != coverId.silo) return CoverResult.Miss()
|
||||
return when (val result = internalCovers.obtain(coverId.id)) {
|
||||
return when (val result = embeddedCovers.obtain(coverId.id)) {
|
||||
is CoverResult.Hit -> CoverResult.Hit(SiloedCover(silo, result.cover))
|
||||
is CoverResult.Miss -> CoverResult.Miss()
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ open class SiloedCovers(private val silo: CoverSilo, private val internalCovers:
|
|||
companion object {
|
||||
suspend fun from(context: Context, silo: CoverSilo): SiloedCovers {
|
||||
val core = SiloCore.from(context, silo)
|
||||
return SiloedCovers(silo, InternalCovers(core.files, core.format))
|
||||
return SiloedCovers(silo, EmbeddedCovers(core.files, core.format))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ class MutableSiloedCovers
|
|||
private constructor(
|
||||
private val rootDir: File,
|
||||
private val silo: CoverSilo,
|
||||
private val fileCovers: MutableInternalCovers
|
||||
private val fileCovers: MutableEmbeddedCovers
|
||||
) : SiloedCovers(silo, fileCovers), MutableCovers<FileCover> {
|
||||
override suspend fun create(file: DeviceFile, metadata: Metadata): CoverResult<FileCover> =
|
||||
when (val result = fileCovers.create(file, metadata)) {
|
||||
|
@ -96,7 +96,7 @@ private constructor(
|
|||
): MutableSiloedCovers {
|
||||
val core = SiloCore.from(context, silo)
|
||||
return MutableSiloedCovers(
|
||||
core.rootDir, silo, MutableInternalCovers(core.files, core.format, coverIdentifier))
|
||||
core.rootDir, silo, MutableEmbeddedCovers(core.files, core.format, coverIdentifier))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.musikr.covers.internal
|
||||
package org.oxycblt.musikr.covers.embedded
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.BitmapFactory
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.musikr.covers.internal
|
||||
package org.oxycblt.musikr.covers.embedded
|
||||
|
||||
import java.security.MessageDigest
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.musikr.covers.internal
|
||||
package org.oxycblt.musikr.covers.embedded
|
||||
|
||||
class CoverParams private constructor(val resolution: Int, val quality: Int) {
|
||||
override fun hashCode() = 31 * resolution + quality
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.oxycblt.musikr.covers.internal
|
||||
package org.oxycblt.musikr.covers.embedded
|
||||
|
||||
import org.oxycblt.musikr.covers.Cover
|
||||
import org.oxycblt.musikr.covers.CoverResult
|
||||
|
@ -28,7 +28,7 @@ import org.oxycblt.musikr.fs.app.AppFile
|
|||
import org.oxycblt.musikr.fs.device.DeviceFile
|
||||
import org.oxycblt.musikr.metadata.Metadata
|
||||
|
||||
open class InternalCovers(private val appFS: AppFS, private val coverFormat: CoverFormat) :
|
||||
open class EmbeddedCovers(private val appFS: AppFS, private val coverFormat: CoverFormat) :
|
||||
Covers<FDCover> {
|
||||
override suspend fun obtain(id: String): CoverResult<FDCover> {
|
||||
val file = appFS.find(getFileName(id))
|
||||
|
@ -42,11 +42,11 @@ open class InternalCovers(private val appFS: AppFS, private val coverFormat: Cov
|
|||
protected fun getFileName(id: String) = "$id.${coverFormat.extension}"
|
||||
}
|
||||
|
||||
class MutableInternalCovers(
|
||||
class MutableEmbeddedCovers(
|
||||
private val appFS: AppFS,
|
||||
private val coverFormat: CoverFormat,
|
||||
private val coverIdentifier: CoverIdentifier
|
||||
) : InternalCovers(appFS, coverFormat), MutableCovers<FDCover> {
|
||||
) : EmbeddedCovers(appFS, coverFormat), MutableCovers<FDCover> {
|
||||
override suspend fun create(file: DeviceFile, metadata: Metadata): CoverResult<FDCover> {
|
||||
val data = metadata.cover ?: return CoverResult.Miss()
|
||||
val id = coverIdentifier.identify(data)
|
Loading…
Reference in a new issue