From 526253723bfe1677842f3bb3569dd32b0094ab0f Mon Sep 17 00:00:00 2001 From: eddyizm Date: Mon, 22 Dec 2025 11:04:25 -0800 Subject: [PATCH] feat: added regular playlist to home view --- .../ui/fragment/HomeTabMusicFragment.java | 6 +++ .../tempo/viewmodel/HomeViewModel.java | 16 +++---- .../res/layout/fragment_home_tab_music.xml | 48 +++++++++++++------ app/src/main/res/navigation/nav_graph.xml | 3 ++ 4 files changed, 51 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/HomeTabMusicFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/HomeTabMusicFragment.java index 637e715f..191c520d 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/HomeTabMusicFragment.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/HomeTabMusicFragment.java @@ -228,6 +228,12 @@ public class HomeTabMusicFragment extends Fragment implements ClickCallback { activity.navController.navigate(R.id.action_homeFragment_to_albumListPageFragment, bundle); }); + bind.playlistCatalogueTextViewClickable.setOnClickListener(v -> { + Bundle bundle = new Bundle(); + bundle.putString(Constants.PLAYLIST_ALL, Constants.PLAYLIST_ALL); + activity.navController.navigate(R.id.action_homeFragment_to_playlistCatalogueFragment, bundle); + }); + bind.recentlyPlayedAlbumsTextViewClickable.setOnClickListener(v -> { Bundle bundle = new Bundle(); bundle.putString(Constants.ALBUM_RECENTLY_PLAYED, Constants.ALBUM_RECENTLY_PLAYED); diff --git a/app/src/main/java/com/cappielloantonio/tempo/viewmodel/HomeViewModel.java b/app/src/main/java/com/cappielloantonio/tempo/viewmodel/HomeViewModel.java index 2089ce20..0a9892fc 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/viewmodel/HomeViewModel.java +++ b/app/src/main/java/com/cappielloantonio/tempo/viewmodel/HomeViewModel.java @@ -248,15 +248,15 @@ public class HomeViewModel extends AndroidViewModel { pinnedPlaylists.setValue(Collections.emptyList()); playlistRepository.getPlaylists(false, -1).observe(owner, remotes -> { - playlistRepository.getPinnedPlaylists().observe(owner, locals -> { - if (remotes != null && locals != null) { - List toReturn = remotes.stream() - .filter(remote -> locals.stream().anyMatch(local -> local.getId().equals(remote.getId()))) - .collect(Collectors.toList()); + if (remotes != null && !remotes.isEmpty()) { + List playlists = new ArrayList<>(remotes); + Collections.shuffle(playlists); + List randomPlaylists = playlists.size() > 5 + ? playlists.subList(0, 5) + : playlists; - pinnedPlaylists.setValue(toReturn); - } - }); + pinnedPlaylists.setValue(randomPlaylists); + } }); return pinnedPlaylists; diff --git a/app/src/main/res/layout/fragment_home_tab_music.xml b/app/src/main/res/layout/fragment_home_tab_music.xml index c516171c..f8a0a5d6 100644 --- a/app/src/main/res/layout/fragment_home_tab_music.xml +++ b/app/src/main/res/layout/fragment_home_tab_music.xml @@ -379,16 +379,6 @@ android:paddingTop="8dp" android:paddingEnd="8dp" android:paddingBottom="8dp" /> - - - - + + + + + + + + + + +