The viewmodels have been modified to not repeat calls to the backend during the lifecycle of the fragment

This commit is contained in:
antonio 2022-09-05 08:21:01 +02:00
parent 6817fa739e
commit 8b883c88fc
6 changed files with 87 additions and 46 deletions

View file

@ -82,7 +82,7 @@ public class PlaylistChooserDialog extends DialogFragment {
playlistDialogHorizontalAdapter = new PlaylistDialogHorizontalAdapter(requireContext(), playlistChooserViewModel, this);
bind.playlistDialogRecyclerView.setAdapter(playlistDialogHorizontalAdapter);
playlistChooserViewModel.getPlaylistList().observe(getViewLifecycleOwner(), playlists -> {
playlistChooserViewModel.getPlaylistList(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), playlists -> {
if (playlists != null) {
if (playlists.size() > 0) {
if (bind != null) bind.noPlaylistsCreatedTextView.setVisibility(View.GONE);

View file

@ -256,7 +256,7 @@ public class HomeFragment extends Fragment {
discoverSongAdapter = new DiscoverSongAdapter(activity, requireContext());
bind.discoverSongViewPager.setAdapter(discoverSongAdapter);
bind.discoverSongViewPager.setOffscreenPageLimit(1);
homeViewModel.getDiscoverSongSample().observe(getViewLifecycleOwner(), songs -> {
homeViewModel.getDiscoverSongSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), songs -> {
if (songs == null) {
if (bind != null) bind.homeDiscoveryPlaceholder.placeholder.setVisibility(View.VISIBLE);
if (bind != null) bind.homeDiscoverSector.setVisibility(View.GONE);
@ -277,7 +277,7 @@ public class HomeFragment extends Fragment {
similarMusicAdapter = new SimilarTrackAdapter(activity, requireContext());
bind.similarTracksRecyclerView.setAdapter(similarMusicAdapter);
homeViewModel.getStarredTracksSample().observe(getViewLifecycleOwner(), songs -> {
homeViewModel.getStarredTracksSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), songs -> {
if (songs == null) {
if (bind != null) bind.homeSimilarTracksPlaceholder.placeholder.setVisibility(View.VISIBLE);
if (bind != null) bind.homeSimilarTracksSector.setVisibility(View.GONE);
@ -299,7 +299,7 @@ public class HomeFragment extends Fragment {
radioArtistAdapter = new ArtistAdapter((MainActivity) requireActivity(), requireContext());
bind.radioArtistRecyclerView.setAdapter(radioArtistAdapter);
homeViewModel.getStarredArtistsSample().observe(getViewLifecycleOwner(), artists -> {
homeViewModel.getStarredArtistsSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), artists -> {
if (artists == null) {
if (bind != null) bind.homeRadioArtistPlaceholder.placeholder.setVisibility(View.VISIBLE);
if (bind != null) bind.homeRadioArtistSector.setVisibility(View.GONE);

View file

@ -145,7 +145,7 @@ public class LibraryFragment extends Fragment {
albumAdapter = new AlbumAdapter(requireContext());
bind.albumRecyclerView.setAdapter(albumAdapter);
libraryViewModel.getAlbumSample().observe(getViewLifecycleOwner(), albums -> {
libraryViewModel.getAlbumSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), albums -> {
if (albums == null) {
if (bind != null) bind.libraryAlbumPlaceholder.placeholder.setVisibility(View.VISIBLE);
if (bind != null) bind.libraryAlbumSector.setVisibility(View.GONE);
@ -167,7 +167,7 @@ public class LibraryFragment extends Fragment {
artistAdapter = new ArtistAdapter((MainActivity) requireActivity(), requireContext());
bind.artistRecyclerView.setAdapter(artistAdapter);
libraryViewModel.getArtistSample().observe(getViewLifecycleOwner(), artists -> {
libraryViewModel.getArtistSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), artists -> {
if (artists == null) {
if (bind != null) bind.libraryArtistPlaceholder.placeholder.setVisibility(View.VISIBLE);
if (bind != null) bind.libraryArtistSector.setVisibility(View.GONE);
@ -195,7 +195,7 @@ public class LibraryFragment extends Fragment {
activity.navController.navigate(R.id.action_libraryFragment_to_songListPageFragment, bundle);
});
bind.genreRecyclerView.setAdapter(genreAdapter);
libraryViewModel.getGenreSample().observe(getViewLifecycleOwner(), genres -> {
libraryViewModel.getGenreSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), genres -> {
if (genres == null) {
if (bind != null) bind.libraryGenrePlaceholder.placeholder.setVisibility(View.VISIBLE);
if (bind != null) bind.libraryGenresSector.setVisibility(View.GONE);
@ -217,7 +217,7 @@ public class LibraryFragment extends Fragment {
playlistHorizontalAdapter = new PlaylistHorizontalAdapter(activity, requireContext());
bind.playlistRecyclerView.setAdapter(playlistHorizontalAdapter);
libraryViewModel.getPlaylistSample().observe(getViewLifecycleOwner(), playlists -> {
libraryViewModel.getPlaylistSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), playlists -> {
if (playlists == null) {
if (bind != null) bind.libraryPlaylistPlaceholder.placeholder.setVisibility(View.VISIBLE);
if (bind != null) bind.libraryPlaylistSector.setVisibility(View.GONE);