From 301142b2c6f1580dbe92dd0c5b21c13fc3771357 Mon Sep 17 00:00:00 2001 From: antonio Date: Mon, 13 Mar 2023 10:54:44 +0100 Subject: [PATCH] Added a progress indicator on item loading --- .../play/ui/fragment/DownloadFragment.java | 37 +++++++++++-------- app/src/main/res/layout/fragment_download.xml | 10 +++++ 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java index b38ffa44..f984a291 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java @@ -121,25 +121,30 @@ public class DownloadFragment extends Fragment implements ClickCallback { downloadHorizontalAdapter = new DownloadHorizontalAdapter(this); bind.downloadedTracksRecyclerView.setAdapter(downloadHorizontalAdapter); downloadViewModel.getDownloadedTracks(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), songs -> { - if (songs == null || songs.isEmpty()) { - if (bind != null) { - bind.emptyDownloadLayout.setVisibility(View.VISIBLE); - bind.fragmentDownloadNestedScrollView.setVisibility(View.GONE); + if (songs != null) { + if (songs.isEmpty()) { + if (bind != null) { + bind.emptyDownloadLayout.setVisibility(View.VISIBLE); + bind.fragmentDownloadNestedScrollView.setVisibility(View.GONE); - bind.downloadDownloadedTracksPlaceholder.placeholder.setVisibility(View.VISIBLE); - bind.downloadDownloadedTracksSector.setVisibility(View.GONE); + bind.downloadDownloadedTracksPlaceholder.placeholder.setVisibility(View.VISIBLE); + bind.downloadDownloadedTracksSector.setVisibility(View.GONE); + } + } else { + if (bind != null) { + bind.emptyDownloadLayout.setVisibility(View.GONE); + bind.fragmentDownloadNestedScrollView.setVisibility(View.VISIBLE); + + bind.downloadDownloadedTracksPlaceholder.placeholder.setVisibility(View.GONE); + bind.downloadDownloadedTracksSector.setVisibility(View.VISIBLE); + + bind.downloadedTracksRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext())); + + downloadHorizontalAdapter.setItems(songs); + } } - } else { - if (bind != null) { - bind.emptyDownloadLayout.setVisibility(View.GONE); - bind.fragmentDownloadNestedScrollView.setVisibility(View.VISIBLE); - bind.downloadDownloadedTracksPlaceholder.placeholder.setVisibility(View.GONE); - bind.downloadDownloadedTracksSector.setVisibility(View.VISIBLE); - bind.downloadedTracksRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext())); - - downloadHorizontalAdapter.setItems(songs); - } + if (bind != null) bind.loadingProgressBar.setVisibility(View.GONE); } }); } diff --git a/app/src/main/res/layout/fragment_download.xml b/app/src/main/res/layout/fragment_download.xml index a8dfd7be..bfd452a3 100644 --- a/app/src/main/res/layout/fragment_download.xml +++ b/app/src/main/res/layout/fragment_download.xml @@ -39,6 +39,15 @@ + +