diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/song/AbsOffsetSongAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/song/AbsOffsetSongAdapter.java index c56983f9..0d54c420 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/song/AbsOffsetSongAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/song/AbsOffsetSongAdapter.java @@ -90,7 +90,7 @@ public abstract class AbsOffsetSongAdapter extends SongAdapter { @Override protected Song getSong() { // return empty song just to be safe - if (getItemViewType() == OFFSET_ITEM) return Song.EMPTY_SONG; + if (getItemViewType() == OFFSET_ITEM) return Song.EMPTY; return dataSet.get(getAdapterPosition() - 1); } diff --git a/app/src/main/java/com/dkanada/gramophone/helper/MusicPlayerRemote.java b/app/src/main/java/com/dkanada/gramophone/helper/MusicPlayerRemote.java index b899c114..f13938e0 100644 --- a/app/src/main/java/com/dkanada/gramophone/helper/MusicPlayerRemote.java +++ b/app/src/main/java/com/dkanada/gramophone/helper/MusicPlayerRemote.java @@ -182,7 +182,7 @@ public class MusicPlayerRemote { return musicService.getCurrentSong(); } - return Song.EMPTY_SONG; + return Song.EMPTY; } public static int getPosition() { diff --git a/app/src/main/java/com/dkanada/gramophone/loader/SongLoader.java b/app/src/main/java/com/dkanada/gramophone/loader/SongLoader.java index 5aa5e3fe..aef59533 100644 --- a/app/src/main/java/com/dkanada/gramophone/loader/SongLoader.java +++ b/app/src/main/java/com/dkanada/gramophone/loader/SongLoader.java @@ -59,7 +59,7 @@ public class SongLoader { if (cursor != null && cursor.moveToFirst()) { song = getSongFromCursorImpl(cursor); } else { - song = Song.EMPTY_SONG; + song = Song.EMPTY; } if (cursor != null) { diff --git a/app/src/main/java/com/dkanada/gramophone/model/Song.java b/app/src/main/java/com/dkanada/gramophone/model/Song.java index 3a6d6389..dba5e445 100644 --- a/app/src/main/java/com/dkanada/gramophone/model/Song.java +++ b/app/src/main/java/com/dkanada/gramophone/model/Song.java @@ -10,18 +10,20 @@ import org.jellyfin.apiclient.model.dto.MediaSourceInfo; import org.jellyfin.apiclient.model.entities.ImageType; import org.jellyfin.apiclient.model.entities.MediaStream; +import java.util.UUID; + public class Song implements Parcelable { - public static final Song EMPTY_SONG = new Song(null, "", -1, -1, -1, -1, null, "", null, "", null, false); + public static final Song EMPTY = new Song(); - public final String id; - public final String title; - public final int trackNumber; - public final int discNumber; - public final int year; - public final long duration; + public String id; + public String title; + public int trackNumber; + public int discNumber; + public int year; + public long duration; - public final String albumId; - public final String albumName; + public String albumId; + public String albumName; public String artistId; public String artistName; @@ -41,6 +43,10 @@ public class Song implements Parcelable { public int bitDepth; public int channels; + public Song() { + this.id = UUID.randomUUID().toString(); + } + public Song(BaseItemDto itemDto) { this.id = itemDto.getId(); this.title = itemDto.getName(); diff --git a/app/src/main/java/com/dkanada/gramophone/service/MusicService.java b/app/src/main/java/com/dkanada/gramophone/service/MusicService.java index b1880c36..3dddb66f 100644 --- a/app/src/main/java/com/dkanada/gramophone/service/MusicService.java +++ b/app/src/main/java/com/dkanada/gramophone/service/MusicService.java @@ -623,7 +623,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP if (position >= 0 && position < getPlayingQueue().size()) { return getPlayingQueue().get(position); } else { - return Song.EMPTY_SONG; + return Song.EMPTY; } } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/player/card/CardPlayerFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/player/card/CardPlayerFragment.java index 4ebd4669..018e00c8 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/player/card/CardPlayerFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/player/card/CardPlayerFragment.java @@ -376,7 +376,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum @SuppressWarnings("ConstantConditions") private static class PortraitImpl extends BaseImpl { MediaEntryViewHolder currentSongViewHolder; - Song currentSong = Song.EMPTY_SONG; + Song currentSong = Song.EMPTY; public PortraitImpl(CardPlayerFragment fragment, FragmentCardPlayerBinding binding) { super(fragment, binding); diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java index 64ce51bc..8f9579e0 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/player/flat/FlatPlayerFragment.java @@ -364,7 +364,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum @SuppressWarnings("ConstantConditions") private static class PortraitImpl extends BaseImpl { MediaEntryViewHolder currentSongViewHolder; - Song currentSong = Song.EMPTY_SONG; + Song currentSong = Song.EMPTY; public PortraitImpl(FlatPlayerFragment fragment, FragmentFlatPlayerBinding binding) { super(fragment, binding);