From 71ca7099c136b7a36f6825be92200a7df637c46f Mon Sep 17 00:00:00 2001 From: antonio Date: Sun, 4 Jun 2023 11:35:33 +0200 Subject: [PATCH] refactor: code cleanup --- .../ui/fragment/HomeTabMusicFragment.java | 199 +++++++----------- 1 file changed, 80 insertions(+), 119 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeTabMusicFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeTabMusicFragment.java index fdf562bb..9c6fe706 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeTabMusicFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeTabMusicFragment.java @@ -280,14 +280,11 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.discoverSongViewPager.setOffscreenPageLimit(1); homeViewModel.getDiscoverSongSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), songs -> { if (songs == null) { - if (bind != null) - bind.homeDiscoveryPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.homeDiscoveryPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.homeDiscoverSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.homeDiscoveryPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.homeDiscoverSector.setVisibility(!songs.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.homeDiscoveryPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.homeDiscoverSector.setVisibility(!songs.isEmpty() ? View.VISIBLE : View.GONE); discoverSongAdapter.setItems(songs); } @@ -304,14 +301,11 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.similarTracksRecyclerView.setAdapter(similarMusicAdapter); homeViewModel.getStarredTracksSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), songs -> { if (songs == null) { - if (bind != null) - bind.homeSimilarTracksPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.homeSimilarTracksPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.homeSimilarTracksSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.homeSimilarTracksPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.homeSimilarTracksSector.setVisibility(!songs.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.homeSimilarTracksPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.homeSimilarTracksSector.setVisibility(!songs.isEmpty() ? View.VISIBLE : View.GONE); similarMusicAdapter.setItems(songs); } @@ -321,31 +315,6 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { similarSongSnapHelper.attachToRecyclerView(bind.similarTracksRecyclerView); } - private void initArtistRadio() { - bind.radioArtistRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)); - bind.radioArtistRecyclerView.setHasFixedSize(true); - - radioArtistAdapter = new ArtistAdapter(this, true, false); - bind.radioArtistRecyclerView.setAdapter(radioArtistAdapter); - 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); - } else { - if (bind != null) - bind.homeRadioArtistPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.homeRadioArtistSector.setVisibility(!artists.isEmpty() ? View.VISIBLE : View.GONE); - - radioArtistAdapter.setItems(artists); - } - }); - - CustomLinearSnapHelper artistRadioSnapHelper = new CustomLinearSnapHelper(); - artistRadioSnapHelper.attachToRecyclerView(bind.radioArtistRecyclerView); - } - private void initArtistBestOf() { bind.bestOfArtistRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)); bind.bestOfArtistRecyclerView.setHasFixedSize(true); @@ -354,14 +323,11 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.bestOfArtistRecyclerView.setAdapter(bestOfArtistAdapter); homeViewModel.getBestOfArtists(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), artists -> { if (artists == null) { - if (bind != null) - bind.homeBestOfArtistPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.homeBestOfArtistPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.homeBestOfArtistSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.homeBestOfArtistPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.homeBestOfArtistSector.setVisibility(!artists.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.homeBestOfArtistPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.homeBestOfArtistSector.setVisibility(!artists.isEmpty() ? View.VISIBLE : View.GONE); bestOfArtistAdapter.setItems(artists); } @@ -371,6 +337,49 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { artistBestOfSnapHelper.attachToRecyclerView(bind.bestOfArtistRecyclerView); } + private void initArtistRadio() { + bind.radioArtistRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)); + bind.radioArtistRecyclerView.setHasFixedSize(true); + + radioArtistAdapter = new ArtistAdapter(this, true, false); + bind.radioArtistRecyclerView.setAdapter(radioArtistAdapter); + 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); + } else { + if (bind != null) bind.homeRadioArtistPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.homeRadioArtistSector.setVisibility(!artists.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.afterRadioArtistDivider.setVisibility(!artists.isEmpty() ? View.VISIBLE : View.GONE); + + radioArtistAdapter.setItems(artists); + } + }); + + CustomLinearSnapHelper artistRadioSnapHelper = new CustomLinearSnapHelper(); + artistRadioSnapHelper.attachToRecyclerView(bind.radioArtistRecyclerView); + } + + private void initGridView() { + bind.gridTracksRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), 3)); + bind.gridTracksRecyclerView.addItemDecoration(new GridItemDecoration(3, 8, false)); + bind.gridTracksRecyclerView.setHasFixedSize(true); + + gridTrackAdapter = new GridTrackAdapter(this); + bind.gridTracksRecyclerView.setAdapter(gridTrackAdapter); + + homeViewModel.getGridSongSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), chronologies -> { + if (chronologies == null || chronologies.size() == 0) { + if (bind != null) bind.homeGridTracksSector.setVisibility(View.GONE); + if (bind != null) bind.afterGridDivider.setVisibility(View.GONE); + } else { + if (bind != null) bind.homeGridTracksSector.setVisibility(View.VISIBLE); + if (bind != null) bind.afterGridDivider.setVisibility(View.VISIBLE); + gridTrackAdapter.setItems(chronologies); + } + }); + } + private void initStarredTracksView() { bind.starredTracksRecyclerView.setHasFixedSize(true); @@ -378,16 +387,12 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.starredTracksRecyclerView.setAdapter(starredSongAdapter); homeViewModel.getStarredTracks(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), songs -> { if (songs == null) { - if (bind != null) - bind.starredTracksPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.starredTracksPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.starredTracksSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.starredTracksPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.starredTracksSector.setVisibility(!songs.isEmpty() ? View.VISIBLE : View.GONE); - if (bind != null) - bind.starredTracksRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), UIUtil.getSpanCount(songs.size(), 5), GridLayoutManager.HORIZONTAL, false)); + if (bind != null) bind.starredTracksPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.starredTracksSector.setVisibility(!songs.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.starredTracksRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), UIUtil.getSpanCount(songs.size(), 5), GridLayoutManager.HORIZONTAL, false)); starredSongAdapter.setItems(songs); } @@ -413,16 +418,12 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.starredAlbumsRecyclerView.setAdapter(starredAlbumAdapter); homeViewModel.getStarredAlbums(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), albums -> { if (albums == null) { - if (bind != null) - bind.starredAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.starredAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.starredAlbumsSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.starredAlbumsPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.starredAlbumsSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); - if (bind != null) - bind.starredAlbumsRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), UIUtil.getSpanCount(albums.size(), 5), GridLayoutManager.HORIZONTAL, false)); + if (bind != null) bind.starredAlbumsPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.starredAlbumsSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.starredAlbumsRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), UIUtil.getSpanCount(albums.size(), 5), GridLayoutManager.HORIZONTAL, false)); starredAlbumAdapter.setItems(albums); } @@ -448,16 +449,12 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.starredArtistsRecyclerView.setAdapter(starredArtistAdapter); homeViewModel.getStarredArtists(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), artists -> { if (artists == null) { - if (bind != null) - bind.starredArtistsPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.starredArtistsPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.starredArtistsSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.starredArtistsPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.starredArtistsSector.setVisibility(!artists.isEmpty() ? View.VISIBLE : View.GONE); - if (bind != null) - bind.starredArtistsRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), UIUtil.getSpanCount(artists.size(), 5), GridLayoutManager.HORIZONTAL, false)); + if (bind != null) bind.starredArtistsPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.starredArtistsSector.setVisibility(!artists.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.starredArtistsRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), UIUtil.getSpanCount(artists.size(), 5), GridLayoutManager.HORIZONTAL, false)); starredArtistAdapter.setItems(artists); } @@ -483,16 +480,12 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.newReleasesRecyclerView.setAdapter(newReleasesAlbumAdapter); homeViewModel.getRecentlyReleasedAlbums(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), albums -> { if (albums == null) { - if (bind != null) - bind.homeNewReleasesPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.homeNewReleasesPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.homeNewReleasesSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.homeNewReleasesPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.homeNewReleasesSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); - if (bind != null) - bind.newReleasesRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), UIUtil.getSpanCount(albums.size(), 5), GridLayoutManager.HORIZONTAL, false)); + if (bind != null) bind.homeNewReleasesPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.homeNewReleasesSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.newReleasesRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), UIUtil.getSpanCount(albums.size(), 5), GridLayoutManager.HORIZONTAL, false)); newReleasesAlbumAdapter.setItems(albums); } @@ -519,14 +512,11 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.yearsRecyclerView.setAdapter(yearAdapter); homeViewModel.getYearList(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), years -> { if (years == null) { - if (bind != null) - bind.homeFlashbackPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.homeFlashbackPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.homeFlashbackSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.homeFlashbackPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.homeFlashbackSector.setVisibility(!years.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.homeFlashbackPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.homeFlashbackSector.setVisibility(!years.isEmpty() ? View.VISIBLE : View.GONE); yearAdapter.setItems(years); } @@ -544,14 +534,11 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.mostPlayedAlbumsRecyclerView.setAdapter(mostPlayedAlbumAdapter); homeViewModel.getMostPlayedAlbums(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), albums -> { if (albums == null) { - if (bind != null) - bind.homeMostPlayedAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.homeMostPlayedAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.homeMostPlayedAlbumsSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.homeMostPlayedAlbumsPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.homeMostPlayedAlbumsSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.homeMostPlayedAlbumsPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.homeMostPlayedAlbumsSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); // if (albums.size() < 5) reorder(); mostPlayedAlbumAdapter.setItems(albums); @@ -570,14 +557,11 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.recentlyPlayedAlbumsRecyclerView.setAdapter(recentlyPlayedAlbumAdapter); homeViewModel.getRecentlyPlayedAlbumList(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), albums -> { if (albums == null) { - if (bind != null) - bind.homeRecentlyPlayedAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.homeRecentlyPlayedAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.homeRecentlyPlayedAlbumsSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.homeRecentlyPlayedAlbumsPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.homeRecentlyPlayedAlbumsSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.homeRecentlyPlayedAlbumsPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.homeRecentlyPlayedAlbumsSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); recentlyPlayedAlbumAdapter.setItems(albums); } @@ -595,14 +579,11 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { bind.recentlyAddedAlbumsRecyclerView.setAdapter(recentlyAddedAlbumAdapter); homeViewModel.getMostRecentlyAddedAlbums(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), albums -> { if (albums == null) { - if (bind != null) - bind.homeRecentlyAddedAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE); + if (bind != null) bind.homeRecentlyAddedAlbumsPlaceholder.placeholder.setVisibility(View.VISIBLE); if (bind != null) bind.homeRecentlyAddedAlbumsSector.setVisibility(View.GONE); } else { - if (bind != null) - bind.homeRecentlyAddedAlbumsPlaceholder.placeholder.setVisibility(View.GONE); - if (bind != null) - bind.homeRecentlyAddedAlbumsSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); + if (bind != null) bind.homeRecentlyAddedAlbumsPlaceholder.placeholder.setVisibility(View.GONE); + if (bind != null) bind.homeRecentlyAddedAlbumsSector.setVisibility(!albums.isEmpty() ? View.VISIBLE : View.GONE); recentlyAddedAlbumAdapter.setItems(albums); } @@ -612,26 +593,6 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { recentAddedAlbumSnapHelper.attachToRecyclerView(bind.recentlyAddedAlbumsRecyclerView); } - private void initGridView() { - bind.gridTracksRecyclerView.setLayoutManager(new GridLayoutManager(requireContext(), 3)); - bind.gridTracksRecyclerView.addItemDecoration(new GridItemDecoration(3, 8, false)); - bind.gridTracksRecyclerView.setHasFixedSize(true); - - gridTrackAdapter = new GridTrackAdapter(this); - bind.gridTracksRecyclerView.setAdapter(gridTrackAdapter); - - homeViewModel.getGridSongSample(getViewLifecycleOwner()).observe(getViewLifecycleOwner(), chronologies -> { - if (chronologies == null || chronologies.size() == 0) { - if (bind != null) bind.homeGridTracksSector.setVisibility(View.GONE); - if (bind != null) bind.afterGridDivider.setVisibility(View.GONE); - } else { - if (bind != null) bind.homeGridTracksSector.setVisibility(View.VISIBLE); - if (bind != null) bind.afterGridDivider.setVisibility(View.VISIBLE); - gridTrackAdapter.setItems(chronologies); - } - }); - } - private void setSlideViewOffset(ViewPager2 viewPager, float pageOffset, float pageMargin) { viewPager.setPageTransformer((page, position) -> { float myOffset = position * -(2 * pageOffset + pageMargin);