From 89ee5a42b13c7db01d799b316ec8ff1787a1d440 Mon Sep 17 00:00:00 2001 From: Hemanth S Date: Thu, 14 May 2020 23:22:41 +0530 Subject: [PATCH] Removed room --- app/build.gradle | 5 -- .../code/name/monkey/retromusic/model/Song.kt | 56 ------------------- .../room/MusicPlaybackQueueStoreDatabase.kt | 36 ------------ .../retromusic/room/MusicQueueRepository.kt | 33 ----------- .../monkey/retromusic/room/NowPlayingQueue.kt | 30 ---------- .../name/monkey/retromusic/room/QueueDao.kt | 34 ----------- .../name/monkey/retromusic/room/SongEntity.kt | 46 --------------- .../monkey/retromusic/room/SongQueueEntity.kt | 46 --------------- .../room/playlist/PlaylistDatabase.kt | 22 -------- .../room/playlist/PlaylistDatabaseModel.kt | 27 --------- .../room/playlist/PlaylistEntity.kt | 17 ------ .../room/playlist/PlaylistRepository.kt | 11 ---- .../room/playlist/PlaylistSongDao.kt | 24 -------- .../room/playlist/PlaylistSongEntity.kt | 35 ------------ gradle.properties | 1 - 15 files changed, 423 deletions(-) delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/MusicPlaybackQueueStoreDatabase.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/MusicQueueRepository.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/NowPlayingQueue.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/QueueDao.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/SongEntity.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/SongQueueEntity.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistDatabase.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistDatabaseModel.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistEntity.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistRepository.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistSongDao.kt delete mode 100644 app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistSongEntity.kt diff --git a/app/build.gradle b/app/build.gradle index 7228fe1c..7427f3fa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -174,11 +174,6 @@ dependencies { implementation "com.google.dagger:dagger:$dagger_version" kapt "com.google.dagger:dagger-compiler:$dagger_version" - def room_version = "2.2.5" - implementation "androidx.room:room-runtime:$room_version" - kapt "androidx.room:room-compiler:$room_version" - implementation "androidx.room:room-ktx:$room_version" - def lifecycle_version = "2.2.0" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" diff --git a/app/src/main/java/code/name/monkey/retromusic/model/Song.kt b/app/src/main/java/code/name/monkey/retromusic/model/Song.kt index d662fa9a..0033b518 100644 --- a/app/src/main/java/code/name/monkey/retromusic/model/Song.kt +++ b/app/src/main/java/code/name/monkey/retromusic/model/Song.kt @@ -14,14 +14,9 @@ package code.name.monkey.retromusic.model import android.os.Parcelable -import code.name.monkey.retromusic.room.SongEntity -import code.name.monkey.retromusic.room.SongQueueEntity -import code.name.monkey.retromusic.room.playlist.PlaylistEntity -import code.name.monkey.retromusic.room.playlist.PlaylistSongEntity import kotlinx.android.parcel.Parcelize @Parcelize - open class Song( val id: Int, val title: String, @@ -39,57 +34,6 @@ open class Song( companion object { - fun toSongEntity(song: Song): SongQueueEntity { - return SongQueueEntity( - song.id, - song.title, - song.trackNumber, - song.year, - song.duration, - song.data, - song.dateModified, - song.albumId, - song.albumName, - song.artistId, - song.artistName, - song.composer - ) - } - - fun toSongQueueEntity(song: Song): SongEntity { - return SongEntity( - song.id, - song.title, - song.trackNumber, - song.year, - song.duration, - song.data, - song.dateModified, - song.albumId, - song.albumName, - song.artistId, - song.artistName, - song.composer - ) - } - - fun toPlaylistSong(song: Song, playlistEntity: PlaylistEntity): PlaylistSongEntity { - return PlaylistSongEntity( - playlistEntity.playlistId, - playlistEntity.playlistName, song.id, - song.title, - song.trackNumber, - song.year, - song.duration, - song.data, - song.dateModified, - song.albumId, - song.albumName, - song.artistId, - song.artistName, - song.composer - ) - } @JvmStatic val emptySong = Song( diff --git a/app/src/main/java/code/name/monkey/retromusic/room/MusicPlaybackQueueStoreDatabase.kt b/app/src/main/java/code/name/monkey/retromusic/room/MusicPlaybackQueueStoreDatabase.kt deleted file mode 100644 index 137933d4..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/MusicPlaybackQueueStoreDatabase.kt +++ /dev/null @@ -1,36 +0,0 @@ -package code.name.monkey.retromusic.room - -import android.content.Context -import androidx.room.Database -import androidx.room.Room -import androidx.room.RoomDatabase -import code.name.monkey.retromusic.BuildConfig -import code.name.monkey.retromusic.model.Song - -@Database(entities = [SongQueueEntity::class, SongEntity::class], version = 8, exportSchema = false) -abstract class MusicPlaybackQueueStoreDatabase : RoomDatabase() { - - abstract fun queueDao(): QueueDao - - companion object { - @Volatile - private var INSTANCE: MusicPlaybackQueueStoreDatabase? = null - - fun getMusicDatabase(context: Context): MusicPlaybackQueueStoreDatabase { - val tempInstance = - INSTANCE - if (tempInstance != null) { - return tempInstance - } - synchronized(this) { - val instance = Room.databaseBuilder( - context.applicationContext, - MusicPlaybackQueueStoreDatabase::class.java, - "music_playback_state" - ).fallbackToDestructiveMigration().build() - INSTANCE = instance - return instance - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/MusicQueueRepository.kt b/app/src/main/java/code/name/monkey/retromusic/room/MusicQueueRepository.kt deleted file mode 100644 index cf2a9269..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/MusicQueueRepository.kt +++ /dev/null @@ -1,33 +0,0 @@ -package code.name.monkey.retromusic.room - -import androidx.room.Transaction -import code.name.monkey.retromusic.model.Song - -class MusicQueueRepository(private val queueDao: QueueDao) { - - fun getQueue(): List = - queueDao.getQueue().map { SongQueueEntity.toSong(it) } - - fun getOriginalQueue(): List = - queueDao.getOriginalQueue().map { SongEntity.toSong(it) } - - suspend fun insertQueue(queue: List) { - deleteAndSave(queue) - } - - @Transaction - private suspend fun deleteAndSave(queue: List) { - queueDao.deleteQueue() - queueDao.saveQueue(queue.map { Song.toSongEntity(it) }) - } - - suspend fun insertOriginalQueue(queue: List) { - deleteAndSaveOriginalQueue(queue) - } - - @Transaction - private suspend fun deleteAndSaveOriginalQueue(queue: List) { - queueDao.deleteOriginalQueue() - queueDao.saveOriginalQueue(queue.map { Song.toSongQueueEntity(it) }) - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/NowPlayingQueue.kt b/app/src/main/java/code/name/monkey/retromusic/room/NowPlayingQueue.kt deleted file mode 100644 index 7d2f8747..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/NowPlayingQueue.kt +++ /dev/null @@ -1,30 +0,0 @@ -package code.name.monkey.retromusic.room - -import android.content.Context -import code.name.monkey.retromusic.model.Song -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.launch - -class NowPlayingQueue(context: Context) { - - private val queueDao = MusicPlaybackQueueStoreDatabase.getMusicDatabase(context).queueDao() - - private val musicQueueRepository: MusicQueueRepository = MusicQueueRepository(queueDao) - - fun saveQueue(songs: List) = GlobalScope.launch(Dispatchers.Default) { - musicQueueRepository.insertQueue(songs) - } - - fun saveOriginalQueue(songs: List) = GlobalScope.launch(Dispatchers.Default) { - musicQueueRepository.insertOriginalQueue(songs) - } - - fun getQueue(): List { - return musicQueueRepository.getQueue() - } - - fun getOriginalQueue(): List { - return musicQueueRepository.getOriginalQueue() - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/QueueDao.kt b/app/src/main/java/code/name/monkey/retromusic/room/QueueDao.kt deleted file mode 100644 index 119300d7..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/QueueDao.kt +++ /dev/null @@ -1,34 +0,0 @@ -package code.name.monkey.retromusic.room - -import androidx.room.Dao -import androidx.room.Insert -import androidx.room.OnConflictStrategy -import androidx.room.Query -import code.name.monkey.retromusic.BuildConfig -import code.name.monkey.retromusic.model.Song - -/** - * Created by hemanths on 2020-02-23. - */ -@Dao -interface QueueDao { - - @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun saveQueue(playingQueue: List) - - @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun saveOriginalQueue(playingQueue: List) - - - @Query("SELECT * FROM playing_queue_${BuildConfig.FLAVOR}") - fun getQueue(): List - - @Query("SELECT * FROM original_playing_queue_${BuildConfig.FLAVOR}") - fun getOriginalQueue(): List - - @Query("DELETE FROM playing_queue_${BuildConfig.FLAVOR}") - suspend fun deleteQueue() - - @Query("DELETE FROM original_playing_queue_${BuildConfig.FLAVOR}") - suspend fun deleteOriginalQueue() -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/SongEntity.kt b/app/src/main/java/code/name/monkey/retromusic/room/SongEntity.kt deleted file mode 100644 index ff5f62c2..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/SongEntity.kt +++ /dev/null @@ -1,46 +0,0 @@ -package code.name.monkey.retromusic.room - -import androidx.room.ColumnInfo -import androidx.room.Entity -import androidx.room.PrimaryKey -import code.name.monkey.retromusic.BuildConfig -import code.name.monkey.retromusic.model.Song - -@Entity(tableName = "original_playing_queue_${BuildConfig.FLAVOR}") -data class SongEntity( - @ColumnInfo(name = "id") val id: Int, - @ColumnInfo(name = "title") val title: String, - @ColumnInfo(name = "track_number") val trackNumber: Int, - @ColumnInfo(name = "year") val year: Int, - @ColumnInfo(name = "duration") val duration: Long, - @ColumnInfo(name = "data") val data: String, - @ColumnInfo(name = "date_modified") val dateModified: Long, - @ColumnInfo(name = "album_id") val albumId: Int, - @ColumnInfo(name = "album_name") val albumName: String, - @ColumnInfo(name = "artist_id") val artistId: Int, - @ColumnInfo(name = "artist_name") val artistName: String, - @ColumnInfo(name = "composer") val composer: String? -) { - @PrimaryKey(autoGenerate = true) - @ColumnInfo(name = "primary_id") - var primaryId: Int? = null - - companion object { - fun toSong(song: SongEntity): Song { - return Song( - song.id, - song.title, - song.trackNumber, - song.year, - song.duration, - song.data, - song.dateModified, - song.albumId, - song.albumName, - song.artistId, - song.artistName, - song.composer - ) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/SongQueueEntity.kt b/app/src/main/java/code/name/monkey/retromusic/room/SongQueueEntity.kt deleted file mode 100644 index 0527f397..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/SongQueueEntity.kt +++ /dev/null @@ -1,46 +0,0 @@ -package code.name.monkey.retromusic.room - -import androidx.room.ColumnInfo -import androidx.room.Entity -import androidx.room.PrimaryKey -import code.name.monkey.retromusic.BuildConfig -import code.name.monkey.retromusic.model.Song - -@Entity(tableName = "playing_queue_${BuildConfig.FLAVOR}") -data class SongQueueEntity( - @ColumnInfo(name = "id") var id: Int, - @ColumnInfo(name = "title") var title: String, - @ColumnInfo(name = "track_number") var trackNumber: Int, - @ColumnInfo(name = "year") var year: Int, - @ColumnInfo(name = "duration") var duration: Long, - @ColumnInfo(name = "data") var data: String, - @ColumnInfo(name = "date_modified") var dateModified: Long, - @ColumnInfo(name = "album_id") var albumId: Int, - @ColumnInfo(name = "album_name") var albumName: String, - @ColumnInfo(name = "artist_id") var artistId: Int, - @ColumnInfo(name = "artist_name") var artistName: String, - @ColumnInfo(name = "composer") var composer: String? -) { - @PrimaryKey(autoGenerate = true) - @ColumnInfo(name = "primary_id") - var primaryId: Int? = null - - companion object { - fun toSong(song: SongQueueEntity): Song { - return Song( - song.id, - song.title, - song.trackNumber, - song.year, - song.duration, - song.data, - song.dateModified, - song.albumId, - song.albumName, - song.artistId, - song.artistName, - song.composer - ) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistDatabase.kt b/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistDatabase.kt deleted file mode 100644 index b2bd5585..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistDatabase.kt +++ /dev/null @@ -1,22 +0,0 @@ -package code.name.monkey.retromusic.room.playlist - -import androidx.room.Database -import androidx.room.Room -import androidx.room.RoomDatabase -import code.name.monkey.retromusic.App - -@Database( - entities = [PlaylistSongEntity::class, PlaylistEntity::class], - version = 6, - exportSchema = false -) -abstract class PlaylistDatabase : RoomDatabase() { - abstract fun playlistDao(): PlaylistSongDao - - companion object { - fun instance() = Room.databaseBuilder( - App.getContext().applicationContext, - PlaylistDatabase::class.java, "retro_playlist" - ).fallbackToDestructiveMigration().build() - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistDatabaseModel.kt b/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistDatabaseModel.kt deleted file mode 100644 index da0c640f..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistDatabaseModel.kt +++ /dev/null @@ -1,27 +0,0 @@ -package code.name.monkey.retromusic.room.playlist - -import code.name.monkey.retromusic.model.Song -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.launch - -class PlaylistDatabaseModel() { - private val playlistSongDao = PlaylistDatabase.instance().playlistDao(); - - suspend fun getPlaylistNames(): List = playlistSongDao.getPlaylists() - - fun savePlaylist(playlistEntity: PlaylistEntity) = GlobalScope.launch(Dispatchers.IO) { - playlistSongDao.addPlaylist(playlistEntity) - } - - fun addSongsToPlaylist(songs: List, playlistEntity: PlaylistEntity) = - GlobalScope.launch(Dispatchers.IO) { - songs.map { Song.toPlaylistSong(it, playlistEntity) }.map { - val isExist = - playlistSongDao.checkPlaylistSongExist(it.playlistId, it.id).isEmpty() - if (isExist) { - playlistSongDao.insertSingle(it) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistEntity.kt b/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistEntity.kt deleted file mode 100644 index 5ac443ef..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistEntity.kt +++ /dev/null @@ -1,17 +0,0 @@ -package code.name.monkey.retromusic.room.playlist - -import android.os.Parcelable -import androidx.room.ColumnInfo -import androidx.room.Entity -import androidx.room.PrimaryKey -import kotlinx.android.parcel.Parcelize - -@Parcelize -@Entity(tableName = "playlist_table") -class PlaylistEntity( - @ColumnInfo(name = "playlist_name") val playlistName: String -) : Parcelable { - @PrimaryKey(autoGenerate = true) - @ColumnInfo(name = "playlist_id") - var playlistId: Int = 0 -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistRepository.kt b/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistRepository.kt deleted file mode 100644 index efc5b76b..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistRepository.kt +++ /dev/null @@ -1,11 +0,0 @@ -package code.name.monkey.retromusic.room.playlist - -class PlaylistRepository(private val playlistSongDao: PlaylistSongDao) { - suspend fun insertPlaylist(playlistEntity: PlaylistEntity) { - playlistSongDao.addPlaylist(playlistEntity) - } - - suspend fun insertPlaylistSongs(songs: List) { - playlistSongDao.addPlaylistSongs(songs) - } -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistSongDao.kt b/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistSongDao.kt deleted file mode 100644 index e4fbad00..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistSongDao.kt +++ /dev/null @@ -1,24 +0,0 @@ -package code.name.monkey.retromusic.room.playlist - -import androidx.room.Dao -import androidx.room.Insert -import androidx.room.OnConflictStrategy -import androidx.room.Query - -@Dao -interface PlaylistSongDao { - @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun addPlaylistSongs(playlistSongs: List) - - @Query("SELECT * FROM playlist_songs WHERE playlist_id =:playlistId AND id=:id") - suspend fun checkPlaylistSongExist(playlistId: Int, id: Int): List - - @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun addPlaylist(playlistEntity: PlaylistEntity) - - @Query("SELECT * FROM playlist_table") - suspend fun getPlaylists(): List - - @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun insertSingle(playlistSongEntity: PlaylistSongEntity) -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistSongEntity.kt b/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistSongEntity.kt deleted file mode 100644 index c8ca1a30..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/room/playlist/PlaylistSongEntity.kt +++ /dev/null @@ -1,35 +0,0 @@ -package code.name.monkey.retromusic.room.playlist - -import androidx.room.ColumnInfo -import androidx.room.Entity -import androidx.room.ForeignKey -import androidx.room.PrimaryKey - -@Entity(tableName = "playlist_songs") -class PlaylistSongEntity( - @ForeignKey( - entity = PlaylistEntity::class, - childColumns = ["playlist_id"], - parentColumns = ["playlist_id"], - onDelete = ForeignKey.CASCADE - ) - @ColumnInfo(name = "playlist_id") val playlistId: Int, - @ColumnInfo(name = "playlist_name") val playlistName: String, - - @ColumnInfo(name = "id") val id: Int, - @ColumnInfo(name = "title") val title: String, - @ColumnInfo(name = "track_number") val trackNumber: Int, - @ColumnInfo(name = "year") val year: Int, - @ColumnInfo(name = "duration") val duration: Long, - @ColumnInfo(name = "data") val data: String, - @ColumnInfo(name = "date_modified") val dateModified: Long, - @ColumnInfo(name = "album_id") val albumId: Int, - @ColumnInfo(name = "album_name") val albumName: String, - @ColumnInfo(name = "artist_id") val artistId: Int, - @ColumnInfo(name = "artist_name") val artistName: String, - @ColumnInfo(name = "composer") val composer: String? -) { - @PrimaryKey(autoGenerate = true) - @ColumnInfo(name = "song_id") - var songId: Int = 0 -} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index a09e1510..181b62cc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,5 +8,4 @@ android.enableR8.fullMode=false android.enableJetifier=true android.debug.obsoleteApi=true android.enableBuildCache=true -android.jetifier.blacklist = butterknife.*\\.jar kotlin.code.style=official \ No newline at end of file