From d1d341ff9b5608ce795c35617bf2dcfd597e3192 Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Mon, 7 Feb 2022 09:47:46 +0100 Subject: [PATCH] Refactor Song to Media --- .../play/adapter/ArtistAdapter.java | 4 +- .../play/adapter/DiscoverSongAdapter.java | 11 +++-- .../play/adapter/PlayerSongQueueAdapter.java | 13 +++--- .../PlaylistDialogSongHorizontalAdapter.java | 12 ++--- .../play/adapter/SimilarTrackAdapter.java | 12 ++--- .../play/adapter/SongHorizontalAdapter.java | 10 ++--- .../cappielloantonio/play/model/Album.java | 6 +-- .../cappielloantonio/play/model/Download.java | 2 +- .../play/model/{Song.java => Media.java} | 29 ++++++------ .../play/repository/AlbumRepository.java | 10 ++--- .../play/repository/ArtistRepository.java | 14 +++--- .../play/repository/PlaylistRepository.java | 10 ++--- .../play/repository/QueueRepository.java | 22 +++++----- .../play/repository/SearchingRepository.java | 8 ++-- .../play/repository/SongRepository.java | 44 +++++++++---------- .../play/service/MediaManager.java | 26 +++++------ .../play/ui/fragment/ArtistPageFragment.java | 10 ++--- .../play/ui/fragment/DownloadFragment.java | 7 +-- .../play/ui/fragment/FilterFragment.java | 4 +- .../ui/fragment/GenreCatalogueFragment.java | 4 +- .../play/ui/fragment/HomeFragment.java | 7 ++- .../play/ui/fragment/LibraryFragment.java | 15 +------ .../play/ui/fragment/PlayerCoverFragment.java | 4 +- .../ui/fragment/SongListPageFragment.java | 40 ++++++++--------- .../AlbumBottomSheetDialog.java | 4 +- .../ArtistBottomSheetDialog.java | 4 +- .../SongBottomSheetDialog.java | 6 +-- .../play/util/MappingUtil.java | 40 ++++++++--------- .../cappielloantonio/play/util/MusicUtil.java | 1 - .../viewmodel/AlbumBottomSheetViewModel.java | 4 +- .../play/viewmodel/AlbumPageViewModel.java | 7 ++- .../play/viewmodel/ArtistPageViewModel.java | 4 +- .../play/viewmodel/DownloadViewModel.java | 6 +-- .../play/viewmodel/HomeViewModel.java | 17 ++++--- .../viewmodel/PlayerBottomSheetViewModel.java | 10 ++--- .../viewmodel/PlaylistChooserViewModel.java | 8 ++-- .../viewmodel/PlaylistEditorViewModel.java | 21 +++++---- .../play/viewmodel/PlaylistPageViewModel.java | 7 ++- .../play/viewmodel/RatingViewModel.java | 10 ++--- .../play/viewmodel/SearchViewModel.java | 4 +- .../viewmodel/SongBottomSheetViewModel.java | 8 ++-- .../play/viewmodel/SongListPageViewModel.java | 21 +++++---- .../play/viewmodel/StarredSyncViewModel.java | 10 ++--- 43 files changed, 242 insertions(+), 274 deletions(-) rename app/src/main/java/com/cappielloantonio/play/model/{Song.java => Media.java} (93%) diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistAdapter.java index 3cd97bbf..cc57c72c 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistAdapter.java @@ -21,7 +21,7 @@ import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.interfaces.MediaCallback; import com.cappielloantonio.play.model.Artist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.ui.activity.MainActivity; @@ -130,7 +130,7 @@ public class ArtistAdapter extends RecyclerView.Adapter media) { if (media.size() > 0) { - MediaManager.startQueue(mediaBrowserListenableFuture, context, (ArrayList) media, 0); + MediaManager.startQueue(mediaBrowserListenableFuture, context, (ArrayList) media, 0); mainActivity.setBottomSheetInPeek(true); } else { Toast.makeText(context, context.getString(R.string.artist_error_retrieving_radio), Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/DiscoverSongAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/DiscoverSongAdapter.java index 837b7401..c2e13c7b 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/DiscoverSongAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/DiscoverSongAdapter.java @@ -17,8 +17,7 @@ import com.cappielloantonio.play.App; import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.interfaces.MediaCallback; -import com.cappielloantonio.play.model.Song; -import com.cappielloantonio.play.repository.QueueRepository; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.ui.activity.MainActivity; @@ -36,7 +35,7 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter mediaBrowserListenableFuture; - private List songs; + private List songs; public DiscoverSongAdapter(MainActivity activity, Context context) { this.activity = activity; @@ -54,7 +53,7 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter songs) { + public void setItems(List songs) { this.songs = songs; notifyDataSetChanged(); } @@ -114,7 +113,7 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter media) { - MediaManager.enqueue(mediaBrowserListenableFuture, context, (List) media,false); + MediaManager.enqueue(mediaBrowserListenableFuture, context, (List) media,false); } }); } diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/PlayerSongQueueAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/PlayerSongQueueAdapter.java index 8feb8a37..8c9a5ff0 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/PlayerSongQueueAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/PlayerSongQueueAdapter.java @@ -14,9 +14,8 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.service.MediaManager; -import com.cappielloantonio.play.ui.fragment.PlayerBottomSheetFragment; import com.cappielloantonio.play.util.MusicUtil; import com.google.common.util.concurrent.ListenableFuture; @@ -30,7 +29,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter mediaBrowserListenableFuture; - private List songs; + private List songs; public PlayerSongQueueAdapter(Context context) { this.context = context; @@ -47,7 +46,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter getItems() { + public List getItems() { return this.songs; } - public void setItems(List songs) { + public void setItems(List songs) { this.songs = songs; notifyDataSetChanged(); } @@ -84,7 +83,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter { private static final String TAG = "PlaylistDialogSongHorizontalAdapter"; - private List songs; + private List songs; private final LayoutInflater mInflater; private final Context context; @@ -41,7 +41,7 @@ public class PlaylistDialogSongHorizontalAdapter extends RecyclerView.Adapter getItems() { + public List getItems() { return this.songs; } - public void setItems(List songs) { + public void setItems(List songs) { this.songs = songs; notifyDataSetChanged(); } - public Song getItem(int id) { + public Media getItem(int id) { return songs.get(id); } diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/SimilarTrackAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/SimilarTrackAdapter.java index 954df6e7..11b7c7ec 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/SimilarTrackAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/SimilarTrackAdapter.java @@ -19,7 +19,7 @@ import com.cappielloantonio.play.App; import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.interfaces.MediaCallback; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.ui.activity.MainActivity; @@ -37,7 +37,7 @@ public class SimilarTrackAdapter extends RecyclerView.Adapter mediaBrowserListenableFuture; - private List songs; + private List songs; public SimilarTrackAdapter(MainActivity activity, Context context) { this.activity = activity; @@ -55,7 +55,7 @@ public class SimilarTrackAdapter extends RecyclerView.Adapter songs) { + public void setItems(List songs) { this.songs = songs; notifyDataSetChanged(); } @@ -112,7 +112,7 @@ public class SimilarTrackAdapter extends RecyclerView.Adapter media) { - MediaManager.enqueue(mediaBrowserListenableFuture, context, (List) media, false); + MediaManager.enqueue(mediaBrowserListenableFuture, context, (List) media, false); } }); } diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/SongHorizontalAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/SongHorizontalAdapter.java index 92029f88..82d6df7d 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/SongHorizontalAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/SongHorizontalAdapter.java @@ -16,7 +16,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.util.DownloadUtil; @@ -36,7 +36,7 @@ public class SongHorizontalAdapter extends RecyclerView.Adapter mediaBrowserListenableFuture; - private List songs; + private List songs; public SongHorizontalAdapter(MainActivity mainActivity, Context context, boolean isCoverVisible) { this.mainActivity = mainActivity; @@ -55,7 +55,7 @@ public class SongHorizontalAdapter extends RecyclerView.Adapter songs) { + public void setItems(List songs) { this.songs = songs; notifyDataSetChanged(); } @@ -92,7 +92,7 @@ public class SongHorizontalAdapter extends RecyclerView.Adapter songs; + private List songs; private String notes; private Date created; @@ -135,11 +135,11 @@ public class Album implements Parcelable { this.favorite = favorite; } - public List getSongs() { + public List getSongs() { return songs; } - public void setSongs(List songs) { + public void setSongs(List songs) { this.songs = songs; } diff --git a/app/src/main/java/com/cappielloantonio/play/model/Download.java b/app/src/main/java/com/cappielloantonio/play/model/Download.java index 18c0f41c..50838c43 100644 --- a/app/src/main/java/com/cappielloantonio/play/model/Download.java +++ b/app/src/main/java/com/cappielloantonio/play/model/Download.java @@ -70,7 +70,7 @@ public class Download { this.playlistName = playlistName; } - public Download(Song song, String playlistId, String playlistName) { + public Download(Media song, String playlistId, String playlistName) { this.id = UUID.randomUUID().toString(); this.songID = song.getId(); this.title = song.getTitle(); diff --git a/app/src/main/java/com/cappielloantonio/play/model/Song.java b/app/src/main/java/com/cappielloantonio/play/model/Media.java similarity index 93% rename from app/src/main/java/com/cappielloantonio/play/model/Song.java rename to app/src/main/java/com/cappielloantonio/play/model/Media.java index 4c5364c6..e395738a 100644 --- a/app/src/main/java/com/cappielloantonio/play/model/Song.java +++ b/app/src/main/java/com/cappielloantonio/play/model/Media.java @@ -7,11 +7,11 @@ import androidx.annotation.NonNull; import com.cappielloantonio.play.subsonic.models.Child; -import java.time.Instant; +import java.util.Date; import java.util.UUID; -public class Song implements Parcelable { - private static final String TAG = "SongClass"; +public class Media implements Parcelable { + private static final String TAG = "Media"; public static final String RECENTLY_PLAYED = "RECENTLY_PLAYED"; public static final String MOST_PLAYED = "MOST_PLAYED"; @@ -42,15 +42,16 @@ public class Song implements Parcelable { private String container; private int bitRate; private long added; + private String type; private int playCount; private long lastPlay; private int rating; - public Song() { + public Media() { this.id = UUID.randomUUID().toString(); } - public Song(Child child) { + public Media(Child child) { this.id = child.getId(); this.title = child.getTitle(); this.trackNumber = child.getTrack() != null ? child.getTrack() : 0; @@ -73,7 +74,7 @@ public class Song implements Parcelable { this.rating = child.getUserRating() != null ? child.getUserRating() : 0; } - public Song(Queue queue) { + public Media(Queue queue) { this.id = queue.getSongID(); this.title = queue.getTitle(); this.albumId = queue.getAlbumId(); @@ -84,7 +85,7 @@ public class Song implements Parcelable { this.duration = queue.getDuration(); } - public Song(Download download) { + public Media(Download download) { this.id = download.getSongID(); this.title = download.getTitle(); this.albumId = download.getAlbumId(); @@ -269,7 +270,7 @@ public class Song implements Parcelable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - Song song = (Song) o; + Media song = (Media) o; return id.equals(song.id); } @@ -313,7 +314,7 @@ public class Song implements Parcelable { dest.writeLong(this.lastPlay); } - protected Song(Parcel in) { + protected Media(Parcel in) { this.id = in.readString(); this.title = in.readString(); this.trackNumber = in.readInt(); @@ -336,13 +337,13 @@ public class Song implements Parcelable { this.lastPlay = in.readLong(); } - public static final Creator CREATOR = new Creator() { - public Song createFromParcel(Parcel source) { - return new Song(source); + public static final Creator CREATOR = new Creator() { + public Media createFromParcel(Parcel source) { + return new Media(source); } - public Song[] newArray(int size) { - return new Song[size]; + public Media[] newArray(int size) { + return new Media[size]; } }; } diff --git a/app/src/main/java/com/cappielloantonio/play/repository/AlbumRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/AlbumRepository.java index 3520d80e..8ba79070 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/AlbumRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/AlbumRepository.java @@ -9,7 +9,7 @@ import com.cappielloantonio.play.App; import com.cappielloantonio.play.interfaces.DecadesCallback; import com.cappielloantonio.play.interfaces.MediaCallback; import com.cappielloantonio.play.model.Album; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.subsonic.models.SubsonicResponse; import com.cappielloantonio.play.util.MappingUtil; @@ -140,8 +140,8 @@ public class AlbumRepository { }); } - public MutableLiveData> getAlbumTracks(String id) { - MutableLiveData> albumTracks = new MutableLiveData<>(); + public MutableLiveData> getAlbumTracks(String id) { + MutableLiveData> albumTracks = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getBrowsingClient() @@ -149,7 +149,7 @@ public class AlbumRepository { .enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { - List tracks = new ArrayList<>(); + List tracks = new ArrayList<>(); if (response.isSuccessful() && response.body() != null && response.body().getAlbum() != null) { tracks.addAll(MappingUtil.mapSong(response.body().getAlbum().getSongs())); @@ -248,7 +248,7 @@ public class AlbumRepository { .enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { - List songs = new ArrayList<>(); + List songs = new ArrayList<>(); if (response.isSuccessful() && response.body() != null && response.body().getSimilarSongs2() != null) { songs.addAll(MappingUtil.mapSong(response.body().getSimilarSongs2().getSongs())); diff --git a/app/src/main/java/com/cappielloantonio/play/repository/ArtistRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/ArtistRepository.java index 4c2817c1..50690731 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/ArtistRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/ArtistRepository.java @@ -10,7 +10,7 @@ import com.cappielloantonio.play.App; import com.cappielloantonio.play.interfaces.MediaCallback; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.subsonic.models.IndexID3; import com.cappielloantonio.play.subsonic.models.SubsonicResponse; import com.cappielloantonio.play.util.MappingUtil; @@ -251,7 +251,7 @@ public class ArtistRepository { .enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { - List songs = new ArrayList<>(); + List songs = new ArrayList<>(); if (response.isSuccessful() && response.body() != null && response.body().getSimilarSongs2() != null) { songs.addAll(MappingUtil.mapSong(response.body().getSimilarSongs2().getSongs())); @@ -267,8 +267,8 @@ public class ArtistRepository { }); } - public MutableLiveData> getArtistRandomSong(FragmentActivity fragmentActivity, Artist artist, int count) { - MutableLiveData> randomSongs = new MutableLiveData<>(); + public MutableLiveData> getArtistRandomSong(FragmentActivity fragmentActivity, Artist artist, int count) { + MutableLiveData> randomSongs = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getBrowsingClient() @@ -284,7 +284,7 @@ public class ArtistRepository { for (int index = 0; index < albums.size(); index++) { albumRepository.getAlbumTracks(albums.get(index).getId()).observe(fragmentActivity, songs -> { - ArrayList liveSongs = randomSongs.getValue(); + ArrayList liveSongs = randomSongs.getValue(); if (liveSongs == null) liveSongs = new ArrayList<>(); Collections.shuffle(liveSongs); liveSongs.addAll(songs); @@ -304,8 +304,8 @@ public class ArtistRepository { return randomSongs; } - public MutableLiveData> getTopSongs(String artistName, int count) { - MutableLiveData> topSongs = new MutableLiveData<>(); + public MutableLiveData> getTopSongs(String artistName, int count) { + MutableLiveData> topSongs = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getBrowsingClient() diff --git a/app/src/main/java/com/cappielloantonio/play/repository/PlaylistRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/PlaylistRepository.java index 286f4694..aff01a20 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/PlaylistRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/PlaylistRepository.java @@ -9,10 +9,8 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.App; import com.cappielloantonio.play.database.AppDatabase; import com.cappielloantonio.play.database.dao.PlaylistDao; -import com.cappielloantonio.play.database.dao.ServerDao; import com.cappielloantonio.play.model.Playlist; -import com.cappielloantonio.play.model.Server; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.subsonic.models.SubsonicResponse; import com.cappielloantonio.play.util.MappingUtil; @@ -63,8 +61,8 @@ public class PlaylistRepository { return listLivePlaylists; } - public MutableLiveData> getPlaylistSongs(String id) { - MutableLiveData> listLivePlaylistSongs = new MutableLiveData<>(); + public MutableLiveData> getPlaylistSongs(String id) { + MutableLiveData> listLivePlaylistSongs = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getPlaylistClient() @@ -73,7 +71,7 @@ public class PlaylistRepository { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { if (response.isSuccessful() && response.body() != null && response.body().getPlaylist() != null) { - List songs = new ArrayList<>(MappingUtil.mapSong(response.body().getPlaylist().getEntries())); + List songs = new ArrayList<>(MappingUtil.mapSong(response.body().getPlaylist().getEntries())); listLivePlaylistSongs.setValue(songs); } } diff --git a/app/src/main/java/com/cappielloantonio/play/repository/QueueRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/QueueRepository.java index d9a6f324..3944f477 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/QueueRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/QueueRepository.java @@ -7,7 +7,7 @@ import androidx.lifecycle.LiveData; import com.cappielloantonio.play.database.AppDatabase; import com.cappielloantonio.play.database.dao.QueueDao; import com.cappielloantonio.play.model.Queue; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.util.MappingUtil; import java.time.Instant; @@ -28,8 +28,8 @@ public class QueueRepository { return queueDao.getAll(); } - public List getSongs() { - List songs = new ArrayList<>(); + public List getSongs() { + List songs = new ArrayList<>(); GetSongsThreadSafe getSongs = new GetSongsThreadSafe(queueDao); Thread thread = new Thread(getSongs); @@ -45,9 +45,9 @@ public class QueueRepository { return songs; } - public void insert(Song song, boolean reset, int afterIndex) { + public void insert(Media song, boolean reset, int afterIndex) { try { - List songs = new ArrayList<>(); + List songs = new ArrayList<>(); if (!reset) { GetSongsThreadSafe getSongsThreadSafe = new GetSongsThreadSafe(queueDao); @@ -72,9 +72,9 @@ public class QueueRepository { } } - public void insertAll(List toAdd, boolean reset, int afterIndex) { + public void insertAll(List toAdd, boolean reset, int afterIndex) { try { - List songs = new ArrayList<>(); + List songs = new ArrayList<>(); if (!reset) { GetSongsThreadSafe getSongsThreadSafe = new GetSongsThreadSafe(queueDao); @@ -176,7 +176,7 @@ public class QueueRepository { private static class GetSongsThreadSafe implements Runnable { private final QueueDao queueDao; - private List songs; + private List songs; public GetSongsThreadSafe(QueueDao queueDao) { this.queueDao = queueDao; @@ -187,16 +187,16 @@ public class QueueRepository { songs = MappingUtil.mapQueue(queueDao.getAllSimple()); } - public List getSongs() { + public List getSongs() { return songs; } } private static class InsertAllThreadSafe implements Runnable { private final QueueDao queueDao; - private final List songs; + private final List songs; - public InsertAllThreadSafe(QueueDao queueDao, List songs) { + public InsertAllThreadSafe(QueueDao queueDao, List songs) { this.queueDao = queueDao; this.songs = songs; } diff --git a/app/src/main/java/com/cappielloantonio/play/repository/SearchingRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/SearchingRepository.java index 35c007bf..94219558 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/SearchingRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/SearchingRepository.java @@ -11,7 +11,7 @@ import com.cappielloantonio.play.database.dao.RecentSearchDao; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.RecentSearch; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.subsonic.models.AlbumID3; import com.cappielloantonio.play.subsonic.models.ArtistID3; import com.cappielloantonio.play.subsonic.models.Child; @@ -37,8 +37,8 @@ public class SearchingRepository { recentSearchDao = database.recentSearchDao(); } - public MutableLiveData> getSearchedSongs(String query) { - MutableLiveData> searchedSongs = new MutableLiveData<>(); + public MutableLiveData> getSearchedSongs(String query) { + MutableLiveData> searchedSongs = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getSearchingClient() @@ -46,7 +46,7 @@ public class SearchingRepository { .enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { - List songs = new ArrayList<>(); + List songs = new ArrayList<>(); if (response.isSuccessful() && response.body() != null && response.body().getSearchResult3() != null) { songs.addAll(MappingUtil.mapSong(response.body().getSearchResult3().getSongs())); diff --git a/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java index dfad2272..21c4cba7 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java @@ -7,7 +7,7 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.App; import com.cappielloantonio.play.interfaces.MediaCallback; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.subsonic.models.SubsonicResponse; import com.cappielloantonio.play.util.MappingUtil; @@ -29,8 +29,8 @@ public class SongRepository { this.application = application; } - public MutableLiveData> getStarredSongs(boolean random, int size) { - MutableLiveData> starredSongs = new MutableLiveData<>(); + public MutableLiveData> getStarredSongs(boolean random, int size) { + MutableLiveData> starredSongs = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getAlbumSongListClient() @@ -39,7 +39,7 @@ public class SongRepository { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { if (response.isSuccessful() && response.body() != null && response.body().getStarred2() != null) { - List songs = new ArrayList<>(MappingUtil.mapSong(response.body().getStarred2().getSongs())); + List songs = new ArrayList<>(MappingUtil.mapSong(response.body().getStarred2().getSongs())); if (!random) { starredSongs.setValue(songs); @@ -59,7 +59,7 @@ public class SongRepository { return starredSongs; } - public void getInstantMix(Song song, int count, MediaCallback callback) { + public void getInstantMix(Media song, int count, MediaCallback callback) { App.getSubsonicClientInstance(application, false) .getBrowsingClient() .getSimilarSongs2(song.getId(), count) @@ -67,7 +67,7 @@ public class SongRepository { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { if (response.isSuccessful() && response.body() != null && response.body().getSimilarSongs2() != null) { - List songs = new ArrayList<>(MappingUtil.mapSong(response.body().getSimilarSongs2().getSongs())); + List songs = new ArrayList<>(MappingUtil.mapSong(response.body().getSimilarSongs2().getSongs())); if (songs.size() <= 1) { songs.add(song); @@ -79,15 +79,15 @@ public class SongRepository { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { - List songs = new ArrayList<>(); + List songs = new ArrayList<>(); songs.add(song); callback.onLoadMedia(songs); } }); } - public MutableLiveData> getRandomSample(int number, Integer fromYear, Integer toYear) { - MutableLiveData> randomSongsSample = new MutableLiveData<>(); + public MutableLiveData> getRandomSample(int number, Integer fromYear, Integer toYear) { + MutableLiveData> randomSongsSample = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getAlbumSongListClient() @@ -95,7 +95,7 @@ public class SongRepository { .enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { - List songs = new ArrayList<>(); + List songs = new ArrayList<>(); if (response.isSuccessful() && response.body() != null && response.body().getRandomSongs() != null) { songs.addAll(MappingUtil.mapSong(response.body().getRandomSongs().getSongs())); @@ -181,8 +181,8 @@ public class SongRepository { }); } - public MutableLiveData> getSongsByGenre(String id) { - MutableLiveData> songsByGenre = new MutableLiveData<>(); + public MutableLiveData> getSongsByGenre(String id) { + MutableLiveData> songsByGenre = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getAlbumSongListClient() @@ -191,15 +191,15 @@ public class SongRepository { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { if (response.isSuccessful() && response.body() != null && response.body().getSongsByGenre() != null) { - List newSongs = new ArrayList<>(MappingUtil.mapSong(response.body().getSongsByGenre().getSongs())); - List songs = songsByGenre.getValue(); + List newSongs = new ArrayList<>(MappingUtil.mapSong(response.body().getSongsByGenre().getSongs())); + List songs = songsByGenre.getValue(); if (songs == null) songs = new ArrayList<>(); songs.addAll(newSongs); Collections.shuffle(songs); - LinkedHashSet hashSet = new LinkedHashSet<>(songs); - ArrayList songsWithoutDuplicates = new ArrayList<>(hashSet); + LinkedHashSet hashSet = new LinkedHashSet<>(songs); + ArrayList songsWithoutDuplicates = new ArrayList<>(hashSet); songsByGenre.setValue(songsWithoutDuplicates); } @@ -214,8 +214,8 @@ public class SongRepository { return songsByGenre; } - public MutableLiveData> getSongsByGenres(ArrayList genresId) { - MutableLiveData> songsByGenre = new MutableLiveData<>(); + public MutableLiveData> getSongsByGenres(ArrayList genresId) { + MutableLiveData> songsByGenre = new MutableLiveData<>(); for (String id : genresId) App.getSubsonicClientInstance(application, false) @@ -224,7 +224,7 @@ public class SongRepository { .enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { - List songs = new ArrayList<>(); + List songs = new ArrayList<>(); if (response.isSuccessful() && response.body() != null && response.body().getSongsByGenre() != null) { songs.addAll(MappingUtil.mapSong(response.body().getSongsByGenre().getSongs())); @@ -242,8 +242,8 @@ public class SongRepository { return songsByGenre; } - public MutableLiveData getSong(String id) { - MutableLiveData song = new MutableLiveData<>(); + public MutableLiveData getSong(String id) { + MutableLiveData song = new MutableLiveData<>(); App.getSubsonicClientInstance(application, false) .getBrowsingClient() @@ -265,7 +265,7 @@ public class SongRepository { return song; } - public MutableLiveData getSongLyrics(Song song) { + public MutableLiveData getSongLyrics(Media song) { MutableLiveData lyrics = new MutableLiveData<>(null); App.getSubsonicClientInstance(application, false) diff --git a/app/src/main/java/com/cappielloantonio/play/service/MediaManager.java b/app/src/main/java/com/cappielloantonio/play/service/MediaManager.java index b10f72ff..1b88c08c 100644 --- a/app/src/main/java/com/cappielloantonio/play/service/MediaManager.java +++ b/app/src/main/java/com/cappielloantonio/play/service/MediaManager.java @@ -9,7 +9,7 @@ import androidx.media3.session.MediaBrowser; import com.cappielloantonio.play.App; import com.cappielloantonio.play.interfaces.MediaIndexCallback; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.QueueRepository; import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.util.MappingUtil; @@ -64,7 +64,7 @@ public class MediaManager { try { if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.get().getMediaItemCount() < 1) { - List songs = getQueueRepository().getSongs(); + List songs = getQueueRepository().getSongs(); if (songs != null && songs.size() >= 1) { init(mediaBrowserListenableFuture, context, songs); } @@ -77,7 +77,7 @@ public class MediaManager { } } - public static void init(ListenableFuture mediaBrowserListenableFuture, Context context, List songs) { + public static void init(ListenableFuture mediaBrowserListenableFuture, Context context, List songs) { if (mediaBrowserListenableFuture != null) { mediaBrowserListenableFuture.addListener(() -> { try { @@ -164,7 +164,7 @@ public class MediaManager { } } - public static void startQueue(ListenableFuture mediaBrowserListenableFuture, Context context, List songs, int startIndex) { + public static void startQueue(ListenableFuture mediaBrowserListenableFuture, Context context, List songs, int startIndex) { if (mediaBrowserListenableFuture != null) { mediaBrowserListenableFuture.addListener(() -> { try { @@ -183,7 +183,7 @@ public class MediaManager { } } - public static void startQueue(ListenableFuture mediaBrowserListenableFuture, Context context, Song song) { + public static void startQueue(ListenableFuture mediaBrowserListenableFuture, Context context, Media song) { if (mediaBrowserListenableFuture != null) { mediaBrowserListenableFuture.addListener(() -> { try { @@ -201,7 +201,7 @@ public class MediaManager { } } - public static void enqueue(ListenableFuture mediaBrowserListenableFuture, Context context, List songs, boolean playImmediatelyAfter) { + public static void enqueue(ListenableFuture mediaBrowserListenableFuture, Context context, List songs, boolean playImmediatelyAfter) { if (mediaBrowserListenableFuture != null) { mediaBrowserListenableFuture.addListener(() -> { try { @@ -221,7 +221,7 @@ public class MediaManager { } } - public static void enqueue(ListenableFuture mediaBrowserListenableFuture, Context context, Song song, boolean playImmediatelyAfter) { + public static void enqueue(ListenableFuture mediaBrowserListenableFuture, Context context, Media song, boolean playImmediatelyAfter) { if (mediaBrowserListenableFuture != null) { mediaBrowserListenableFuture.addListener(() -> { try { @@ -241,7 +241,7 @@ public class MediaManager { } } - public static void swap(ListenableFuture mediaBrowserListenableFuture, List songs, int from, int to) { + public static void swap(ListenableFuture mediaBrowserListenableFuture, List songs, int from, int to) { if (mediaBrowserListenableFuture != null) { mediaBrowserListenableFuture.addListener(() -> { try { @@ -256,7 +256,7 @@ public class MediaManager { } } - public static void remove(ListenableFuture mediaBrowserListenableFuture, List songs, int toRemove) { + public static void remove(ListenableFuture mediaBrowserListenableFuture, List songs, int toRemove) { if (mediaBrowserListenableFuture != null) { mediaBrowserListenableFuture.addListener(() -> { try { @@ -312,19 +312,19 @@ public class MediaManager { return new SongRepository(App.getInstance()); } - private static void enqueueDatabase(List songs, boolean reset, int afterIndex) { + private static void enqueueDatabase(List songs, boolean reset, int afterIndex) { getQueueRepository().insertAll(songs, reset, afterIndex); } - private static void enqueueDatabase(Song song, boolean reset, int afterIndex) { + private static void enqueueDatabase(Media song, boolean reset, int afterIndex) { getQueueRepository().insert(song, reset, afterIndex); } - private static void swapDatabase(List songs) { + private static void swapDatabase(List songs) { getQueueRepository().insertAll(songs, true, 0); } - private static void removeDatabase(List songs, int toRemove) { + private static void removeDatabase(List songs, int toRemove) { if (toRemove != -1) { songs.remove(toRemove); getQueueRepository().insertAll(songs, true, 0); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java index 9bcb4a96..649a9193 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java @@ -3,8 +3,6 @@ package com.cappielloantonio.play.ui.fragment; import android.annotation.SuppressLint; import android.content.ComponentName; import android.content.Intent; -import android.graphics.BlendMode; -import android.graphics.BlendModeColorFilter; import android.net.Uri; import android.os.Bundle; import android.util.Log; @@ -14,7 +12,6 @@ import android.view.ViewGroup; import android.widget.Toast; import androidx.annotation.NonNull; -import androidx.core.view.ViewCompat; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import androidx.media3.session.MediaBrowser; @@ -30,7 +27,7 @@ import com.cappielloantonio.play.databinding.FragmentArtistPageBinding; import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.helper.recyclerview.CustomLinearSnapHelper; import com.cappielloantonio.play.interfaces.MediaCallback; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.service.MediaService; @@ -41,7 +38,6 @@ import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; import java.util.List; -import java.util.Objects; public class ArtistPageFragment extends Fragment { private static final String TAG = "ArtistPageFragment"; @@ -102,7 +98,7 @@ public class ArtistPageFragment extends Fragment { bind.mostStreamedSongTextViewClickable.setOnClickListener(v -> { Bundle bundle = new Bundle(); - bundle.putString(Song.BY_ARTIST, Song.BY_ARTIST); + bundle.putString(Media.BY_ARTIST, Media.BY_ARTIST); bundle.putParcelable("artist_object", artistPageViewModel.getArtist()); activity.navController.navigate(R.id.action_artistPageFragment_to_songListPageFragment, bundle); }); @@ -170,7 +166,7 @@ public class ArtistPageFragment extends Fragment { @Override public void onLoadMedia(List media) { if (media.size() > 0) { - MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), (ArrayList) media, 0); + MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), (ArrayList) media, 0); activity.setBottomSheetInPeek(true); } else { Toast.makeText(requireContext(), getString(R.string.artist_error_retrieving_radio), Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java index 5425ff03..f451df83 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/DownloadFragment.java @@ -12,7 +12,6 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.core.view.ViewCompat; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import androidx.media3.session.MediaBrowser; @@ -21,12 +20,10 @@ import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.PagerSnapHelper; import androidx.recyclerview.widget.SnapHelper; -import androidx.viewpager2.widget.ViewPager2; import com.cappielloantonio.play.R; import com.cappielloantonio.play.adapter.AlbumHorizontalAdapter; import com.cappielloantonio.play.adapter.ArtistHorizontalAdapter; -import com.cappielloantonio.play.adapter.PlaylistAdapter; import com.cappielloantonio.play.adapter.PlaylistHorizontalAdapter; import com.cappielloantonio.play.adapter.SongHorizontalAdapter; import com.cappielloantonio.play.databinding.FragmentDownloadBinding; @@ -34,7 +31,7 @@ import com.cappielloantonio.play.helper.recyclerview.DotsIndicatorDecoration; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Playlist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.service.MediaService; import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.util.UIUtil; @@ -153,7 +150,7 @@ public class DownloadFragment extends Fragment { bind.downloadedTracksTextViewClickable.setOnClickListener(v -> { Bundle bundle = new Bundle(); - bundle.putString(Song.DOWNLOADED, Song.DOWNLOADED); + bundle.putString(Media.DOWNLOADED, Media.DOWNLOADED); activity.navController.navigate(R.id.action_downloadFragment_to_songListPageFragment, bundle); }); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java index 081e722f..8c349aa3 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java @@ -15,7 +15,7 @@ import androidx.lifecycle.ViewModelProvider; import com.cappielloantonio.play.R; import com.cappielloantonio.play.databinding.FragmentFilterBinding; import com.cappielloantonio.play.model.Genre; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.util.MusicUtil; import com.cappielloantonio.play.viewmodel.FilterViewModel; @@ -57,7 +57,7 @@ public class FilterFragment extends Fragment { private void init() { Bundle bundle = new Bundle(); - bundle.putString(Song.BY_GENRES, Song.BY_GENRES); + bundle.putString(Media.BY_GENRES, Media.BY_GENRES); bundle.putStringArrayList("filters_list", filterViewModel.getFilters()); bundle.putStringArrayList("filter_name_list", filterViewModel.getFilterNames()); bind.finishFilteringTextViewClickable.setOnClickListener(v -> { diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/GenreCatalogueFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/GenreCatalogueFragment.java index 392e3219..56c84d30 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/GenreCatalogueFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/GenreCatalogueFragment.java @@ -25,7 +25,7 @@ import com.cappielloantonio.play.R; import com.cappielloantonio.play.adapter.GenreCatalogueAdapter; import com.cappielloantonio.play.databinding.FragmentGenreCatalogueBinding; import com.cappielloantonio.play.helper.recyclerview.GridItemDecoration; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.viewmodel.GenreCatalogueViewModel; @@ -109,7 +109,7 @@ public class GenreCatalogueFragment extends Fragment { bind.genreCatalogueRecyclerView.setAdapter(genreCatalogueAdapter); genreCatalogueAdapter.setClickListener((view, position) -> { Bundle bundle = new Bundle(); - bundle.putString(Song.BY_GENRE, Song.BY_GENRE); + bundle.putString(Media.BY_GENRE, Media.BY_GENRE); bundle.putParcelable("genre_object", genreCatalogueAdapter.getItem(position)); activity.navController.navigate(R.id.action_genreCatalogueFragment_to_songListPageFragment, bundle); }); 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 650f2338..38178630 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 @@ -3,7 +3,6 @@ package com.cappielloantonio.play.ui.fragment; import android.annotation.SuppressLint; import android.content.ComponentName; import android.os.Bundle; -import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -42,7 +41,7 @@ import com.cappielloantonio.play.helper.recyclerview.DotsIndicatorDecoration; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Playlist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.service.MediaService; import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.util.MusicUtil; @@ -181,7 +180,7 @@ public class HomeFragment extends Fragment { bind.starredTracksTextViewClickable.setOnClickListener(v -> { Bundle bundle = new Bundle(); - bundle.putString(Song.STARRED, Song.STARRED); + bundle.putString(Media.STARRED, Media.STARRED); activity.navController.navigate(R.id.action_homeFragment_to_songListPageFragment, bundle); }); @@ -451,7 +450,7 @@ public class HomeFragment extends Fragment { yearAdapter = new YearAdapter(requireContext()); yearAdapter.setClickListener((view, position) -> { Bundle bundle = new Bundle(); - bundle.putString(Song.BY_YEAR, Song.BY_YEAR); + bundle.putString(Media.BY_YEAR, Media.BY_YEAR); bundle.putInt("year_object", yearAdapter.getItem(position)); activity.navController.navigate(R.id.action_homeFragment_to_songListPageFragment, bundle); }); 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 a4840865..a8b5a003 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 @@ -10,32 +10,21 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.core.view.ViewCompat; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.PagerSnapHelper; -import androidx.recyclerview.widget.SnapHelper; -import androidx.viewpager2.widget.ViewPager2; import com.cappielloantonio.play.R; import com.cappielloantonio.play.adapter.AlbumAdapter; -import com.cappielloantonio.play.adapter.AlbumHorizontalAdapter; import com.cappielloantonio.play.adapter.ArtistAdapter; import com.cappielloantonio.play.adapter.GenreAdapter; -import com.cappielloantonio.play.adapter.PlaylistAdapter; -import com.cappielloantonio.play.adapter.PlaylistDialogHorizontalAdapter; import com.cappielloantonio.play.adapter.PlaylistHorizontalAdapter; -import com.cappielloantonio.play.adapter.SongHorizontalAdapter; import com.cappielloantonio.play.databinding.FragmentLibraryBinding; import com.cappielloantonio.play.helper.recyclerview.CustomLinearSnapHelper; -import com.cappielloantonio.play.helper.recyclerview.DotsIndicatorDecoration; -import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Playlist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.ui.activity.MainActivity; -import com.cappielloantonio.play.util.UIUtil; import com.cappielloantonio.play.viewmodel.LibraryViewModel; import com.google.android.gms.cast.framework.CastButtonFactory; @@ -201,7 +190,7 @@ public class LibraryFragment extends Fragment { genreAdapter = new GenreAdapter(requireContext()); genreAdapter.setClickListener((view, position) -> { Bundle bundle = new Bundle(); - bundle.putString(Song.BY_GENRE, Song.BY_GENRE); + bundle.putString(Media.BY_GENRE, Media.BY_GENRE); bundle.putParcelable("genre_object", genreAdapter.getItem(position)); activity.navController.navigate(R.id.action_libraryFragment_to_songListPageFragment, bundle); }); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerCoverFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerCoverFragment.java index af411ae8..cc4f8568 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerCoverFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerCoverFragment.java @@ -24,7 +24,7 @@ import com.cappielloantonio.play.App; import com.cappielloantonio.play.databinding.InnerFragmentPlayerCoverBinding; import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.interfaces.MediaCallback; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.service.MediaService; @@ -121,7 +121,7 @@ public class PlayerCoverFragment extends Fragment { @Override public void onLoadMedia(List media) { - MediaManager.enqueue(mediaBrowserListenableFuture, requireContext(), (List) media, true); + MediaManager.enqueue(mediaBrowserListenableFuture, requireContext(), (List) media, true); } }); }); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java index 64ed48b4..d070911d 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java @@ -18,7 +18,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import com.cappielloantonio.play.R; import com.cappielloantonio.play.adapter.SongHorizontalAdapter; import com.cappielloantonio.play.databinding.FragmentSongListPageBinding; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.service.MediaService; import com.cappielloantonio.play.ui.activity.MainActivity; @@ -80,50 +80,50 @@ public class SongListPageFragment extends Fragment { } private void init() { - if (requireArguments().getString(Song.RECENTLY_PLAYED) != null) { - songListPageViewModel.title = Song.RECENTLY_PLAYED; + if (requireArguments().getString(Media.RECENTLY_PLAYED) != null) { + songListPageViewModel.title = Media.RECENTLY_PLAYED; songListPageViewModel.toolbarTitle = getString(R.string.song_list_page_recently_played); bind.pageTitleLabel.setText(R.string.song_list_page_recently_played); - } else if (requireArguments().getString(Song.MOST_PLAYED) != null) { - songListPageViewModel.title = Song.MOST_PLAYED; + } else if (requireArguments().getString(Media.MOST_PLAYED) != null) { + songListPageViewModel.title = Media.MOST_PLAYED; songListPageViewModel.toolbarTitle = getString(R.string.song_list_page_most_played); bind.pageTitleLabel.setText(R.string.song_list_page_most_played); - } else if (requireArguments().getString(Song.RECENTLY_ADDED) != null) { - songListPageViewModel.title = Song.RECENTLY_ADDED; + } else if (requireArguments().getString(Media.RECENTLY_ADDED) != null) { + songListPageViewModel.title = Media.RECENTLY_ADDED; songListPageViewModel.toolbarTitle = getString(R.string.song_list_page_recently_added); bind.pageTitleLabel.setText(R.string.song_list_page_recently_added); - } else if (requireArguments().getString(Song.BY_GENRE) != null) { - songListPageViewModel.title = Song.BY_GENRE; + } else if (requireArguments().getString(Media.BY_GENRE) != null) { + songListPageViewModel.title = Media.BY_GENRE; songListPageViewModel.genre = requireArguments().getParcelable("genre_object"); songListPageViewModel.toolbarTitle = MusicUtil.getReadableString(songListPageViewModel.genre.getName()); bind.pageTitleLabel.setText(MusicUtil.getReadableString(songListPageViewModel.genre.getName())); - } else if (requireArguments().getString(Song.BY_ARTIST) != null) { - songListPageViewModel.title = Song.BY_ARTIST; + } else if (requireArguments().getString(Media.BY_ARTIST) != null) { + songListPageViewModel.title = Media.BY_ARTIST; songListPageViewModel.artist = requireArguments().getParcelable("artist_object"); songListPageViewModel.toolbarTitle = getString(R.string.song_list_page_top, MusicUtil.getReadableString(songListPageViewModel.artist.getName())); bind.pageTitleLabel.setText(getString(R.string.song_list_page_top, MusicUtil.getReadableString(songListPageViewModel.artist.getName()))); - } else if (requireArguments().getString(Song.BY_GENRES) != null) { - songListPageViewModel.title = Song.BY_GENRES; + } else if (requireArguments().getString(Media.BY_GENRES) != null) { + songListPageViewModel.title = Media.BY_GENRES; songListPageViewModel.filters = requireArguments().getStringArrayList("filters_list"); songListPageViewModel.filterNames = requireArguments().getStringArrayList("filter_name_list"); songListPageViewModel.toolbarTitle = songListPageViewModel.getFiltersTitle(); bind.pageTitleLabel.setText(songListPageViewModel.getFiltersTitle()); - } else if (requireArguments().getString(Song.BY_YEAR) != null) { - songListPageViewModel.title = Song.BY_YEAR; + } else if (requireArguments().getString(Media.BY_YEAR) != null) { + songListPageViewModel.title = Media.BY_YEAR; songListPageViewModel.year = requireArguments().getInt("year_object"); songListPageViewModel.toolbarTitle = getString(R.string.song_list_page_year, songListPageViewModel.year); bind.pageTitleLabel.setText(getString(R.string.song_list_page_year, songListPageViewModel.year)); - } else if (requireArguments().getString(Song.STARRED) != null) { - songListPageViewModel.title = Song.STARRED; + } else if (requireArguments().getString(Media.STARRED) != null) { + songListPageViewModel.title = Media.STARRED; songListPageViewModel.toolbarTitle = getString(R.string.song_list_page_starred); bind.pageTitleLabel.setText(R.string.song_list_page_starred); - } else if (requireArguments().getString(Song.DOWNLOADED) != null) { - songListPageViewModel.title = Song.DOWNLOADED; + } else if (requireArguments().getString(Media.DOWNLOADED) != null) { + songListPageViewModel.title = Media.DOWNLOADED; songListPageViewModel.toolbarTitle = getString(R.string.song_list_page_downloaded); bind.pageTitleLabel.setText(getString(R.string.song_list_page_downloaded)); } else if (requireArguments().getParcelable("album_object") != null) { songListPageViewModel.album = requireArguments().getParcelable("album_object"); - songListPageViewModel.title = Song.FROM_ALBUM; + songListPageViewModel.title = Media.FROM_ALBUM; songListPageViewModel.toolbarTitle = MusicUtil.getReadableString(songListPageViewModel.album.getTitle()); bind.pageTitleLabel.setText(MusicUtil.getReadableString(songListPageViewModel.album.getTitle())); } diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java index 6c9811b3..ea7a9ddd 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java @@ -26,7 +26,7 @@ import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.interfaces.MediaCallback; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Download; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.service.MediaService; @@ -113,7 +113,7 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements @Override public void onLoadMedia(List media) { if (media.size() > 0) { - MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), (ArrayList) media, 0); + MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), (ArrayList) media, 0); ((MainActivity) requireActivity()).setBottomSheetInPeek(true); } else { Toast.makeText(requireContext(), getString(R.string.album_error_retrieving_radio), Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java index 45222cd9..fa52712e 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java @@ -23,7 +23,7 @@ import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.interfaces.MediaCallback; import com.cappielloantonio.play.model.Artist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.service.MediaService; @@ -104,7 +104,7 @@ public class ArtistBottomSheetDialog extends BottomSheetDialogFragment implement @Override public void onLoadMedia(List media) { if (media.size() > 0) { - MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), (ArrayList) media, 0); + MediaManager.startQueue(mediaBrowserListenableFuture, requireContext(), (ArrayList) media, 0); ((MainActivity) requireActivity()).setBottomSheetInPeek(true); } else { Toast.makeText(requireContext(), getString(R.string.artist_error_retrieving_radio), Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java index aa34cb69..643b532d 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java @@ -23,7 +23,7 @@ import com.cappielloantonio.play.App; import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.interfaces.MediaCallback; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.service.MediaManager; import com.cappielloantonio.play.service.MediaService; @@ -43,7 +43,7 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements private static final String TAG = "SongBottomSheetDialog"; private SongBottomSheetViewModel songBottomSheetViewModel; - private Song song; + private Media song; private ListenableFuture mediaBrowserListenableFuture; @@ -123,7 +123,7 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements @Override public void onLoadMedia(List media) { - MediaManager.enqueue(mediaBrowserListenableFuture, requireContext(), (List) media, true); + MediaManager.enqueue(mediaBrowserListenableFuture, requireContext(), (List) media, true); dismissBottomSheet(); } }); diff --git a/app/src/main/java/com/cappielloantonio/play/util/MappingUtil.java b/app/src/main/java/com/cappielloantonio/play/util/MappingUtil.java index 0b807df6..943dc3c6 100644 --- a/app/src/main/java/com/cappielloantonio/play/util/MappingUtil.java +++ b/app/src/main/java/com/cappielloantonio/play/util/MappingUtil.java @@ -15,7 +15,7 @@ import com.cappielloantonio.play.model.Playlist; import com.cappielloantonio.play.model.PodcastChannel; import com.cappielloantonio.play.model.PodcastEpisode; import com.cappielloantonio.play.model.Queue; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.subsonic.models.AlbumID3; import com.cappielloantonio.play.subsonic.models.AlbumInfo; import com.cappielloantonio.play.subsonic.models.AlbumWithSongsID3; @@ -30,18 +30,18 @@ import java.util.ArrayList; import java.util.List; public class MappingUtil { - public static ArrayList mapSong(List children) { - ArrayList songs = new ArrayList(); + public static ArrayList mapSong(List children) { + ArrayList songs = new ArrayList(); for (Child child : children) { - songs.add(new Song(child)); + songs.add(new Media(child)); } return songs; } - public static Song mapSong(Child child) { - return new Song(child); + public static Media mapSong(Child child) { + return new Media(child); } public static ArrayList mapAlbum(List albumID3List) { @@ -94,21 +94,21 @@ public class MappingUtil { return artists; } - public static ArrayList mapQueue(List queueList) { - ArrayList songs = new ArrayList(); + public static ArrayList mapQueue(List queueList) { + ArrayList songs = new ArrayList(); for (Queue item : queueList) { - songs.add(new Song(item)); + songs.add(new Media(item)); } return songs; } - public static Queue mapSongToQueue(Song song, int trackOrder) { + public static Queue mapSongToQueue(Media song, int trackOrder) { return new Queue(trackOrder, song.getId(), song.getTitle(), song.getAlbumId(), song.getAlbumName(), song.getArtistId(), song.getArtistName(), song.getPrimary(), song.getDuration(), 0, 0); } - public static List mapSongsToQueue(List songs) { + public static List mapSongsToQueue(List songs) { List queue = new ArrayList<>(); for (int counter = 0; counter < songs.size(); counter++) { @@ -128,11 +128,11 @@ public class MappingUtil { return playlist; } - public static ArrayList mapDownloadToSong(List downloads) { - ArrayList songs = new ArrayList(); + public static ArrayList mapDownloadToSong(List downloads) { + ArrayList songs = new ArrayList(); for (Download download : downloads) { - Song song = new Song(download); + Media song = new Media(download); if (!songs.contains(song)) { songs.add(song); } @@ -177,17 +177,17 @@ public class MappingUtil { return playlists; } - public static ArrayList mapDownload(List songs, String playlistId, String playlistName) { + public static ArrayList mapDownload(List songs, String playlistId, String playlistName) { ArrayList downloads = new ArrayList(); - for (Song song : songs) { + for (Media song : songs) { downloads.add(new Download(song, playlistId, playlistName)); } return downloads; } - public static Download mapDownload(Song song, String playlistId, String playlistName) { + public static Download mapDownload(Media song, String playlistId, String playlistName) { return new Download(song, playlistId, playlistName); } @@ -202,7 +202,7 @@ public class MappingUtil { } @SuppressLint("UnsafeOptInUsageError") - public static MediaItem mapMediaItem(Context context, Song song, boolean stream) { + public static MediaItem mapMediaItem(Context context, Media song, boolean stream) { boolean isDownloaded = DownloadUtil.getDownloadTracker(context).isDownloaded(MusicUtil.getDownloadUri(song.getId())); Bundle bundle = new Bundle(); @@ -258,8 +258,8 @@ public class MappingUtil { ArrayList mediaItems = new ArrayList(); for(int i = 0; i < items.size(); i++) { - if(items.get(i) instanceof Song) { - mediaItems.add(mapMediaItem(context, (Song) items.get(i), stream)); + if(items.get(i) instanceof Media) { + mediaItems.add(mapMediaItem(context, (Media) items.get(i), stream)); } if(items.get(i) instanceof PodcastEpisode) { diff --git a/app/src/main/java/com/cappielloantonio/play/util/MusicUtil.java b/app/src/main/java/com/cappielloantonio/play/util/MusicUtil.java index cfb186e2..462bda00 100644 --- a/app/src/main/java/com/cappielloantonio/play/util/MusicUtil.java +++ b/app/src/main/java/com/cappielloantonio/play/util/MusicUtil.java @@ -10,7 +10,6 @@ import android.util.Log; import com.cappielloantonio.play.App; import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; -import com.cappielloantonio.play.model.Song; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumBottomSheetViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumBottomSheetViewModel.java index 435e11f7..660998e2 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumBottomSheetViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumBottomSheetViewModel.java @@ -9,7 +9,7 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.ArtistRepository; @@ -40,7 +40,7 @@ public class AlbumBottomSheetViewModel extends AndroidViewModel { return artistRepository.getArtist(album.getArtistId()); } - public MutableLiveData> getAlbumTracks() { + public MutableLiveData> getAlbumTracks() { return albumRepository.getAlbumTracks(album.getId()); } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumPageViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumPageViewModel.java index 11ca13c7..f22121e9 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumPageViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/AlbumPageViewModel.java @@ -3,7 +3,6 @@ package com.cappielloantonio.play.viewmodel; import android.app.Application; import androidx.annotation.NonNull; -import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LiveData; @@ -11,7 +10,7 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.DownloadRepository; @@ -24,7 +23,7 @@ public class AlbumPageViewModel extends AndroidViewModel { private final ArtistRepository artistRepository; private final DownloadRepository downloadRepository; - private MutableLiveData> songLiveList = new MutableLiveData<>(); + private MutableLiveData> songLiveList = new MutableLiveData<>(); private Album album; private boolean isOffline; @@ -37,7 +36,7 @@ public class AlbumPageViewModel extends AndroidViewModel { downloadRepository = new DownloadRepository(application); } - public LiveData> getAlbumSongLiveList(LifecycleOwner owner) { + public LiveData> getAlbumSongLiveList(LifecycleOwner owner) { if (isOffline) { downloadRepository.getLiveDownloadFromAlbum(album.getId()).observe(owner, downloads -> songLiveList.postValue(MappingUtil.mapDownloadToSong(downloads))); } else { diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/ArtistPageViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/ArtistPageViewModel.java index ed94823e..fc6dd2f6 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/ArtistPageViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/ArtistPageViewModel.java @@ -8,7 +8,7 @@ import androidx.lifecycle.LiveData; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.ArtistRepository; @@ -35,7 +35,7 @@ public class ArtistPageViewModel extends AndroidViewModel { return artistRepository.getArtistFullInfo(id); } - public LiveData> getArtistTopSongList(int count) { + public LiveData> getArtistTopSongList(int count) { return artistRepository.getTopSongs(artist.getName(), count); } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/DownloadViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/DownloadViewModel.java index db4d3f10..749c9195 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/DownloadViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/DownloadViewModel.java @@ -11,7 +11,7 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Playlist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.DownloadRepository; import com.cappielloantonio.play.util.MappingUtil; @@ -24,7 +24,7 @@ public class DownloadViewModel extends AndroidViewModel { private final MutableLiveData> downloadedArtistSample = new MutableLiveData<>(null); private final MutableLiveData> downloadedAlbumSample = new MutableLiveData<>(null); - private final MutableLiveData> downloadedTrackSample = new MutableLiveData<>(null); + private final MutableLiveData> downloadedTrackSample = new MutableLiveData<>(null); private final MutableLiveData> downloadedPlaylistSample = new MutableLiveData<>(null); public DownloadViewModel(@NonNull Application application) { @@ -43,7 +43,7 @@ public class DownloadViewModel extends AndroidViewModel { return downloadedAlbumSample; } - public LiveData> getDownloadedTracks(LifecycleOwner owner, int size) { + public LiveData> getDownloadedTracks(LifecycleOwner owner, int size) { downloadRepository.getLiveDownloadSample(size, false, false, true, false).observe(owner, downloads -> downloadedTrackSample.postValue(MappingUtil.mapDownloadToSong(downloads))); return downloadedTrackSample; } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/HomeViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/HomeViewModel.java index d3949342..f9b2f74c 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/HomeViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/HomeViewModel.java @@ -13,13 +13,12 @@ import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Playlist; import com.cappielloantonio.play.model.PodcastEpisode; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.PlaylistRepository; import com.cappielloantonio.play.repository.PodcastRepository; import com.cappielloantonio.play.repository.SongRepository; -import com.cappielloantonio.play.subsonic.models.NewestPodcasts; import com.cappielloantonio.play.util.PreferenceUtil; import java.util.Calendar; @@ -36,11 +35,11 @@ public class HomeViewModel extends AndroidViewModel { private final PlaylistRepository playlistRepository; private final PodcastRepository podcastRepository; - private final MutableLiveData> dicoverSongSample = new MutableLiveData<>(null); + private final MutableLiveData> dicoverSongSample = new MutableLiveData<>(null); private final MutableLiveData> newReleasedAlbum = new MutableLiveData<>(null); - private final MutableLiveData> starredTracksSample = new MutableLiveData<>(null); + private final MutableLiveData> starredTracksSample = new MutableLiveData<>(null); private final MutableLiveData> starredArtistsSample = new MutableLiveData<>(null); - private final MutableLiveData> starredTracks = new MutableLiveData<>(null); + private final MutableLiveData> starredTracks = new MutableLiveData<>(null); private final MutableLiveData> starredAlbums = new MutableLiveData<>(null); private final MutableLiveData> starredArtists = new MutableLiveData<>(null); private final MutableLiveData> mostPlayedAlbumSample = new MutableLiveData<>(null); @@ -64,7 +63,7 @@ public class HomeViewModel extends AndroidViewModel { artistRepository.getStarredArtists(true, 10).observeForever(starredArtistsSample::postValue); } - public LiveData> getDiscoverSongSample() { + public LiveData> getDiscoverSongSample() { return dicoverSongSample; } @@ -79,7 +78,7 @@ public class HomeViewModel extends AndroidViewModel { return newReleasedAlbum; } - public LiveData> getStarredTracksSample() { + public LiveData> getStarredTracksSample() { return starredTracksSample; } @@ -87,7 +86,7 @@ public class HomeViewModel extends AndroidViewModel { return starredArtistsSample; } - public LiveData> getStarredTracks(LifecycleOwner owner) { + public LiveData> getStarredTracks(LifecycleOwner owner) { songRepository.getStarredSongs(true, 20).observe(owner, starredTracks::postValue); return starredTracks; } @@ -131,7 +130,7 @@ public class HomeViewModel extends AndroidViewModel { return pinnedPlaylists; } - public LiveData> getPlaylistSongLiveList(String playlistId) { + public LiveData> getPlaylistSongLiveList(String playlistId) { return playlistRepository.getPlaylistSongs(playlistId); } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/PlayerBottomSheetViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/PlayerBottomSheetViewModel.java index 97e0b721..e9271bbd 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/PlayerBottomSheetViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/PlayerBottomSheetViewModel.java @@ -12,7 +12,7 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Queue; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.QueueRepository; import com.cappielloantonio.play.repository.SongRepository; @@ -31,7 +31,7 @@ public class PlayerBottomSheetViewModel extends AndroidViewModel { private final MutableLiveData lyricsLiveData = new MutableLiveData<>(null); - private final MutableLiveData liveSong = new MutableLiveData<>(null); + private final MutableLiveData liveSong = new MutableLiveData<>(null); private final MutableLiveData liveAlbum = new MutableLiveData<>(null); private final MutableLiveData liveArtist = new MutableLiveData<>(null); @@ -47,7 +47,7 @@ public class PlayerBottomSheetViewModel extends AndroidViewModel { return queueRepository.getLiveQueue(); } - public void setFavorite(Context context, Song song) { + public void setFavorite(Context context, Media song) { if (song != null) { if (song.isFavorite()) { songRepository.unstar(song.getId()); @@ -70,11 +70,11 @@ public class PlayerBottomSheetViewModel extends AndroidViewModel { return lyricsLiveData; } - public void refreshSongInfo(LifecycleOwner owner, Song song) { + public void refreshSongInfo(LifecycleOwner owner, Media song) { songRepository.getSongLyrics(song).observe(owner, lyricsLiveData::postValue); } - public LiveData getLiveSong() { + public LiveData getLiveSong() { return liveSong; } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistChooserViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistChooserViewModel.java index 302c7bb5..f6dde72d 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistChooserViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistChooserViewModel.java @@ -8,7 +8,7 @@ import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.model.Playlist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.PlaylistRepository; import java.util.ArrayList; @@ -19,7 +19,7 @@ public class PlaylistChooserViewModel extends AndroidViewModel { private final PlaylistRepository playlistRepository; private final MutableLiveData> playlists = new MutableLiveData<>(null); - private Song toAdd; + private Media toAdd; public PlaylistChooserViewModel(@NonNull Application application) { super(application); @@ -38,11 +38,11 @@ public class PlaylistChooserViewModel extends AndroidViewModel { playlistRepository.addSongToPlaylist(playlistId, new ArrayList(Collections.singletonList(toAdd.getId()))); } - public void setSongToAdd(Song song) { + public void setSongToAdd(Media song) { toAdd = song; } - public Song getSongToAdd() { + public Media getSongToAdd() { return toAdd; } } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistEditorViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistEditorViewModel.java index fceae3d1..ce3903d0 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistEditorViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistEditorViewModel.java @@ -1,7 +1,6 @@ package com.cappielloantonio.play.viewmodel; import android.app.Application; -import android.util.Log; import androidx.annotation.NonNull; import androidx.lifecycle.AndroidViewModel; @@ -9,7 +8,7 @@ import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.model.Playlist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.PlaylistRepository; import java.util.ArrayList; @@ -22,10 +21,10 @@ public class PlaylistEditorViewModel extends AndroidViewModel { private final PlaylistRepository playlistRepository; - private Song toAdd; + private Media toAdd; private Playlist toEdit; - private MutableLiveData> songLiveList = new MutableLiveData<>(); + private MutableLiveData> songLiveList = new MutableLiveData<>(); public PlaylistEditorViewModel(@NonNull Application application) { super(application); @@ -46,11 +45,11 @@ public class PlaylistEditorViewModel extends AndroidViewModel { if (toEdit != null) playlistRepository.deletePlaylist(toEdit.getId()); } - public Song getSongToAdd() { + public Media getSongToAdd() { return toAdd; } - public void setSongToAdd(Song song) { + public void setSongToAdd(Media song) { this.toAdd = song; } @@ -68,26 +67,26 @@ public class PlaylistEditorViewModel extends AndroidViewModel { } } - public LiveData> getPlaylistSongLiveList() { + public LiveData> getPlaylistSongLiveList() { return songLiveList; } public void removeFromPlaylistSongLiveList(int position) { - List songs = songLiveList.getValue(); + List songs = songLiveList.getValue(); Objects.requireNonNull(songs).remove(position); songLiveList.postValue(songs); } - public void orderPlaylistSongLiveListAfterSwap(List songs) { + public void orderPlaylistSongLiveListAfterSwap(List songs) { songLiveList.postValue(songs); } private ArrayList getPlaylistSongIds() { - List songs = songLiveList.getValue(); + List songs = songLiveList.getValue(); ArrayList ids = new ArrayList<>(); if (songs != null && !songs.isEmpty()) { - for (Song song : songs) { + for (Media song : songs) { ids.add(song.getId()); } } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistPageViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistPageViewModel.java index ba4179c8..531a9e28 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistPageViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/PlaylistPageViewModel.java @@ -3,7 +3,6 @@ package com.cappielloantonio.play.viewmodel; import android.app.Application; import androidx.annotation.NonNull; -import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LiveData; @@ -11,7 +10,7 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.App; import com.cappielloantonio.play.model.Playlist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.DownloadRepository; import com.cappielloantonio.play.repository.PlaylistRepository; import com.cappielloantonio.play.util.MappingUtil; @@ -23,7 +22,7 @@ public class PlaylistPageViewModel extends AndroidViewModel { private final PlaylistRepository playlistRepository; private final DownloadRepository downloadRepository; - private MutableLiveData> playlistSongLiveList = new MutableLiveData<>(); + private MutableLiveData> playlistSongLiveList = new MutableLiveData<>(); private Playlist playlist; private boolean isOffline; @@ -35,7 +34,7 @@ public class PlaylistPageViewModel extends AndroidViewModel { downloadRepository = new DownloadRepository(application); } - public LiveData> getPlaylistSongLiveList(LifecycleOwner owner) { + public LiveData> getPlaylistSongLiveList(LifecycleOwner owner) { if (isOffline) { downloadRepository.getLiveDownloadFromPlaylist(playlist.getId()).observe(owner, downloads -> playlistSongLiveList.postValue(MappingUtil.mapDownloadToSong(downloads))); } else { diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/RatingViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/RatingViewModel.java index 80635b83..68b8f020 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/RatingViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/RatingViewModel.java @@ -8,7 +8,7 @@ import androidx.lifecycle.LiveData; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.SongRepository; @@ -18,7 +18,7 @@ public class RatingViewModel extends AndroidViewModel { private final AlbumRepository albumRepository; private final ArtistRepository artistRepository; - private Song song; + private Media song; private Album album; private Artist artist; @@ -30,15 +30,15 @@ public class RatingViewModel extends AndroidViewModel { artistRepository = new ArtistRepository(application); } - public Song getSong() { + public Media getSong() { return song; } - public LiveData getLiveSong() { + public LiveData getLiveSong() { return songRepository.getSong(song.getId()); } - public void setSong(Song song) { + public void setSong(Media song) { this.song = song; this.album = null; this.artist = null; diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/SearchViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/SearchViewModel.java index d1ca9d77..be161dde 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/SearchViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/SearchViewModel.java @@ -9,7 +9,7 @@ import androidx.lifecycle.LiveData; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.RecentSearch; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.SearchingRepository; import java.util.ArrayList; @@ -40,7 +40,7 @@ public class SearchViewModel extends AndroidViewModel { } } - public LiveData> searchSong(String title) { + public LiveData> searchSong(String title) { return searchingRepository.getSearchedSongs(title); } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/SongBottomSheetViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/SongBottomSheetViewModel.java index 6355a864..9b146586 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/SongBottomSheetViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/SongBottomSheetViewModel.java @@ -9,7 +9,7 @@ import androidx.lifecycle.LiveData; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.AlbumRepository; import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.SongRepository; @@ -22,7 +22,7 @@ public class SongBottomSheetViewModel extends AndroidViewModel { private final AlbumRepository albumRepository; private final ArtistRepository artistRepository; - private Song song; + private Media song; public SongBottomSheetViewModel(@NonNull Application application) { super(application); @@ -32,11 +32,11 @@ public class SongBottomSheetViewModel extends AndroidViewModel { artistRepository = new ArtistRepository(application); } - public Song getSong() { + public Media getSong() { return song; } - public void setSong(Song song) { + public void setSong(Media song) { this.song = song; } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/SongListPageViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/SongListPageViewModel.java index de03c689..39f7c314 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/SongListPageViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/SongListPageViewModel.java @@ -4,7 +4,6 @@ import android.app.Application; import android.text.TextUtils; import androidx.annotation.NonNull; -import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LiveData; @@ -13,7 +12,7 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Genre; -import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.repository.DownloadRepository; import com.cappielloantonio.play.repository.SongRepository; @@ -33,7 +32,7 @@ public class SongListPageViewModel extends AndroidViewModel { public Artist artist; public Album album; - private MutableLiveData> songList; + private MutableLiveData> songList; public ArrayList filters = new ArrayList<>(); public ArrayList filterNames = new ArrayList<>(); @@ -48,29 +47,29 @@ public class SongListPageViewModel extends AndroidViewModel { downloadRepository = new DownloadRepository(application); } - public LiveData> getSongList(LifecycleOwner owner) { + public LiveData> getSongList(LifecycleOwner owner) { songList = new MutableLiveData<>(new ArrayList<>()); switch (title) { - case Song.BY_GENRE: + case Media.BY_GENRE: songList = songRepository.getSongsByGenre(genre.getId()); break; - case Song.BY_ARTIST: + case Media.BY_ARTIST: songList = artistRepository.getTopSongs(artist.getName(), 50); break; - case Song.BY_GENRES: + case Media.BY_GENRES: songList = songRepository.getSongsByGenres(filters); break; - case Song.BY_YEAR: + case Media.BY_YEAR: songList = songRepository.getRandomSample(500, year, year + 10); break; - case Song.STARRED: + case Media.STARRED: songList = songRepository.getStarredSongs(false, -1); break; - case Song.DOWNLOADED: + case Media.DOWNLOADED: downloadRepository.getLiveDownload().observe(owner, downloads -> songList.setValue(MappingUtil.mapDownloadToSong(downloads))); break; - case Song.FROM_ALBUM: + case Media.FROM_ALBUM: downloadRepository.getLiveDownloadFromAlbum(album.getId()).observe(owner, downloads -> songList.setValue(MappingUtil.mapDownloadToSong(downloads))); break; } diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/StarredSyncViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/StarredSyncViewModel.java index b213546a..b2cadf89 100644 --- a/app/src/main/java/com/cappielloantonio/play/viewmodel/StarredSyncViewModel.java +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/StarredSyncViewModel.java @@ -8,19 +8,15 @@ import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; -import com.cappielloantonio.play.model.Playlist; -import com.cappielloantonio.play.model.Song; -import com.cappielloantonio.play.repository.PlaylistRepository; +import com.cappielloantonio.play.model.Media; import com.cappielloantonio.play.repository.SongRepository; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; public class StarredSyncViewModel extends AndroidViewModel { private final SongRepository songRepository; - private final MutableLiveData> starredTracks = new MutableLiveData<>(null); + private final MutableLiveData> starredTracks = new MutableLiveData<>(null); public StarredSyncViewModel(@NonNull Application application) { super(application); @@ -28,7 +24,7 @@ public class StarredSyncViewModel extends AndroidViewModel { songRepository = new SongRepository(application); } - public LiveData> getStarredTracks(LifecycleOwner owner) { + public LiveData> getStarredTracks(LifecycleOwner owner) { songRepository.getStarredSongs(false, -1).observe(owner, starredTracks::postValue); return starredTracks; }