From 93e7550e7429ec1b93216098de051a88843618fc Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Mon, 19 Apr 2021 17:16:05 +0200 Subject: [PATCH] Hide sector in home and library if there are no elements to show --- .../play/ui/fragment/HomeFragment.java | 15 ++++++++++++--- .../play/ui/fragment/LibraryFragment.java | 5 ++++- app/src/main/res/layout/fragment_home.xml | 5 +++++ app/src/main/res/layout/fragment_library.xml | 1 + 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java index fdf7d358..cc58578a 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java @@ -138,7 +138,10 @@ public class HomeFragment extends Fragment { favoriteSongAdapter = new SongResultSearchAdapter(activity, requireContext(), getChildFragmentManager()); bind.favoritesTracksRecyclerView.setAdapter(favoriteSongAdapter); - homeViewModel.getFavorites().observe(requireActivity(), songs -> favoriteSongAdapter.setItems(songs)); + homeViewModel.getFavorites().observe(requireActivity(), songs -> { + bind.homeFavoriteTracksSector.setVisibility(songs.size() > 0 ? View.VISIBLE : View.GONE); + favoriteSongAdapter.setItems(songs); + }); PagerSnapHelper pagerSnapHelper = new PagerSnapHelper(); pagerSnapHelper.attachToRecyclerView(bind.favoritesTracksRecyclerView); @@ -150,7 +153,10 @@ public class HomeFragment extends Fragment { mostPlayedMusicAdapter = new RecentMusicAdapter(activity, requireContext(), getChildFragmentManager()); bind.mostPlayedTracksRecyclerView.setAdapter(mostPlayedMusicAdapter); - homeViewModel.getMostPlayedSongList().observe(requireActivity(), songs -> mostPlayedMusicAdapter.setItems(songs)); + homeViewModel.getMostPlayedSongList().observe(requireActivity(), songs -> { + bind.homeMostPlayedTracksSector.setVisibility(songs.size() > 0 ? View.VISIBLE : View.GONE); + mostPlayedMusicAdapter.setItems(songs); + }); } private void initRecentPlayedSongView() { @@ -159,7 +165,10 @@ public class HomeFragment extends Fragment { recentlyPlayedMusicAdapter = new RecentMusicAdapter(activity, requireContext(), getChildFragmentManager()); bind.recentlyPlayedTracksRecyclerView.setAdapter(recentlyPlayedMusicAdapter); - homeViewModel.getRecentlyPlayedSongList().observe(requireActivity(), songs -> recentlyPlayedMusicAdapter.setItems(songs)); + homeViewModel.getRecentlyPlayedSongList().observe(requireActivity(), songs -> { + bind.homeRecentlyPlayedTracksSector.setVisibility(songs.size() > 0 ? View.VISIBLE : View.GONE); + recentlyPlayedMusicAdapter.setItems(songs); + }); } private void setDiscoverSongSlideViewOffset(float pageOffset, float pageMargin) { diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java index 7b0472eb..79b16e39 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java @@ -113,7 +113,10 @@ public class LibraryFragment extends Fragment { playlistAdapter = new PlaylistAdapter(requireContext()); bind.playlistRecyclerView.setAdapter(playlistAdapter); - libraryViewModel.getPlaylistList().observe(requireActivity(), playlists -> playlistAdapter.setItems(playlists)); + libraryViewModel.getPlaylistList().observe(requireActivity(), playlists -> { + bind.libraryPlaylistSector.setVisibility(playlists.size() > 0 ? View.VISIBLE : View.GONE); + playlistAdapter.setItems(playlists); + }); } private void initCatalogueSyncCheck() { diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index b5934c32..d98c5134 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -42,6 +42,7 @@ @@ -98,6 +99,7 @@ @@ -130,6 +132,7 @@ @@ -184,6 +187,7 @@ @@ -240,6 +244,7 @@ diff --git a/app/src/main/res/layout/fragment_library.xml b/app/src/main/res/layout/fragment_library.xml index da765d7b..d06fcbe1 100644 --- a/app/src/main/res/layout/fragment_library.xml +++ b/app/src/main/res/layout/fragment_library.xml @@ -201,6 +201,7 @@