mirror of
https://github.com/antebudimir/tempus.git
synced 2026-01-01 09:53:33 +00:00
First reimplementation of download functionality
This commit is contained in:
parent
77a3b90b4e
commit
3e7d260d6a
16 changed files with 143 additions and 92 deletions
|
|
@ -8,10 +8,10 @@ import androidx.lifecycle.LifecycleOwner;
|
|||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import com.cappielloantonio.play.model.Album;
|
||||
import com.cappielloantonio.play.model.Artist;
|
||||
import com.cappielloantonio.play.model.Playlist;
|
||||
import com.cappielloantonio.play.repository.DownloadRepository;
|
||||
import com.cappielloantonio.play.subsonic.models.AlbumID3;
|
||||
import com.cappielloantonio.play.subsonic.models.ArtistID3;
|
||||
import com.cappielloantonio.play.subsonic.models.Child;
|
||||
import com.cappielloantonio.play.util.MappingUtil;
|
||||
|
||||
|
|
@ -23,8 +23,8 @@ public class DownloadViewModel extends AndroidViewModel {
|
|||
|
||||
private final DownloadRepository downloadRepository;
|
||||
|
||||
private final MutableLiveData<List<Artist>> downloadedArtistSample = new MutableLiveData<>(null);
|
||||
private final MutableLiveData<List<Album>> downloadedAlbumSample = new MutableLiveData<>(null);
|
||||
private final MutableLiveData<List<ArtistID3>> downloadedArtistSample = new MutableLiveData<>(null);
|
||||
private final MutableLiveData<List<AlbumID3>> downloadedAlbumSample = new MutableLiveData<>(null);
|
||||
private final MutableLiveData<List<Child>> downloadedTrackSample = new MutableLiveData<>(null);
|
||||
private final MutableLiveData<List<Playlist>> downloadedPlaylistSample = new MutableLiveData<>(null);
|
||||
|
||||
|
|
@ -34,13 +34,40 @@ public class DownloadViewModel extends AndroidViewModel {
|
|||
downloadRepository = new DownloadRepository(application);
|
||||
}
|
||||
|
||||
public LiveData<List<Artist>> getDownloadedArtists(LifecycleOwner owner, int size) {
|
||||
downloadRepository.getLiveDownloadSample(size, true, false, false, false).observe(owner, downloads -> downloadedArtistSample.postValue(MappingUtil.mapDownloadToArtist(downloads)));
|
||||
public LiveData<List<ArtistID3>> getDownloadedArtists(LifecycleOwner owner, int size) {
|
||||
downloadRepository.getLiveDownloadSample(size, true, false, false, false)
|
||||
.observe(owner, downloads -> downloadedArtistSample.postValue(downloads.stream().map(download -> {
|
||||
ArtistID3 artist = new ArtistID3();
|
||||
artist.setId(download.getArtistId());
|
||||
artist.setName(download.getArtist());
|
||||
artist.setCoverArtId(download.getCoverArtId());
|
||||
// artist.setAlbumCount(0);
|
||||
// artist.setStarred(null);
|
||||
return artist;
|
||||
}).collect(Collectors.toList())));
|
||||
|
||||
return downloadedArtistSample;
|
||||
}
|
||||
|
||||
public LiveData<List<Album>> getDownloadedAlbums(LifecycleOwner owner, int size) {
|
||||
downloadRepository.getLiveDownloadSample(size, false, true, false, false).observe(owner, downloads -> downloadedAlbumSample.postValue(MappingUtil.mapDownloadToAlbum(downloads)));
|
||||
public LiveData<List<AlbumID3>> getDownloadedAlbums(LifecycleOwner owner, int size) {
|
||||
downloadRepository.getLiveDownloadSample(size, false, true, false, false)
|
||||
.observe(owner, downloads -> downloadedAlbumSample.postValue(downloads.stream().map(download -> {
|
||||
AlbumID3 album = new AlbumID3();
|
||||
album.setId(download.getAlbumId());
|
||||
album.setName(download.getAlbum());
|
||||
album.setArtist(album.getArtist());
|
||||
album.setArtistId(album.getArtistId());
|
||||
album.setCoverArtId(album.getCoverArtId());
|
||||
// album.setSongCount(0);
|
||||
// album.setDuration(0);
|
||||
// album.setPlayCount(null);
|
||||
// album.setCreated(null);
|
||||
// album.setStarred(null);
|
||||
album.setYear(album.getYear());
|
||||
// album.setGenre(null);
|
||||
return album;
|
||||
}).collect(Collectors.toList())));
|
||||
|
||||
return downloadedAlbumSample;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,12 +10,16 @@ import androidx.lifecycle.LiveData;
|
|||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
|
||||
import com.cappielloantonio.play.model.Download;
|
||||
import com.cappielloantonio.play.repository.AlbumRepository;
|
||||
import com.cappielloantonio.play.repository.ArtistRepository;
|
||||
import com.cappielloantonio.play.repository.SongRepository;
|
||||
import com.cappielloantonio.play.subsonic.models.AlbumID3;
|
||||
import com.cappielloantonio.play.subsonic.models.ArtistID3;
|
||||
import com.cappielloantonio.play.subsonic.models.Child;
|
||||
import com.cappielloantonio.play.util.DownloadUtil;
|
||||
import com.cappielloantonio.play.util.MappingUtil;
|
||||
import com.cappielloantonio.play.util.Preferences;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
|
|
@ -55,13 +59,12 @@ public class SongBottomSheetViewModel extends AndroidViewModel {
|
|||
songRepository.star(song.getId());
|
||||
song.setStarred(new Date());
|
||||
|
||||
// TODO
|
||||
/* if (Preferences.isStarredSyncEnabled()) {
|
||||
if (Preferences.isStarredSyncEnabled()) {
|
||||
DownloadUtil.getDownloadTracker(context).download(
|
||||
MappingUtil.mapMediaItem(context, song, false),
|
||||
MappingUtil.mapDownload(song, null, null)
|
||||
new Download(song)
|
||||
);
|
||||
} */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue