diff --git a/Armadillo/src/main/java/com/scribd/armadillo/di/PlaybackModule.kt b/Armadillo/src/main/java/com/scribd/armadillo/di/PlaybackModule.kt index 2a52c7c..529e4d5 100644 --- a/Armadillo/src/main/java/com/scribd/armadillo/di/PlaybackModule.kt +++ b/Armadillo/src/main/java/com/scribd/armadillo/di/PlaybackModule.kt @@ -20,8 +20,8 @@ import com.scribd.armadillo.playback.PlaybackStateBuilderImpl import com.scribd.armadillo.playback.PlaybackStateCompatBuilder import com.scribd.armadillo.playback.mediasource.DrmMediaSourceHelper import com.scribd.armadillo.playback.mediasource.DrmMediaSourceHelperImpl -import com.scribd.armadillo.playback.mediasource.HeadersMediaSourceHelper -import com.scribd.armadillo.playback.mediasource.HeadersMediaSourceHelperImpl +import com.scribd.armadillo.playback.mediasource.HeadersMediaSourceFactoryFactory +import com.scribd.armadillo.playback.mediasource.HeadersMediaSourceFactoryFactoryImpl import com.scribd.armadillo.playback.mediasource.MediaSourceRetriever import com.scribd.armadillo.playback.mediasource.MediaSourceRetrieverImpl import dagger.Module @@ -66,7 +66,7 @@ internal class PlaybackModule { @Provides @Singleton - fun mediaSourceHelper(mediaSourceHelperImpl: HeadersMediaSourceHelperImpl): HeadersMediaSourceHelper = mediaSourceHelperImpl + fun mediaSourceHelper(mediaSourceHelperImpl: HeadersMediaSourceFactoryFactoryImpl): HeadersMediaSourceFactoryFactory = mediaSourceHelperImpl @Provides @Singleton diff --git a/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/DashMediaSourceGenerator.kt b/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/DashMediaSourceGenerator.kt index 1d964ab..c3a3e28 100644 --- a/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/DashMediaSourceGenerator.kt +++ b/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/DashMediaSourceGenerator.kt @@ -19,7 +19,7 @@ import javax.inject.Inject /** For playback, both streaming and downloaded */ internal class DashMediaSourceGenerator @Inject constructor( context: Context, - private val mediaSourceHelper: HeadersMediaSourceHelper, + private val mediaSourceFactoryFactory: HeadersMediaSourceFactoryFactory, private val downloadTracker: DownloadTracker, private val drmMediaSourceHelper: DrmMediaSourceHelper, private val drmSessionManagerProvider: DrmSessionManagerProvider, @@ -33,7 +33,7 @@ internal class DashMediaSourceGenerator @Inject constructor( if (request.drmInfo != null) { stateStore.dispatch(OpeningLicenseAction(request.drmInfo.drmType)) } - val dataSourceFactory = mediaSourceHelper.createDataSourceFactory(context, request) + val dataSourceFactory = mediaSourceFactoryFactory.createDataSourceFactory(context, request) val download = downloadTracker.getDownload(id = mediaId, uri = request.url) val isDownloaded = download != null && download.state == Download.STATE_COMPLETED @@ -45,7 +45,7 @@ internal class DashMediaSourceGenerator @Inject constructor( ) return if (isDownloaded) { - val drmManager = if (request.drmInfo == null) { + val drmManager = if (request.drmInfo != null) { drmSessionManagerProvider.get(mediaItem) } else null @@ -74,5 +74,6 @@ internal class DashMediaSourceGenerator @Inject constructor( } } - override fun updateMediaSourceHeaders(request: AudioPlayable.MediaRequest) = mediaSourceHelper.updateMediaSourceHeaders(request) + override fun updateMediaSourceHeaders(request: AudioPlayable.MediaRequest) = + mediaSourceFactoryFactory.updateMediaSourceHeaders(request) } \ No newline at end of file diff --git a/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceHelper.kt b/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceFactoryFactory.kt similarity index 87% rename from Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceHelper.kt rename to Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceFactoryFactory.kt index accb10d..f1dc46f 100644 --- a/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceHelper.kt +++ b/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceFactoryFactory.kt @@ -4,7 +4,7 @@ import android.content.Context import com.google.android.exoplayer2.upstream.DataSource import com.scribd.armadillo.models.AudioPlayable -internal interface HeadersMediaSourceHelper { +internal interface HeadersMediaSourceFactoryFactory { fun createDataSourceFactory(context: Context, request: AudioPlayable.MediaRequest): DataSource.Factory fun updateMediaSourceHeaders(request: AudioPlayable.MediaRequest) } \ No newline at end of file diff --git a/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceHelperImpl.kt b/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceFactoryFactoryImpl.kt similarity index 95% rename from Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceHelperImpl.kt rename to Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceFactoryFactoryImpl.kt index 644333c..ee9321d 100644 --- a/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceHelperImpl.kt +++ b/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HeadersMediaSourceFactoryFactoryImpl.kt @@ -12,10 +12,10 @@ import javax.inject.Inject import javax.inject.Singleton @Singleton -internal class HeadersMediaSourceHelperImpl @Inject constructor( +internal class HeadersMediaSourceFactoryFactoryImpl @Inject constructor( private val cacheManager: CacheManager, private val headersStore: HeadersStore -): HeadersMediaSourceHelper { +): HeadersMediaSourceFactoryFactory { private val previousRequests = mutableMapOf() override fun createDataSourceFactory(context: Context, request: AudioPlayable.MediaRequest): DataSource.Factory { diff --git a/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HlsMediaSourceGenerator.kt b/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HlsMediaSourceGenerator.kt index 8893c95..3b39aaa 100644 --- a/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HlsMediaSourceGenerator.kt +++ b/Armadillo/src/main/java/com/scribd/armadillo/playback/mediasource/HlsMediaSourceGenerator.kt @@ -8,7 +8,6 @@ import com.google.android.exoplayer2.offline.DownloadHelper import com.google.android.exoplayer2.source.MediaSource import com.google.android.exoplayer2.source.hls.HlsMediaSource import com.scribd.armadillo.download.DownloadTracker -import com.scribd.armadillo.extensions.toUri import com.scribd.armadillo.models.AudioPlayable import javax.inject.Inject @@ -17,7 +16,7 @@ import javax.inject.Inject * */ internal class HlsMediaSourceGenerator @Inject constructor( - private val mediaSourceHelper: HeadersMediaSourceHelper, + private val mediaSourceHelper: HeadersMediaSourceFactoryFactory, private val downloadTracker: DownloadTracker) : MediaSourceGenerator {