Simplified uri management

This commit is contained in:
antonio 2023-03-10 12:17:25 +01:00
parent 66431ca15b
commit 827edbcb89
2 changed files with 16 additions and 80 deletions

View file

@ -10,57 +10,23 @@ import androidx.media3.common.MediaMetadata;
import androidx.media3.common.MimeTypes;
import androidx.media3.common.util.UnstableApi;
import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.model.Download;
import com.cappielloantonio.play.model.Media;
import com.cappielloantonio.play.model.Playlist;
import com.cappielloantonio.play.subsonic.models.Child;
import java.util.ArrayList;
import java.util.List;
@OptIn(markerClass = UnstableApi.class)
public class MappingUtil {
public static ArrayList<Album> mapDownloadToAlbum(List<Download> downloads) {
ArrayList<Album> albums = new ArrayList();
public static ArrayList<MediaItem> mapMediaItems(Context context, List<Child> items, boolean stream) {
ArrayList<MediaItem> mediaItems = new ArrayList();
// TODO
/* for (Download download : downloads) {
Album album = new Album(download);
if (!albums.contains(album)) {
albums.add(album);
}
} */
for (int i = 0; i < items.size(); i++) {
mediaItems.add(mapMediaItem(context, items.get(i), stream));
}
return albums;
return mediaItems;
}
public static ArrayList<Artist> mapDownloadToArtist(List<Download> downloads) {
ArrayList<Artist> artists = new ArrayList();
// TODO
/* for (Download download : downloads) {
Artist artist = new Artist(download);
if (!artists.contains(artist)) {
artists.add(artist);
}
} */
return artists;
}
public static ArrayList<Playlist> mapDownloadToPlaylist(List<Download> downloads) {
ArrayList<Playlist> playlists = new ArrayList();
// TODO
/*for (Download download : downloads) {
playlists.add(new Playlist(download.getPlaylistId(), download.getPlaylistName(), null, 0, 0, null));
}*/
return playlists;
}
@OptIn(markerClass = UnstableApi.class)
public static MediaItem mapMediaItem(Context context, Child media, boolean stream) {
boolean isDownloaded = DownloadUtil.getDownloadTracker(context).isDownloaded(MusicUtil.getDownloadUri(media.getId()));
@ -122,33 +88,10 @@ public class MappingUtil {
}
private static Uri getUri(Context context, Child media, boolean stream) {
switch (media.getType()) {
case Media.MEDIA_TYPE_MUSIC:
if (stream) {
return MusicUtil.getStreamUri(context, media.getId());
} else {
return MusicUtil.getDownloadUri(media.getId());
}
case Media.MEDIA_TYPE_PODCAST:
if (stream) {
// TODO
// return MusicUtil.getStreamUri(context, media.getStreamId());
} else {
// TODO
// return MusicUtil.getDownloadUri(media.getStreamId());
}
default:
return MusicUtil.getStreamUri(context, media.getId());
if (stream) {
return MusicUtil.getStreamUri(context, media.getId());
} else {
return MusicUtil.getDownloadUri(media.getId());
}
}
public static ArrayList<MediaItem> mapMediaItems(Context context, List<Child> items, boolean stream) {
ArrayList<MediaItem> mediaItems = new ArrayList();
for (int i = 0; i < items.size(); i++) {
mediaItems.add(mapMediaItem(context, items.get(i), stream));
}
return mediaItems;
}
}

View file

@ -41,17 +41,11 @@ public class MusicUtil {
uri.append("&v=").append(params.get("v"));
if (params.containsKey("c") && params.get("c") != null)
uri.append("&c=").append(params.get("c"));
uri.append("&maxBitRate=").append(getBitratePreference(context));
uri.append("&format=").append(getTranscodingFormatPreference(context));
uri.append("&id=").append(id);
if (getConnectivityManager(context).getActiveNetworkInfo() != null) {
uri.append("&maxBitRate=")
.append(getBitratePreference(context))
.append("&format=")
.append(getTranscodingFormatPreference(context));
}
// Log.d(TAG, "getStreamUri(): " + uri);
return Uri.parse(uri.toString());
}
@ -61,7 +55,7 @@ public class MusicUtil {
StringBuilder uri = new StringBuilder();
uri.append(App.getSubsonicClientInstance(App.getInstance(), false).getUrl());
uri.append("stream");
uri.append("download");
if (params.containsKey("u") && params.get("u") != null)
uri.append("?u=").append(params.get("u"));
@ -75,9 +69,8 @@ public class MusicUtil {
uri.append("&v=").append(params.get("v"));
if (params.containsKey("c") && params.get("c") != null)
uri.append("&c=").append(params.get("c"));
uri.append("&id=").append(id);
// Log.d(TAG, "getDownloadUri(): " + uri);
uri.append("&id=").append(id);
return Uri.parse(uri.toString());
}