diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt
index 441a109f..1da9c0d2 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt
@@ -7,7 +7,6 @@ import android.util.Log
import android.widget.FrameLayout
import com.google.android.exoplayer2.*
import com.google.android.exoplayer2.database.StandaloneDatabaseProvider
-import com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
import com.google.android.exoplayer2.extractor.ExtractorsFactory
import com.google.android.exoplayer2.source.DefaultMediaSourceFactory
import com.google.android.exoplayer2.source.MergingMediaSource
@@ -19,12 +18,12 @@ import com.google.android.exoplayer2.trackselection.TrackSelector
import com.google.android.exoplayer2.ui.SubtitleView
import com.google.android.exoplayer2.upstream.DataSource
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
+import com.google.android.exoplayer2.upstream.DefaultHttpDataSource
import com.google.android.exoplayer2.upstream.cache.CacheDataSource
import com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
import com.google.android.exoplayer2.upstream.cache.SimpleCache
import com.google.android.exoplayer2.util.MimeTypes
import com.lagradost.cloudstream3.USER_AGENT
-import com.lagradost.cloudstream3.app
import com.lagradost.cloudstream3.mvvm.logError
import com.lagradost.cloudstream3.ui.subtitles.SaveCaptionStyle
import com.lagradost.cloudstream3.utils.ExtractorLink
@@ -266,7 +265,7 @@ class CS3IPlayer : IPlayer {
companion object {
private fun createOnlineSource(link: ExtractorLink): DataSource.Factory {
// Because Trailers.to seems to fail with http/1.1 the normal one uses.
- return OkHttpDataSource.Factory(app.baseClient).apply {
+ return DefaultHttpDataSource.Factory().apply {
setUserAgent(USER_AGENT)
val headers = mapOf(
"referer" to link.referer,
@@ -280,7 +279,7 @@ class CS3IPlayer : IPlayer {
setDefaultRequestProperties(headers)
//https://stackoverflow.com/questions/69040127/error-code-io-bad-http-status-exoplayer-android
-// setAllowCrossProtocolRedirects(true)
+ setAllowCrossProtocolRedirects(true)
}
}
diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt
index fd0ad3d2..770e5a74 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt
@@ -526,6 +526,8 @@ class ResultFragment : Fragment() {
private fun updateUI() {
viewModel.reloadEpisodes()
+
+
}
@SuppressLint("SetTextI18n")
@@ -1020,6 +1022,31 @@ class ResultFragment : Fragment() {
observe(viewModel.episodes) { episodeList ->
lateFixDownloadButton(episodeList.size <= 1) // movies can have multible parts but still be *movies* this will fix this
+ var isSeriesVisible = false
+ DataStoreHelper.getLastWatched(currentId)?.let { resume ->
+ if (currentIsMovie == false && episodeList.size >= 3) {
+ isSeriesVisible = true
+ result_resume_series_button?.setOnClickListener {
+ episodeList.firstOrNull { it.id == resume.episodeId }?.let {
+ handleAction(EpisodeClickEvent(ACTION_PLAY_EPISODE_IN_PLAYER, it))
+ }
+ }
+ result_resume_series_title?.text =
+ if (resume.season == null)
+ "${getString(R.string.episode)} ${resume.episode}"
+ else
+ " \"${getString(R.string.season_short)}${resume.season}:${getString(R.string.episode_short)}${resume.episode}\""
+
+ getViewPos(resume.episodeId)?.let { viewPos ->
+ result_resume_series_progress?.apply {
+ max = (viewPos.duration / 1000).toInt()
+ progress = (viewPos.position / 1000).toInt()
+ }
+ result_resume_series_progress_text?.text = getString(R.string.resume_time_left).format((viewPos.duration - viewPos.position) / (60_000))
+ }
+ }
+ }
+ result_series_parent?.isVisible = isSeriesVisible
when (startAction) {
START_ACTION_RESUME_LATEST -> {
diff --git a/app/src/main/res/layout/fragment_result.xml b/app/src/main/res/layout/fragment_result.xml
index d2d47f1f..add1c564 100644
--- a/app/src/main/res/layout/fragment_result.xml
+++ b/app/src/main/res/layout/fragment_result.xml
@@ -339,6 +339,7 @@
style="@style/SmallBlackButton"
android:layout_gravity="center_vertical"
tools:text="Gogoanime" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+