From eea424c1e8dc92415068aee81b84907b52b6f27f Mon Sep 17 00:00:00 2001
From: LagradOst <11805592+LagradOst@users.noreply.github.com>
Date: Thu, 5 May 2022 23:50:08 +0200
Subject: [PATCH] fixed android TV auto, no download support & VLC on A11+
---
app/src/main/AndroidManifest.xml | 166 ++++++++++--------
.../movieproviders/EgyBestProvider.kt | 43 +++++
.../cloudstream3/ui/result/EpisodeAdapter.kt | 4 +-
.../cloudstream3/ui/result/ResultFragment.kt | 3 +-
.../ui/settings/SettingsFragment.kt | 3 +-
.../lagradost/cloudstream3/utils/AppUtils.kt | 7 +-
app/src/main/res/layout/fragment_result.xml | 1 +
7 files changed, 146 insertions(+), 81 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cc06223e..dd7a2ec0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,20 +1,25 @@
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.lagradost.cloudstream3">
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+ android:value="com.lagradost.cloudstream3.utils.CastOptionsProvider" />
-
-
-
-
-
+
+
+
+
+
@@ -55,22 +62,62 @@
android:label="@string/app_name"
android:resizeableActivity="true"
android:supportsPictureInPicture="true">
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -78,45 +125,22 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
@@ -125,19 +149,17 @@
android:enabled="false"
android:exported="true">
-
+
-
+ android:exported="false">
-
+ android:name=".ui.ControllerActivity">
+ android:resource="@xml/provider_paths" />
\ No newline at end of file
diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt
index 47081258..de0d0d72 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt
@@ -160,12 +160,55 @@ class EgyBestProvider : MainAPI() {
@JsonProperty("quality") val quality: Int?,
@JsonProperty("link") val link: String
)
+
+
override suspend fun loadLinks(
data: String,
isCasting: Boolean,
subtitleCallback: (SubtitleFile) -> Unit,
callback: (ExtractorLink) -> Unit
): Boolean {
+ /*val baseURL = data.split("/")[0] + "//" + data.split("/")[2]
+ val episodeSoup = app.get(data).document
+
+ val vidstreamURL = fixUrlNull(episodeSoup.selectFirst("iframe.auto-size")?.attr("src") ) ?: throw ErrorLoadingException("No iframe")
+ val videoSoup = app.get(vidstreamURL).document
+ fixUrlNull( videoSoup.select("source").firstOrNull { it.hasAttr("src") }?.attr("src"))?.let {
+ callback.invoke(ExtractorLink(this.name,this.name,it,"",Qualities.Unknown.value,it.contains(".m3u8")))
+ } ?: run {
+ var jsCode = videoSoup.select("script")[1].data()
+
+ val verificationToken = Regex("{'[0-9a-zA-Z_]*':'ok'}").findAll(jsCode)[0][2:-7]
+ val encodedAdLinkVar = Regex("([0-9a-zA-Z_]{2,12}\[Math").findAll(jsCode)[0][1:-5]
+ val encodingArraysRegEx = Regex(",[0-9a-zA-Z_]{2,12}=\[\]").findAll(jsCode)
+ val firstEncodingArray = encodingArraysRegEx[1][1:-3]
+ val secondEncodingArray = encodingArraysRegEx[2][1:-3]
+
+ jsCode = Regex("^