Playlist WIP
This commit is contained in:
parent
2da9d1c5b7
commit
8416105354
3 changed files with 20 additions and 7 deletions
|
@ -8,7 +8,7 @@ import kotlinx.coroutines.launch
|
|||
|
||||
class NowPlayingQueue(context: Context) {
|
||||
|
||||
private val queueDao = MusicPlaybackQueueStoreDatabase.getMusicDatabase(context).queueDao()
|
||||
private val queueDao = QueueStoreDatabase.getMusicDatabase(context).queueDao()
|
||||
|
||||
private val musicQueueRepository: MusicQueueRepository = MusicQueueRepository(queueDao)
|
||||
|
||||
|
|
|
@ -6,24 +6,23 @@ import androidx.room.Room
|
|||
import androidx.room.RoomDatabase
|
||||
|
||||
@Database(entities = [SongEntity::class], version = 2, exportSchema = false)
|
||||
abstract class MusicPlaybackQueueStoreDatabase : RoomDatabase() {
|
||||
abstract class QueueStoreDatabase : RoomDatabase() {
|
||||
|
||||
abstract fun queueDao(): QueueDao
|
||||
|
||||
companion object {
|
||||
@Volatile
|
||||
private var INSTANCE: MusicPlaybackQueueStoreDatabase? = null
|
||||
private var INSTANCE: QueueStoreDatabase? = null
|
||||
|
||||
fun getMusicDatabase(context: Context): MusicPlaybackQueueStoreDatabase {
|
||||
val tempInstance =
|
||||
INSTANCE
|
||||
fun getMusicDatabase(context: Context): QueueStoreDatabase {
|
||||
val tempInstance = INSTANCE
|
||||
if (tempInstance != null) {
|
||||
return tempInstance
|
||||
}
|
||||
synchronized(this) {
|
||||
val instance = Room.databaseBuilder(
|
||||
context.applicationContext,
|
||||
MusicPlaybackQueueStoreDatabase::class.java,
|
||||
QueueStoreDatabase::class.java,
|
||||
"music_playback_state"
|
||||
).fallbackToDestructiveMigration().build()
|
||||
INSTANCE = instance
|
|
@ -0,0 +1,14 @@
|
|||
package code.name.monkey.retromusic.room.playlist
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import code.name.monkey.retromusic.room.SongEntity
|
||||
|
||||
@Entity(tableName = "playlist_entity")
|
||||
data class PlaylistEntity(
|
||||
@PrimaryKey(autoGenerate = true) @ColumnInfo(name = "id") val playlistId: Int,
|
||||
@ColumnInfo(name = "playlist_name") val playlistName: String?,
|
||||
@Embedded val songs: List<SongEntity>?
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue