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) {
|
class NowPlayingQueue(context: Context) {
|
||||||
|
|
||||||
private val queueDao = MusicPlaybackQueueStoreDatabase.getMusicDatabase(context).queueDao()
|
private val queueDao = QueueStoreDatabase.getMusicDatabase(context).queueDao()
|
||||||
|
|
||||||
private val musicQueueRepository: MusicQueueRepository = MusicQueueRepository(queueDao)
|
private val musicQueueRepository: MusicQueueRepository = MusicQueueRepository(queueDao)
|
||||||
|
|
||||||
|
|
|
@ -6,24 +6,23 @@ import androidx.room.Room
|
||||||
import androidx.room.RoomDatabase
|
import androidx.room.RoomDatabase
|
||||||
|
|
||||||
@Database(entities = [SongEntity::class], version = 2, exportSchema = false)
|
@Database(entities = [SongEntity::class], version = 2, exportSchema = false)
|
||||||
abstract class MusicPlaybackQueueStoreDatabase : RoomDatabase() {
|
abstract class QueueStoreDatabase : RoomDatabase() {
|
||||||
|
|
||||||
abstract fun queueDao(): QueueDao
|
abstract fun queueDao(): QueueDao
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@Volatile
|
@Volatile
|
||||||
private var INSTANCE: MusicPlaybackQueueStoreDatabase? = null
|
private var INSTANCE: QueueStoreDatabase? = null
|
||||||
|
|
||||||
fun getMusicDatabase(context: Context): MusicPlaybackQueueStoreDatabase {
|
fun getMusicDatabase(context: Context): QueueStoreDatabase {
|
||||||
val tempInstance =
|
val tempInstance = INSTANCE
|
||||||
INSTANCE
|
|
||||||
if (tempInstance != null) {
|
if (tempInstance != null) {
|
||||||
return tempInstance
|
return tempInstance
|
||||||
}
|
}
|
||||||
synchronized(this) {
|
synchronized(this) {
|
||||||
val instance = Room.databaseBuilder(
|
val instance = Room.databaseBuilder(
|
||||||
context.applicationContext,
|
context.applicationContext,
|
||||||
MusicPlaybackQueueStoreDatabase::class.java,
|
QueueStoreDatabase::class.java,
|
||||||
"music_playback_state"
|
"music_playback_state"
|
||||||
).fallbackToDestructiveMigration().build()
|
).fallbackToDestructiveMigration().build()
|
||||||
INSTANCE = instance
|
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