AlbumPageFragment now correctly retrieves information locally or from the server

This commit is contained in:
CappielloAntonio 2021-09-02 12:44:35 +02:00
parent eeae6bbce5
commit 589c3289d4
10 changed files with 37 additions and 12 deletions

View file

@ -101,7 +101,10 @@ public class AlbumListPageFragment extends Fragment {
bind.albumListRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
bind.albumListRecyclerView.setHasFixedSize(true);
albumHorizontalAdapter = new AlbumHorizontalAdapter(requireContext());
albumHorizontalAdapter = new AlbumHorizontalAdapter(requireContext(),
(albumListPageViewModel.title.equals(Album.DOWNLOADED) || albumListPageViewModel.title.equals(Album.FROM_ARTIST))
);
bind.albumListRecyclerView.setAdapter(albumHorizontalAdapter);
albumListPageViewModel.getAlbumList(requireActivity()).observe(requireActivity(), albums -> albumHorizontalAdapter.setItems(albums));
}

View file

@ -93,7 +93,7 @@ public class AlbumPageFragment extends Fragment {
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.action_download_album:
albumPageViewModel.getAlbumSongLiveList().observe(requireActivity(), songs -> {
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
DownloadUtil.getDownloadTracker(requireContext()).toggleDownload(songs);
});
return true;
@ -106,6 +106,7 @@ public class AlbumPageFragment extends Fragment {
private void init() {
albumPageViewModel.setAlbum(getArguments().getParcelable("album_object"));
albumPageViewModel.setOffline(getArguments().getBoolean("is_offline"));
}
private void initAppBar() {
@ -146,7 +147,7 @@ public class AlbumPageFragment extends Fragment {
}
private void initMusicButton() {
albumPageViewModel.getAlbumSongLiveList().observe(requireActivity(), songs -> {
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
if (bind != null && !songs.isEmpty()) {
bind.albumPagePlayButton.setOnClickListener(v -> {
QueueRepository queueRepository = new QueueRepository(App.getInstance());
@ -193,7 +194,7 @@ public class AlbumPageFragment extends Fragment {
songHorizontalAdapter = new SongHorizontalAdapter(activity, requireContext(), false);
bind.songRecyclerView.setAdapter(songHorizontalAdapter);
albumPageViewModel.getAlbumSongLiveList().observe(requireActivity(), songs -> {
albumPageViewModel.getAlbumSongLiveList(requireActivity()).observe(requireActivity(), songs -> {
songHorizontalAdapter.setItems(songs);
});
}

View file

@ -182,7 +182,7 @@ public class DownloadFragment extends Fragment {
private void initDownloadedAlbumView() {
bind.downloadedAlbumRecyclerView.setHasFixedSize(true);
downloadedAlbumAdapter = new AlbumHorizontalAdapter(requireContext());
downloadedAlbumAdapter = new AlbumHorizontalAdapter(requireContext(), true);
bind.downloadedAlbumRecyclerView.setAdapter(downloadedAlbumAdapter);
downloadViewModel.getDownloadedAlbums(requireActivity(), 20).observe(requireActivity(), albums -> {
if (albums == null) {

View file

@ -367,7 +367,7 @@ public class HomeFragment extends Fragment {
private void initStarredAlbumsView() {
bind.starredAlbumsRecyclerView.setHasFixedSize(true);
starredAlbumAdapter = new AlbumHorizontalAdapter(requireContext());
starredAlbumAdapter = new AlbumHorizontalAdapter(requireContext(), false);
bind.starredAlbumsRecyclerView.setAdapter(starredAlbumAdapter);
homeViewModel.getStarredAlbums(requireActivity()).observe(requireActivity(), albums -> {
if (albums == null) {

View file

@ -146,7 +146,7 @@ public class LibraryFragment extends Fragment {
private void initNewReleasesView() {
bind.newReleasesRecyclerView.setHasFixedSize(true);
newRelesesAlbumAdapter = new AlbumHorizontalAdapter(requireContext());
newRelesesAlbumAdapter = new AlbumHorizontalAdapter(requireContext(), false);
bind.newReleasesRecyclerView.setAdapter(newRelesesAlbumAdapter);
libraryViewModel.getRecentlyReleasedAlbums(requireActivity()).observe(requireActivity(), albums -> {
if (albums == null) {