mirror of
https://github.com/antebudimir/tempus.git
synced 2026-01-01 01:53:31 +00:00
Added media type to class and replaced "song" with a generic "media"
This commit is contained in:
parent
eecbed2f61
commit
51cd88dd3f
9 changed files with 52 additions and 38 deletions
|
|
@ -45,8 +45,8 @@ public interface DownloadDao {
|
|||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
void insertAll(List<Download> downloads);
|
||||
|
||||
@Query("DELETE FROM download WHERE songId = :songId")
|
||||
void delete(String songId);
|
||||
@Query("DELETE FROM download WHERE mediaId = :mediaId")
|
||||
void delete(String mediaId);
|
||||
|
||||
@Query("DELETE FROM download WHERE server=:server")
|
||||
void deleteAll(String server);
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ public class Download {
|
|||
@ColumnInfo(name = "id")
|
||||
private String id;
|
||||
|
||||
@ColumnInfo(name = "songId")
|
||||
private String songID;
|
||||
@ColumnInfo(name = "mediaId")
|
||||
private String mediaID;
|
||||
|
||||
@ColumnInfo(name = "title")
|
||||
private String title;
|
||||
|
|
@ -54,9 +54,12 @@ public class Download {
|
|||
@ColumnInfo(name = "playlistName")
|
||||
private String playlistName;
|
||||
|
||||
public Download(@NonNull String id, String songID, String title, String albumId, String albumName, String artistId, String artistName, int trackNumber, String primary, long duration, String server, String playlistId, String playlistName) {
|
||||
@ColumnInfo(name = "type")
|
||||
private String type;
|
||||
|
||||
public Download(@NonNull String id, String mediaID, String title, String albumId, String albumName, String artistId, String artistName, int trackNumber, String primary, long duration, String server, String playlistId, String playlistName, String type) {
|
||||
this.id = id;
|
||||
this.songID = songID;
|
||||
this.mediaID = mediaID;
|
||||
this.title = title;
|
||||
this.albumId = albumId;
|
||||
this.albumName = albumName;
|
||||
|
|
@ -68,22 +71,24 @@ public class Download {
|
|||
this.server = server;
|
||||
this.playlistId = playlistId;
|
||||
this.playlistName = playlistName;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public Download(Media song, String playlistId, String playlistName) {
|
||||
public Download(Media media, String playlistId, String playlistName) {
|
||||
this.id = UUID.randomUUID().toString();
|
||||
this.songID = song.getId();
|
||||
this.title = song.getTitle();
|
||||
this.albumId = song.getAlbumId();
|
||||
this.albumName = song.getAlbumName();
|
||||
this.artistId = song.getArtistId();
|
||||
this.artistName = MusicUtil.normalizedArtistName(song.getArtistName());
|
||||
this.trackNumber = song.getTrackNumber();
|
||||
this.primary = song.getCoverArtId();
|
||||
this.duration = song.getDuration();
|
||||
this.mediaID = media.getId();
|
||||
this.title = media.getTitle();
|
||||
this.albumId = media.getAlbumId();
|
||||
this.albumName = media.getAlbumName();
|
||||
this.artistId = media.getArtistId();
|
||||
this.artistName = MusicUtil.normalizedArtistName(media.getArtistName());
|
||||
this.trackNumber = media.getTrackNumber();
|
||||
this.primary = media.getCoverArtId();
|
||||
this.duration = media.getDuration();
|
||||
this.server = PreferenceUtil.getInstance(App.getInstance()).getServerId();
|
||||
this.playlistId = playlistId;
|
||||
this.playlistName = playlistName;
|
||||
this.type = media.getType();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
|
@ -95,12 +100,12 @@ public class Download {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public String getSongID() {
|
||||
return songID;
|
||||
public String getMediaID() {
|
||||
return mediaID;
|
||||
}
|
||||
|
||||
public void setSongID(String songID) {
|
||||
this.songID = songID;
|
||||
public void setMediaID(String mediaID) {
|
||||
this.mediaID = mediaID;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
|
|
@ -190,4 +195,12 @@ public class Download {
|
|||
public void setPlaylistName(String playlistName) {
|
||||
this.playlistName = playlistName;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ public class Media implements Parcelable {
|
|||
}
|
||||
|
||||
public Media(Download download) {
|
||||
this.id = download.getSongID();
|
||||
this.id = download.getMediaID();
|
||||
this.title = download.getTitle();
|
||||
this.albumId = download.getAlbumId();
|
||||
this.albumName = download.getAlbumName();
|
||||
|
|
@ -128,6 +128,7 @@ public class Media implements Parcelable {
|
|||
this.trackNumber = download.getTrackNumber();
|
||||
this.coverArtId = download.getPrimary();
|
||||
this.duration = download.getDuration();
|
||||
this.type = download.getType();
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ public class DownloadRepository {
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
downloadDao.delete(download.getSongID());
|
||||
downloadDao.delete(download.getMediaID());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,17 +128,17 @@ public class MappingUtil {
|
|||
return playlist;
|
||||
}
|
||||
|
||||
public static ArrayList<Media> mapDownloadToSong(List<Download> downloads) {
|
||||
ArrayList<Media> songs = new ArrayList();
|
||||
public static ArrayList<Media> mapDownloadToMedia(List<Download> downloads) {
|
||||
ArrayList<Media> media = new ArrayList();
|
||||
|
||||
for (Download download : downloads) {
|
||||
Media song = new Media(download);
|
||||
if (!songs.contains(song)) {
|
||||
songs.add(song);
|
||||
Media item = new Media(download);
|
||||
if (!media.contains(item)) {
|
||||
media.add(item);
|
||||
}
|
||||
}
|
||||
|
||||
return songs;
|
||||
return media;
|
||||
}
|
||||
|
||||
public static ArrayList<Album> mapDownloadToAlbum(List<Download> downloads) {
|
||||
|
|
@ -177,18 +177,18 @@ public class MappingUtil {
|
|||
return playlists;
|
||||
}
|
||||
|
||||
public static ArrayList<Download> mapDownload(List<Media> songs, String playlistId, String playlistName) {
|
||||
public static ArrayList<Download> mapDownload(List<Media> media, String playlistId, String playlistName) {
|
||||
ArrayList<Download> downloads = new ArrayList();
|
||||
|
||||
for (Media song : songs) {
|
||||
downloads.add(new Download(song, playlistId, playlistName));
|
||||
for (Media item : media) {
|
||||
downloads.add(new Download(item, playlistId, playlistName));
|
||||
}
|
||||
|
||||
return downloads;
|
||||
}
|
||||
|
||||
public static Download mapDownload(Media song, String playlistId, String playlistName) {
|
||||
return new Download(song, playlistId, playlistName);
|
||||
public static Download mapDownload(Media media, String playlistId, String playlistName) {
|
||||
return new Download(media, playlistId, playlistName);
|
||||
}
|
||||
|
||||
public static ArrayList<com.cappielloantonio.play.model.Genre> mapGenre(List<Genre> genreList) {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public class AlbumPageViewModel extends AndroidViewModel {
|
|||
|
||||
public LiveData<List<Media>> getAlbumSongLiveList(LifecycleOwner owner) {
|
||||
if (isOffline) {
|
||||
downloadRepository.getLiveDownloadFromAlbum(album.getId()).observe(owner, downloads -> songLiveList.postValue(MappingUtil.mapDownloadToSong(downloads)));
|
||||
downloadRepository.getLiveDownloadFromAlbum(album.getId()).observe(owner, downloads -> songLiveList.postValue(MappingUtil.mapDownloadToMedia(downloads)));
|
||||
} else {
|
||||
songLiveList = albumRepository.getAlbumTracks(album.getId());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class DownloadViewModel extends AndroidViewModel {
|
|||
}
|
||||
|
||||
public LiveData<List<Media>> getDownloadedTracks(LifecycleOwner owner, int size) {
|
||||
downloadRepository.getLiveDownloadSample(size, false, false, true, false).observe(owner, downloads -> downloadedTrackSample.postValue(MappingUtil.mapDownloadToSong(downloads)));
|
||||
downloadRepository.getLiveDownloadSample(size, false, false, true, false).observe(owner, downloads -> downloadedTrackSample.postValue(MappingUtil.mapDownloadToMedia(downloads)));
|
||||
return downloadedTrackSample;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public class PlaylistPageViewModel extends AndroidViewModel {
|
|||
|
||||
public LiveData<List<Media>> getPlaylistSongLiveList(LifecycleOwner owner) {
|
||||
if (isOffline) {
|
||||
downloadRepository.getLiveDownloadFromPlaylist(playlist.getId()).observe(owner, downloads -> playlistSongLiveList.postValue(MappingUtil.mapDownloadToSong(downloads)));
|
||||
downloadRepository.getLiveDownloadFromPlaylist(playlist.getId()).observe(owner, downloads -> playlistSongLiveList.postValue(MappingUtil.mapDownloadToMedia(downloads)));
|
||||
} else {
|
||||
playlistSongLiveList = playlistRepository.getPlaylistSongs(playlist.getId());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,10 +67,10 @@ public class SongListPageViewModel extends AndroidViewModel {
|
|||
songList = songRepository.getStarredSongs(false, -1);
|
||||
break;
|
||||
case Media.DOWNLOADED:
|
||||
downloadRepository.getLiveDownload().observe(owner, downloads -> songList.setValue(MappingUtil.mapDownloadToSong(downloads)));
|
||||
downloadRepository.getLiveDownload().observe(owner, downloads -> songList.setValue(MappingUtil.mapDownloadToMedia(downloads)));
|
||||
break;
|
||||
case Media.FROM_ALBUM:
|
||||
downloadRepository.getLiveDownloadFromAlbum(album.getId()).observe(owner, downloads -> songList.setValue(MappingUtil.mapDownloadToSong(downloads)));
|
||||
downloadRepository.getLiveDownloadFromAlbum(album.getId()).observe(owner, downloads -> songList.setValue(MappingUtil.mapDownloadToMedia(downloads)));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue