- migrated ids from int
to long
- some cleaning
This commit is contained in:
parent
90bca59192
commit
9e46d74507
58 changed files with 708 additions and 635 deletions
|
@ -178,11 +178,11 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
|
|||
GridLayoutManager(requireContext(), 2, GridLayoutManager.VERTICAL, false)
|
||||
|
||||
|
||||
override fun onArtist(artistId: Int, imageView: ImageView) {
|
||||
override fun onArtist(artistId: Long, imageView: ImageView) {
|
||||
|
||||
}
|
||||
|
||||
override fun onAlbumClick(albumId: Int, view: View) {
|
||||
override fun onAlbumClick(albumId: Long, view: View) {
|
||||
|
||||
}
|
||||
}
|
|
@ -177,7 +177,7 @@ class LibraryViewModel(
|
|||
)
|
||||
}
|
||||
|
||||
fun renameRoomPlaylist(playListId: Int, name: String) = viewModelScope.launch(IO) {
|
||||
fun renameRoomPlaylist(playListId: Long, name: String) = viewModelScope.launch(IO) {
|
||||
repository.renameRoomPlaylist(playListId, name)
|
||||
}
|
||||
|
||||
|
@ -193,8 +193,8 @@ class LibraryViewModel(
|
|||
repository.deleteRoomPlaylist(playlists)
|
||||
}
|
||||
|
||||
suspend fun albumById(id: Int) = repository.albumById(id)
|
||||
suspend fun artistById(id: Int) = repository.artistById(id)
|
||||
suspend fun albumById(id: Long) = repository.albumById(id)
|
||||
suspend fun artistById(id: Long) = repository.artistById(id)
|
||||
suspend fun favoritePlaylist() = repository.favoritePlaylist()
|
||||
suspend fun isFavoriteSong(song: SongEntity) = repository.isFavoriteSong(song)
|
||||
suspend fun insertSongs(songs: List<SongEntity>) = repository.insertSongs(songs)
|
||||
|
@ -217,9 +217,9 @@ class LibraryViewModel(
|
|||
}
|
||||
repository.insertSongs(songEntities)
|
||||
} else {
|
||||
val playListId = createPlaylist(PlaylistEntity(playlist.name))
|
||||
val playListId = createPlaylist(PlaylistEntity(playlistName = playlist.name))
|
||||
val songEntities = playlist.getSongs().map {
|
||||
it.toSongEntity(playListId.toInt())
|
||||
it.toSongEntity(playListId)
|
||||
}
|
||||
repository.insertSongs(songEntities)
|
||||
}
|
||||
|
|
|
@ -254,7 +254,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
|
|||
playAction.applyOutlineColor(color)
|
||||
}
|
||||
|
||||
override fun onAlbumClick(albumId: Int, view: View) {
|
||||
override fun onAlbumClick(albumId: Long, view: View) {
|
||||
findNavController().navigate(
|
||||
R.id.albumDetailsFragment,
|
||||
bundleOf(EXTRA_ALBUM_ID to albumId)
|
||||
|
@ -349,29 +349,31 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
|
|||
|
||||
private fun setSaveSortOrder(sortOrder: String) {
|
||||
PreferenceUtil.albumDetailSongSortOrder = sortOrder
|
||||
when (sortOrder) {
|
||||
SortOrder.AlbumSongSortOrder.SONG_TRACK_LIST -> album.songs?.sortWith(Comparator { o1, o2 ->
|
||||
val songs = when (sortOrder) {
|
||||
SortOrder.AlbumSongSortOrder.SONG_TRACK_LIST -> album.songs.sortedWith { o1, o2 ->
|
||||
o1.trackNumber.compareTo(
|
||||
o2.trackNumber
|
||||
)
|
||||
})
|
||||
SortOrder.AlbumSongSortOrder.SONG_A_Z -> album.songs?.sortWith(Comparator { o1, o2 ->
|
||||
}
|
||||
SortOrder.AlbumSongSortOrder.SONG_A_Z -> album.songs.sortedWith { o1, o2 ->
|
||||
o1.title.compareTo(
|
||||
o2.title
|
||||
)
|
||||
})
|
||||
SortOrder.AlbumSongSortOrder.SONG_Z_A -> album.songs?.sortWith(Comparator { o1, o2 ->
|
||||
}
|
||||
SortOrder.AlbumSongSortOrder.SONG_Z_A -> album.songs.sortedWith { o1, o2 ->
|
||||
o2.title.compareTo(
|
||||
o1.title
|
||||
)
|
||||
})
|
||||
SortOrder.AlbumSongSortOrder.SONG_DURATION -> album.songs?.sortWith(Comparator { o1, o2 ->
|
||||
}
|
||||
SortOrder.AlbumSongSortOrder.SONG_DURATION -> album.songs.sortedWith { o1, o2 ->
|
||||
o1.duration.compareTo(
|
||||
o2.duration
|
||||
)
|
||||
})
|
||||
}
|
||||
else -> throw IllegalArgumentException("invalid $sortOrder")
|
||||
}
|
||||
album.songs?.let { simpleSongAdapter.swapDataSet(it) }
|
||||
album = album.copy(songs = songs)
|
||||
simpleSongAdapter.swapDataSet(album.songs)
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -13,14 +13,14 @@ import kotlinx.coroutines.Dispatchers.IO
|
|||
|
||||
class AlbumDetailsViewModel(
|
||||
private val repository: RealRepository,
|
||||
private val albumId: Int
|
||||
private val albumId: Long
|
||||
) : ViewModel(), MusicServiceEventListener {
|
||||
|
||||
fun getAlbum(): LiveData<Album> = liveData(IO) {
|
||||
emit(repository.albumByIdAsync(albumId))
|
||||
}
|
||||
|
||||
fun getArtist(artistId: Int): LiveData<Artist> = liveData(IO) {
|
||||
fun getArtist(artistId: Long): LiveData<Artist> = liveData(IO) {
|
||||
val artist = repository.artistById(artistId)
|
||||
emit(artist)
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ class AlbumDetailsViewModel(
|
|||
}
|
||||
|
||||
fun getMoreAlbums(artist: Artist): LiveData<List<Album>> = liveData(IO) {
|
||||
artist.albums?.filter { item -> item.id != albumId }?.let { albums ->
|
||||
artist.albums.filter { item -> item.id != albumId }.let { albums ->
|
||||
if (albums.isNotEmpty()) emit(albums)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ class AlbumsFragment : AbsRecyclerViewCustomGridSizeFragment<AlbumAdapter, GridL
|
|||
}
|
||||
}
|
||||
|
||||
override fun onAlbumClick(albumId: Int, view: View) {
|
||||
override fun onAlbumClick(albumId: Long, view: View) {
|
||||
findActivityNavController(R.id.fragment_container).navigate(
|
||||
R.id.albumDetailsFragment,
|
||||
bundleOf(EXTRA_ALBUM_ID to albumId),
|
||||
|
@ -285,5 +285,5 @@ class AlbumsFragment : AbsRecyclerViewCustomGridSizeFragment<AlbumAdapter, GridL
|
|||
}
|
||||
|
||||
interface AlbumClickListener {
|
||||
fun onAlbumClick(albumId: Int, view: View)
|
||||
fun onAlbumClick(albumId: Long, view: View)
|
||||
}
|
|
@ -206,7 +206,7 @@ class ArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_artist_d
|
|||
}
|
||||
|
||||
|
||||
override fun onAlbumClick(albumId: Int, view: View) {
|
||||
override fun onAlbumClick(albumId: Long, view: View) {
|
||||
findNavController().navigate(
|
||||
R.id.albumDetailsFragment,
|
||||
bundleOf(EXTRA_ALBUM_ID to albumId),
|
||||
|
|
|
@ -12,7 +12,7 @@ import kotlinx.coroutines.Dispatchers.IO
|
|||
|
||||
class ArtistDetailsViewModel(
|
||||
private val realRepository: RealRepository,
|
||||
private val artistId: Int
|
||||
private val artistId: Long
|
||||
) : ViewModel(), MusicServiceEventListener {
|
||||
|
||||
fun getArtist(): LiveData<Artist> = liveData(IO) {
|
||||
|
|
|
@ -96,7 +96,7 @@ class ArtistsFragment : AbsRecyclerViewCustomGridSizeFragment<ArtistAdapter, Gri
|
|||
}
|
||||
}
|
||||
|
||||
override fun onArtist(artistId: Int, imageView: ImageView) {
|
||||
override fun onArtist(artistId: Long, imageView: ImageView) {
|
||||
val controller = findActivityNavController(R.id.fragment_container)
|
||||
controller.navigate(R.id.artistDetailsFragment, bundleOf(EXTRA_ARTIST_ID to artistId))
|
||||
}
|
||||
|
@ -258,5 +258,5 @@ class ArtistsFragment : AbsRecyclerViewCustomGridSizeFragment<ArtistAdapter, Gri
|
|||
}
|
||||
|
||||
interface ArtistClickListener {
|
||||
fun onArtist(artistId: Int, imageView: ImageView)
|
||||
fun onArtist(artistId: Long, imageView: ImageView)
|
||||
}
|
|
@ -50,9 +50,9 @@ class ImportPlaylistFragment :
|
|||
if (playlist.name.isNotEmpty()) {
|
||||
if (libraryViewModel.checkPlaylistExists(playlist.name).isEmpty()) {
|
||||
val playlistId: Long =
|
||||
libraryViewModel.createPlaylist(PlaylistEntity(playlist.name))
|
||||
libraryViewModel.createPlaylist(PlaylistEntity(playlistName = playlist.name))
|
||||
libraryViewModel.insertSongs(playlist.getSongs().map {
|
||||
it.toSongEntity(playlistId.toInt())
|
||||
it.toSongEntity(playlistId)
|
||||
})
|
||||
libraryViewModel.forceReload(Playlists)
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue