Playlist WIP

This commit is contained in:
h4h13 2020-04-25 19:11:32 +05:30
parent 2da9d1c5b7
commit 8416105354
3 changed files with 20 additions and 7 deletions

View file

@ -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)

View file

@ -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

View file

@ -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>?
)