diff --git a/app/src/main/java/com/cappielloantonio/tempo/util/DownloadUtil.java b/app/src/main/java/com/cappielloantonio/tempo/util/DownloadUtil.java index 3b6babfe..238b4136 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/util/DownloadUtil.java +++ b/app/src/main/java/com/cappielloantonio/tempo/util/DownloadUtil.java @@ -2,7 +2,6 @@ package com.cappielloantonio.tempo.util; import android.app.Notification; import android.content.Context; -import android.net.Uri; import androidx.core.app.NotificationCompat; import androidx.media3.common.util.UnstableApi; @@ -102,13 +101,6 @@ public final class DownloadUtil { return dataSourceFactory; } - public static boolean shouldBypassCache(Uri uri) { - if (uri == null) return true; - String url = uri.toString(); - String mainServer = Preferences.getServer(); - return mainServer != null && !url.startsWith(mainServer); - } - public static synchronized DownloadNotificationHelper getDownloadNotificationHelper(Context context) { if (downloadNotificationHelper == null) { downloadNotificationHelper = new DownloadNotificationHelper(context, DOWNLOAD_NOTIFICATION_CHANNEL_ID); diff --git a/app/src/notquitemy/java/com/cappielloantonio/tempo/service/DynamicMediaSourceFactory.kt b/app/src/main/java/com/cappielloantonio/tempo/util/DynamicMediaSourceFactory.kt similarity index 83% rename from app/src/notquitemy/java/com/cappielloantonio/tempo/service/DynamicMediaSourceFactory.kt rename to app/src/main/java/com/cappielloantonio/tempo/util/DynamicMediaSourceFactory.kt index 8c8df4d3..575cf837 100644 --- a/app/src/notquitemy/java/com/cappielloantonio/tempo/service/DynamicMediaSourceFactory.kt +++ b/app/src/main/java/com/cappielloantonio/tempo/util/DynamicMediaSourceFactory.kt @@ -1,7 +1,6 @@ -package com.cappielloantonio.tempo.service +package com.cappielloantonio.tempo.util import android.content.Context -import android.net.Uri import androidx.media3.common.C import androidx.media3.common.MediaItem import androidx.media3.common.MimeTypes @@ -14,8 +13,6 @@ import androidx.media3.exoplayer.source.ProgressiveMediaSource import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy import androidx.media3.extractor.DefaultExtractorsFactory import androidx.media3.extractor.ExtractorsFactory -import com.cappielloantonio.tempo.util.DownloadUtil -import com.cappielloantonio.tempo.util.Preferences @UnstableApi class DynamicMediaSourceFactory( @@ -23,11 +20,10 @@ class DynamicMediaSourceFactory( ) : MediaSource.Factory { override fun createMediaSource(mediaItem: MediaItem): MediaSource { - val uri: Uri = mediaItem.localConfiguration?.uri ?: mediaItem.requestMetadata.mediaUri - ?: throw IllegalArgumentException("MediaItem must contain a valid URI") + val mediaType: String? = mediaItem.mediaMetadata.extras?.getString("type", "") val streamingCacheSize = Preferences.getStreamingCacheSize() - val bypassCache = DownloadUtil.shouldBypassCache(uri) + val bypassCache = mediaType == Constants.MEDIA_TYPE_RADIO val useUpstream = when { streamingCacheSize.toInt() == 0 -> true @@ -44,7 +40,7 @@ class DynamicMediaSourceFactory( return when { mediaItem.localConfiguration?.mimeType == MimeTypes.APPLICATION_M3U8 || - uri.toString().endsWith(".m3u8") -> { + mediaItem.localConfiguration?.uri.toString().endsWith(".m3u8") -> { HlsMediaSource.Factory(dataSourceFactory).createMediaSource(mediaItem) } diff --git a/app/src/notquitemy/java/com/cappielloantonio/tempo/service/MediaService.kt b/app/src/notquitemy/java/com/cappielloantonio/tempo/service/MediaService.kt index c78b660c..d595afe7 100644 --- a/app/src/notquitemy/java/com/cappielloantonio/tempo/service/MediaService.kt +++ b/app/src/notquitemy/java/com/cappielloantonio/tempo/service/MediaService.kt @@ -18,7 +18,7 @@ import com.cappielloantonio.tempo.R import com.cappielloantonio.tempo.ui.activity.MainActivity import com.cappielloantonio.tempo.util.Constants import com.cappielloantonio.tempo.util.DownloadUtil -import com.cappielloantonio.tempo.service.DynamicMediaSourceFactory +import com.cappielloantonio.tempo.util.DynamicMediaSourceFactory import com.cappielloantonio.tempo.util.Preferences import com.cappielloantonio.tempo.util.ReplayGainUtil import com.google.common.collect.ImmutableList