From 526253723bfe1677842f3bb3569dd32b0094ab0f Mon Sep 17 00:00:00 2001 From: eddyizm Date: Mon, 22 Dec 2025 11:04:25 -0800 Subject: [PATCH 1/2] 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" /> - - - - + + + + + + + + + + + From c6896939e28917bc5f9316b88d5ddc505be3cd0d Mon Sep 17 00:00:00 2001 From: eddyizm Date: Mon, 22 Dec 2025 18:30:49 -0800 Subject: [PATCH 2/2] fix: serialized corrected mapping for playlist cover art to appear --- .../java/com/cappielloantonio/tempo/subsonic/models/Playlist.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/cappielloantonio/tempo/subsonic/models/Playlist.kt b/app/src/main/java/com/cappielloantonio/tempo/subsonic/models/Playlist.kt index 926c2390..e7260506 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/subsonic/models/Playlist.kt +++ b/app/src/main/java/com/cappielloantonio/tempo/subsonic/models/Playlist.kt @@ -22,6 +22,7 @@ open class Playlist( var name: String? = null, @ColumnInfo(name = "duration") var duration: Long = 0, + @SerializedName("coverArt") @ColumnInfo(name = "coverArt") var coverArtId: String? = null, ) : Parcelable {