diff --git a/app/src/main/java/com/cappielloantonio/play/subsonic/models/NowPlayingEntry.kt b/app/src/main/java/com/cappielloantonio/play/subsonic/models/NowPlayingEntry.kt index 1423e4a2..29870fe8 100644 --- a/app/src/main/java/com/cappielloantonio/play/subsonic/models/NowPlayingEntry.kt +++ b/app/src/main/java/com/cappielloantonio/play/subsonic/models/NowPlayingEntry.kt @@ -5,7 +5,6 @@ import kotlinx.android.parcel.Parcelize @Parcelize class NowPlayingEntry( - // TODO @SerializedName("_id") override val id: String ) : Child(id) { diff --git a/app/src/main/java/com/cappielloantonio/play/ui/adapter/AlbumAdapter.java b/app/src/main/java/com/cappielloantonio/play/ui/adapter/AlbumAdapter.java index f6d3caa3..e37dd85a 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/adapter/AlbumAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/adapter/AlbumAdapter.java @@ -81,7 +81,6 @@ public class AlbumAdapter extends RecyclerView.Adapter private void onClick() { Bundle bundle = new Bundle(); bundle.putParcelable("album_object", albums.get(getBindingAdapterPosition())); - bundle.putBoolean("is_offline", false); click.onAlbumClick(bundle); } diff --git a/app/src/main/java/com/cappielloantonio/play/ui/adapter/AlbumArtistPageOrSimilarAdapter.java b/app/src/main/java/com/cappielloantonio/play/ui/adapter/AlbumArtistPageOrSimilarAdapter.java index 5f9ce082..7f6e154e 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/adapter/AlbumArtistPageOrSimilarAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/adapter/AlbumArtistPageOrSimilarAdapter.java @@ -81,7 +81,6 @@ public class AlbumArtistPageOrSimilarAdapter extends RecyclerView.Adapter { - if (isVisible() && getActivity() != null) { - DownloadUtil.getDownloadTracker(requireContext()).download( - MappingUtil.mapMediaItems(songs, false), - songs.stream().map(Download::new).collect(Collectors.toList()) - ); - } + albumPageViewModel.getAlbumSongLiveList().observe(getViewLifecycleOwner(), songs -> { + DownloadUtil.getDownloadTracker(requireContext()).download( + MappingUtil.mapMediaItems(songs, false), + songs.stream().map(Download::new).collect(Collectors.toList()) + ); }); return true; } @@ -119,7 +117,6 @@ public class AlbumPageFragment extends Fragment implements ClickCallback { private void init() { albumPageViewModel.setAlbum(requireArguments().getParcelable("album_object")); - albumPageViewModel.setOffline(requireArguments().getBoolean("is_offline")); } private void initAppBar() { @@ -153,7 +150,7 @@ public class AlbumPageFragment extends Fragment implements ClickCallback { } private void initMusicButton() { - albumPageViewModel.getAlbumSongLiveList(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), songs -> { + albumPageViewModel.getAlbumSongLiveList().observe(getViewLifecycleOwner(), songs -> { if (bind != null && !songs.isEmpty()) { bind.albumPagePlayButton.setOnClickListener(v -> { MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), songs, 0); @@ -189,7 +186,7 @@ public class AlbumPageFragment extends Fragment implements ClickCallback { songHorizontalAdapter = new SongHorizontalAdapter(this, false); bind.songRecyclerView.setAdapter(songHorizontalAdapter); - albumPageViewModel.getAlbumSongLiveList(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), songs -> songHorizontalAdapter.setItems(songs)); + albumPageViewModel.getAlbumSongLiveList().observe(getViewLifecycleOwner(), songs -> songHorizontalAdapter.setItems(songs)); } private void initializeMediaBrowser() { diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumListPageViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumListPageViewModel.java index 2b347800..ee309d7c 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumListPageViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumListPageViewModel.java @@ -58,14 +58,6 @@ public class AlbumListPageViewModel extends AndroidViewModel { albumList.postValue(albums.subList(0, Math.min(20, albums.size()))); }); break; - case Album.DOWNLOADED: - // TODO - // downloadRepository.getLiveDownload().observe(owner, downloads -> albumList.setValue(MappingUtil.mapDownloadToAlbum(downloads))); - break; - case Album.FROM_ARTIST: - // TODO - // downloadRepository.getLiveDownloadFromArtist(artist.getId()).observe(owner, downloads -> albumList.setValue(MappingUtil.mapDownloadToAlbum(downloads))); - break; } return albumList; diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumPageViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumPageViewModel.java index accc4486..ff9c013a 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumPageViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumPageViewModel.java @@ -4,13 +4,10 @@ import android.app.Application; import androidx.annotation.NonNull; import androidx.lifecycle.AndroidViewModel; -import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LiveData; -import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.ArtistRepository; -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; @@ -20,30 +17,18 @@ import java.util.List; public class AlbumPageViewModel extends AndroidViewModel { private final AlbumRepository albumRepository; private final ArtistRepository artistRepository; - private final DownloadRepository downloadRepository; - - private MutableLiveData> songLiveList = new MutableLiveData<>(); private AlbumID3 album; - private boolean isOffline; public AlbumPageViewModel(@NonNull Application application) { super(application); albumRepository = new AlbumRepository(); artistRepository = new ArtistRepository(); - downloadRepository = new DownloadRepository(); } - public LiveData> getAlbumSongLiveList(LifecycleOwner owner) { - if (isOffline) { - // TODO - //downloadRepository.getLiveDownloadFromAlbum(album.getId()).observe(owner, downloads -> songLiveList.postValue(MappingUtil.mapDownloadToMedia(downloads))); - } else { - songLiveList = albumRepository.getAlbumTracks(album.getId()); - } - - return songLiveList; + public LiveData> getAlbumSongLiveList() { + return albumRepository.getAlbumTracks(album.getId()); } public AlbumID3 getAlbum() { @@ -54,10 +39,6 @@ public class AlbumPageViewModel extends AndroidViewModel { this.album = album; } - public void setOffline(boolean offline) { - isOffline = offline; - } - public LiveData getArtist() { return artistRepository.getArtistInfo(album.getArtistId()); }