diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SflixProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SflixProvider.kt index cf98948f..74ae4129 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SflixProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/SflixProvider.kt @@ -594,9 +594,8 @@ open class SflixProvider : MainAPI() { ignoreCase = true ) if (isM3u8) { - M3u8Helper().m3u8Generation(M3u8Helper.M3u8Stream(this.file, null), true) + M3u8Helper().m3u8Generation(M3u8Helper.M3u8Stream(this.file, null), null) .map { stream -> - //println("stream: ${stream.quality} at ${stream.streamUrl}") ExtractorLink( caller.name, "${caller.name} $name", @@ -610,10 +609,10 @@ open class SflixProvider : MainAPI() { } else { listOf(ExtractorLink( caller.name, - this.label?.let { "${caller.name} - $it" } ?: caller.name, + caller.name, file, caller.mainUrl, - getQualityFromName(this.type ?: ""), + getQualityFromName(this.label), false, extractorData = extractorData )) @@ -621,7 +620,7 @@ open class SflixProvider : MainAPI() { } } - fun Tracks.toSubtitleFile(): SubtitleFile? { + private fun Tracks.toSubtitleFile(): SubtitleFile? { return this.file?.let { SubtitleFile( this.label ?: "Unknown", @@ -630,7 +629,6 @@ open class SflixProvider : MainAPI() { } } - suspend fun MainAPI.extractRabbitStream( url: String, subtitleCallback: (SubtitleFile) -> Unit, diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/GeneratorPlayer.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/GeneratorPlayer.kt index 215f3a6a..95b297a6 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/GeneratorPlayer.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/GeneratorPlayer.kt @@ -271,9 +271,9 @@ class GeneratorPlayer : FullScreenPlayer() { val sourcesArrayAdapter = ArrayAdapter(ctx, R.layout.sort_bottom_single_choice) - sourcesArrayAdapter.addAll(sortedUrls.map { - val name = it.first?.name ?: it.second?.name ?: "NULL" - "$name ${Qualities.getStringByInt(it.first?.quality)}" + sourcesArrayAdapter.addAll(sortedUrls.map { (link, uri) -> + val name = link?.name ?: uri?.name ?: "NULL" + "$name ${Qualities.getStringByInt(link?.quality)}" }) providerList.choiceMode = AbsListView.CHOICE_MODE_SINGLE diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/ExtractorApi.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/ExtractorApi.kt index 983adf36..a8db8562 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/ExtractorApi.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/ExtractorApi.kt @@ -5,7 +5,6 @@ import com.lagradost.cloudstream3.TvType import com.lagradost.cloudstream3.USER_AGENT import com.lagradost.cloudstream3.app import com.lagradost.cloudstream3.extractors.* -import com.lagradost.cloudstream3.extractors.BullStream import com.lagradost.cloudstream3.mvvm.suspendSafeApiCall import kotlinx.coroutines.delay import org.jsoup.Jsoup diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/M3u8Helper.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/M3u8Helper.kt index ba4fd37f..99dfe233 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/M3u8Helper.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/M3u8Helper.kt @@ -25,7 +25,7 @@ class M3u8Helper { streamUrl = streamUrl, quality = quality, headers = headers, - ), true + ), null ) .map { stream -> ExtractorLink( @@ -41,7 +41,6 @@ class M3u8Helper { } } - private val ENCRYPTION_DETECTION_REGEX = Regex("#EXT-X-KEY:METHOD=([^,]+),") private val ENCRYPTION_URL_IV_REGEX = Regex("#EXT-X-KEY:METHOD=([^,]+),URI=\"([^\"]+)\"(?:,IV=(.*))?") @@ -117,7 +116,7 @@ class M3u8Helper { return !url.contains("https://") && !url.contains("http://") } - fun m3u8Generation(m3u8: M3u8Stream, returnThis: Boolean): List { + fun m3u8Generation(m3u8: M3u8Stream, returnThis: Boolean?): List { val generate = sequence { val m3u8Parent = getParentLink(m3u8.streamUrl) val response = runBlocking { @@ -155,7 +154,7 @@ class M3u8Helper { ) ) } - if (returnThis || !hasAnyContent) { + if (returnThis ?: !hasAnyContent) { yield( M3u8Stream( m3u8.streamUrl,