diff --git a/app/src/main/java/org/oxycblt/auxio/AuxioService.kt b/app/src/main/java/org/oxycblt/auxio/AuxioService.kt index 8178a8218..64121e6d1 100644 --- a/app/src/main/java/org/oxycblt/auxio/AuxioService.kt +++ b/app/src/main/java/org/oxycblt/auxio/AuxioService.kt @@ -26,14 +26,14 @@ import androidx.media3.session.MediaLibraryService import androidx.media3.session.MediaSession import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject -import org.oxycblt.auxio.music.service.IndexingServiceFragment +import org.oxycblt.auxio.music.service.IndexerServiceFragment import org.oxycblt.auxio.playback.service.MediaSessionServiceFragment @AndroidEntryPoint class AuxioService : MediaLibraryService(), ForegroundListener { @Inject lateinit var mediaSessionFragment: MediaSessionServiceFragment - @Inject lateinit var indexingFragment: IndexingServiceFragment + @Inject lateinit var indexingFragment: IndexerServiceFragment @SuppressLint("WrongConstant") override fun onCreate() { diff --git a/app/src/main/java/org/oxycblt/auxio/image/extractor/Cover.kt b/app/src/main/java/org/oxycblt/auxio/image/extractor/Cover.kt index 7e64252f9..bf3cf97cf 100644 --- a/app/src/main/java/org/oxycblt/auxio/image/extractor/Cover.kt +++ b/app/src/main/java/org/oxycblt/auxio/image/extractor/Cover.kt @@ -27,10 +27,10 @@ sealed interface Cover { val mediaStoreCoverUri: Uri /** - * The song has an embedded cover art we support, so we can operate with it on a per-song - * basis. + * The song has an embedded cover art we support, so we can operate with it on a per-song basis. */ - data class Embedded(val songCoverUri: Uri, val songUri: Uri, val perceptualHash: String) : Cover { + data class Embedded(val songCoverUri: Uri, val songUri: Uri, val perceptualHash: String) : + Cover { override val mediaStoreCoverUri = songCoverUri override val key = perceptualHash } diff --git a/app/src/main/java/org/oxycblt/auxio/image/extractor/CoverExtractor.kt b/app/src/main/java/org/oxycblt/auxio/image/extractor/CoverExtractor.kt index 3a6a337ea..d28979b6b 100644 --- a/app/src/main/java/org/oxycblt/auxio/image/extractor/CoverExtractor.kt +++ b/app/src/main/java/org/oxycblt/auxio/image/extractor/CoverExtractor.kt @@ -147,7 +147,6 @@ constructor( CoverMode.MEDIA_STORE -> extractMediaStoreCover(cover) CoverMode.QUALITY -> extractQualityCover(cover) } - is Cover.External -> { extractMediaStoreCover(cover) } @@ -193,7 +192,9 @@ constructor( private suspend fun extractMediaStoreCover(cover: Cover) = // Eliminate any chance that this blocking call might mess up the loading process - withContext(Dispatchers.IO) { context.contentResolver.openInputStream(cover.mediaStoreCoverUri) } + withContext(Dispatchers.IO) { + context.contentResolver.openInputStream(cover.mediaStoreCoverUri) + } /** Derived from phonograph: https://github.com/kabouzeid/Phonograph */ private suspend fun createMosaic(streams: List, size: Size): FetchResult { diff --git a/app/src/main/java/org/oxycblt/auxio/list/recycler/MaterialDragCallback.kt b/app/src/main/java/org/oxycblt/auxio/list/recycler/MaterialDragCallback.kt index 97eed4987..6ccf789b4 100644 --- a/app/src/main/java/org/oxycblt/auxio/list/recycler/MaterialDragCallback.kt +++ b/app/src/main/java/org/oxycblt/auxio/list/recycler/MaterialDragCallback.kt @@ -64,7 +64,7 @@ abstract class MaterialDragCallback : ItemTouchHelper.Callback() { totalSize: Int, msSinceStartScroll: Long ): Int { - // Clamp the scroll speed to prevent thefrom freaking out + // Clamp the scroll speed to prevent the lists from freaking out // Adapted from NewPipe: https://github.com/TeamNewPipe/NewPipe val standardSpeed = super.interpolateOutOfBoundsScroll( diff --git a/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt b/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt index dcfda228f..674c0cb75 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.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.auxio.music.device import org.oxycblt.auxio.R @@ -77,8 +77,7 @@ class SongImpl( override val name = nameFactory.parse( requireNotNull(rawSong.name) { "Invalid raw ${rawSong.path}: No title" }, - rawSong.sortName - ) + rawSong.sortName) override val track = rawSong.track override val disc = rawSong.disc?.let { Disc(it, rawSong.subtitle) } @@ -122,14 +121,12 @@ class SongImpl( // it implies either a cover.jpg pattern is used (likely) or ExoPlayer does not // support the cover metadata of a given spec (unlikely). Cover.Embedded( - requireNotNull(rawSong.mediaStoreId) { "Invalid raw ${rawSong.path}: No id" }.toSongCoverUri(), - uid, - it - ) + requireNotNull(rawSong.mediaStoreId) { "Invalid raw ${rawSong.path}: No id" } + .toSongCoverUri(), + uri, + it) } - ?: Cover.External( - requireNotNull(rawSong.albumMediaStoreId).toAlbumCoverUri() - ) + ?: Cover.External(requireNotNull(rawSong.albumMediaStoreId).toAlbumCoverUri()) /** * The [RawAlbum] instances collated by the [Song]. This can be used to group [Song]s into an diff --git a/app/src/main/java/org/oxycblt/auxio/music/service/IndexerComponent.kt b/app/src/main/java/org/oxycblt/auxio/music/service/IndexerServiceFragment.kt similarity index 98% rename from app/src/main/java/org/oxycblt/auxio/music/service/IndexerComponent.kt rename to app/src/main/java/org/oxycblt/auxio/music/service/IndexerServiceFragment.kt index 401b49145..6362def6b 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/service/IndexerComponent.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/service/IndexerServiceFragment.kt @@ -1,6 +1,6 @@ /* * Copyright (c) 2024 Auxio Project - * IndexerComponent.kt is part of Auxio. + * IndexerServiceFragment.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 @@ -35,7 +35,7 @@ import org.oxycblt.auxio.playback.state.PlaybackStateManager import org.oxycblt.auxio.util.getSystemServiceCompat import org.oxycblt.auxio.util.logD -class IndexingServiceFragment +class IndexerServiceFragment @Inject constructor( @ApplicationContext override val workerContext: Context, diff --git a/app/src/main/java/org/oxycblt/auxio/music/service/MediaItemTranslation.kt b/app/src/main/java/org/oxycblt/auxio/music/service/MediaItemTranslation.kt index 776fed706..2e92157b2 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/service/MediaItemTranslation.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/service/MediaItemTranslation.kt @@ -74,7 +74,7 @@ fun Song.toMediaItem(context: Context, parent: MusicParent?): MediaItem { .setMediaType(MediaMetadata.MEDIA_TYPE_MUSIC) .setIsPlayable(true) .setIsBrowsable(false) - .setArtworkUri(album.cover.single.mediaStoreUri) + .setArtworkUri(album.cover.single.mediaStoreCoverUri) .setExtras( Bundle().apply { putString("uid", mediaSessionUID.toString()) @@ -105,7 +105,7 @@ fun Album.toMediaItem(context: Context): MediaItem { .setMediaType(MediaMetadata.MEDIA_TYPE_ALBUM) .setIsPlayable(true) .setIsBrowsable(true) - .setArtworkUri(cover.single.mediaStoreUri) + .setArtworkUri(cover.single.mediaStoreCoverUri) .setExtras(Bundle().apply { putString("uid", mediaSessionUID.toString()) }) .build() return MediaItem.Builder() @@ -136,7 +136,7 @@ fun Artist.toMediaItem(context: Context): MediaItem { .setIsPlayable(true) .setIsBrowsable(true) .setGenre(genres.resolveNames(context)) - .setArtworkUri(cover.single.mediaStoreUri) + .setArtworkUri(cover.single.mediaStoreCoverUri) .setExtras(Bundle().apply { putString("uid", mediaSessionUID.toString()) }) .build() return MediaItem.Builder() @@ -159,7 +159,7 @@ fun Genre.toMediaItem(context: Context): MediaItem { .setMediaType(MediaMetadata.MEDIA_TYPE_GENRE) .setIsPlayable(true) .setIsBrowsable(true) - .setArtworkUri(cover.single.mediaStoreUri) + .setArtworkUri(cover.single.mediaStoreCoverUri) .setExtras(Bundle().apply { putString("uid", mediaSessionUID.toString()) }) .build() return MediaItem.Builder() @@ -182,7 +182,7 @@ fun Playlist.toMediaItem(context: Context): MediaItem { .setMediaType(MediaMetadata.MEDIA_TYPE_PLAYLIST) .setIsPlayable(true) .setIsBrowsable(true) - .setArtworkUri(cover?.single?.mediaStoreUri) + .setArtworkUri(cover?.single?.mediaStoreCoverUri) .setExtras(Bundle().apply { putString("uid", mediaSessionUID.toString()) }) .build() return MediaItem.Builder()