musikr: hide playlist database

This commit is contained in:
Alexander Capehart 2024-12-21 11:44:42 -05:00
parent a4cca0ca79
commit 503a4854c3
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
4 changed files with 10 additions and 10 deletions

View file

@ -27,7 +27,7 @@ import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton import javax.inject.Singleton
import org.oxycblt.musikr.cache.CacheDatabase import org.oxycblt.musikr.cache.CacheDatabase
import org.oxycblt.musikr.playlist.db.PlaylistDatabase import org.oxycblt.musikr.playlist.db.StoredPlaylists
@Module @Module
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)
@ -46,5 +46,5 @@ class MusikrShimModule {
@Singleton @Singleton
@Provides @Provides
fun playlistDatabase(@ApplicationContext context: Context) = PlaylistDatabase.from(context) fun storedPlaylists(@ApplicationContext context: Context) = StoredPlaylists.from(context)
} }

View file

@ -39,7 +39,6 @@ import org.oxycblt.musikr.Song
import org.oxycblt.musikr.Storage import org.oxycblt.musikr.Storage
import org.oxycblt.musikr.cache.Cache import org.oxycblt.musikr.cache.Cache
import org.oxycblt.musikr.cache.CacheDatabase import org.oxycblt.musikr.cache.CacheDatabase
import org.oxycblt.musikr.playlist.db.PlaylistDatabase
import org.oxycblt.musikr.playlist.db.StoredPlaylists import org.oxycblt.musikr.playlist.db.StoredPlaylists
import org.oxycblt.musikr.tag.interpret.Naming import org.oxycblt.musikr.tag.interpret.Naming
import org.oxycblt.musikr.tag.interpret.Separators import org.oxycblt.musikr.tag.interpret.Separators
@ -216,7 +215,7 @@ class MusicRepositoryImpl
constructor( constructor(
@ApplicationContext private val context: Context, @ApplicationContext private val context: Context,
private val cacheDatabase: CacheDatabase, private val cacheDatabase: CacheDatabase,
private val playlistDatabase: PlaylistDatabase, private val storedPlaylists: StoredPlaylists,
private val musicSettings: MusicSettings private val musicSettings: MusicSettings
) : MusicRepository { ) : MusicRepository {
private val updateListeners = mutableListOf<MusicRepository.UpdateListener>() private val updateListeners = mutableListOf<MusicRepository.UpdateListener>()
@ -371,14 +370,14 @@ constructor(
Storage( Storage(
Cache.full(cacheDatabase), Cache.full(cacheDatabase),
MutableRevisionedStoredCovers(context, revision), MutableRevisionedStoredCovers(context, revision),
StoredPlaylists.from(playlistDatabase)) storedPlaylists)
} else { } else {
revision = UUID.randomUUID() revision = UUID.randomUUID()
storage = storage =
Storage( Storage(
Cache.writeOnly(cacheDatabase), Cache.writeOnly(cacheDatabase),
MutableRevisionedStoredCovers(context, revision), MutableRevisionedStoredCovers(context, revision),
StoredPlaylists.from(playlistDatabase)) storedPlaylists)
} }
val interpretation = Interpretation(nameFactory, separators) val interpretation = Interpretation(nameFactory, separators)

View file

@ -40,8 +40,8 @@ import org.oxycblt.musikr.Music
version = 30, version = 30,
exportSchema = false) exportSchema = false)
@TypeConverters(Music.UID.TypeConverters::class) @TypeConverters(Music.UID.TypeConverters::class)
abstract class PlaylistDatabase : RoomDatabase() { internal abstract class PlaylistDatabase : RoomDatabase() {
internal abstract fun playlistDao(): PlaylistDao abstract fun playlistDao(): PlaylistDao
companion object { companion object {
fun from(context: Context) = fun from(context: Context) =

View file

@ -18,6 +18,7 @@
package org.oxycblt.musikr.playlist.db package org.oxycblt.musikr.playlist.db
import android.content.Context
import org.oxycblt.musikr.Music import org.oxycblt.musikr.Music
import org.oxycblt.musikr.Song import org.oxycblt.musikr.Song
import org.oxycblt.musikr.playlist.PlaylistFile import org.oxycblt.musikr.playlist.PlaylistFile
@ -30,8 +31,8 @@ abstract class StoredPlaylists {
internal abstract suspend fun read(): List<PlaylistFile> internal abstract suspend fun read(): List<PlaylistFile>
companion object { companion object {
fun from(database: PlaylistDatabase): StoredPlaylists = fun from(context: Context): StoredPlaylists =
StoredPlaylistsImpl(database.playlistDao()) StoredPlaylistsImpl(PlaylistDatabase.from(context).playlistDao())
} }
} }