musikr: hide playlist database
This commit is contained in:
parent
a4cca0ca79
commit
503a4854c3
4 changed files with 10 additions and 10 deletions
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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) =
|
||||||
|
|
|
@ -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())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue