mirror of
https://github.com/antebudimir/tempus.git
synced 2025-12-31 17:43:32 +00:00
Simplified uri management
This commit is contained in:
parent
66431ca15b
commit
827edbcb89
2 changed files with 16 additions and 80 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue