From 1252ad45318c915244ce4cedbafbc55fb732816d Mon Sep 17 00:00:00 2001
From: cutterchop <31880937+cutterchop@users.noreply.github.com>
Date: Sat, 30 Oct 2021 20:09:00 +0100
Subject: [PATCH 1/4] Arabic translation fix #69 (#185)
Co-authored-by: Arjix <53124886+ArjixWasTaken@users.noreply.github.com>
---
app/src/main/res/values-ar/strings.xml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 07980d4f..041cf991 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -25,7 +25,7 @@
لايوجد بيانات
المزيد من الخيارات
الحلقة القادمة
- الأنواع
+ النواع
شارك
فتح في الويب
تخطي التحميل
@@ -106,7 +106,7 @@
قد تكون هناك حاجة إلى شبكة ظاهرية خاصة لكي يعمل هذا المزود بشكل صحيح
هذا المزود هو تورنت ، يوصى باستخدام شبكة ظاهرية خاصة
الوصف
- لم يتم العثور على قطعة
+ لم يتم العثور على وصف
لم يتم العثور على وصف
صورة داخل صورة
@@ -116,7 +116,7 @@
الترجمة
إعدادات ترجمة المشغل
وضع إيغنغرافي
- يضيف خيار السرعة في اللاعب
+ يضيف خيار السرعة في المشغل
اسحب للسعي
اسحب إلى اليسار أو اليمين للتحكم في الوقت في مشغل الفيديو
اسحب لتغيير الإعدادات
@@ -129,7 +129,7 @@
بحث
معلومات
البحث المتقدم
- يعطيك نتائج البحث مفصولة عن طريق مزود
+ يعطيك نتائج البحث مفصولة عن طريق المزود
إرسال البيانات عن الأعطال فقط
لا ترسل أي بيانات
عرض حلقة فلر لأنيمي
@@ -184,7 +184,7 @@
تطبيق
أفلام
- مسلسلت
+ مسلسلات
رسوم متحركة
انمي
تورنت
From 44100c4e0925406359b662955f99a7d3e78e1761 Mon Sep 17 00:00:00 2001
From: Arjix <53124886+ArjixWasTaken@users.noreply.github.com>
Date: Sat, 30 Oct 2021 23:20:46 +0300
Subject: [PATCH 2/4] Extracted quality from AllAnime m3u8 streams. (Untested)
---
.../animeproviders/AllAnimeProvider.kt | 60 +++++++++++++------
1 file changed, 43 insertions(+), 17 deletions(-)
diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt
index b141089a..a72c21a5 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt
@@ -1,6 +1,7 @@
package com.lagradost.cloudstream3.animeproviders
import com.lagradost.cloudstream3.*
+import com.lagradost.cloudstream3.utils.*
import com.lagradost.cloudstream3.network.get
import com.lagradost.cloudstream3.network.text
import com.lagradost.cloudstream3.utils.ExtractorLink
@@ -26,6 +27,8 @@ class AllAnimeProvider : MainAPI() {
get() = false
override val hasMainPage: Boolean
get() = false
+
+ private val hlsHelper = M3u8Helper()
private fun getStatus(t: String): ShowStatus {
return when (t) {
@@ -243,6 +246,21 @@ class AllAnimeProvider : MainAPI() {
private data class ApiEndPoint(
@JsonProperty("episodeIframeHead") val episodeIframeHead: String
)
+
+ private fun getM3u8Qualities(m3u8Link: String, referer: String): ArrayList {
+ return ArrayList(hlsHelper.m3u8Generation(M3u8Helper.M3u8Stream(m3u8Link, null), true).map { stream ->
+ val qualityString = if ((stream.quality ?: 0) == 0) "" else "${stream.quality}p"
+ ExtractorLink(
+ this.name,
+ "${this.name} $qualityString",
+ stream.streamUrl,
+ referer,
+ getQualityFromName(stream.quality.toString()),
+ true,
+ stream.headers
+ )
+ })
+ }
override fun loadLinks(
data: String,
@@ -264,16 +282,20 @@ class AllAnimeProvider : MainAPI() {
if (Regex("""streaming\.php\?""").matches(link)) {
// for now ignore
} else if (!embedIsBlacklisted(link)) {
- callback(
- ExtractorLink(
- "AllAnime - " + URI(link).host,
- "",
- link,
- data,
- getQualityFromName("1080"),
- URI(link).path.contains(".m3u")
+ if (URI(link).path.contains(".m3u")) {
+ getM3u8Qualities(link, referer).forEach(callback)
+ } else {
+ callback(
+ ExtractorLink(
+ "AllAnime - " + URI(link).host,
+ "",
+ link,
+ data,
+ getQualityFromName("1080"),
+ false
+ )
)
- )
+ }
}
} else {
link = apiEndPoint + URI(link).path + ".json?" + URI(link).query
@@ -282,14 +304,18 @@ class AllAnimeProvider : MainAPI() {
if (response.code < 400) {
val links = mapper.readValue(response.text).links
links.forEach { server ->
- callback(ExtractorLink(
- "AllAnime - " + URI(server.link).host,
- server.resolutionStr,
- server.link,
- "$apiEndPoint/player?uri=" + (if (URI(server.link).host.isNotEmpty()) server.link else apiEndPoint + URI(server.link).path),
- getQualityFromName("1080"),
- server.hls != null && server.hls
- ))
+ if (server.hls != null && server.hls) {
+ getM3u8Qualities(server.link, "$apiEndPoint/player?uri=" + (if (URI(server.link).host.isNotEmpty()) server.link else apiEndPoint + URI(server.link).path)).forEach(callback)
+ } else {
+ callback(ExtractorLink(
+ "AllAnime - " + URI(server.link).host,
+ server.resolutionStr,
+ server.link,
+ "$apiEndPoint/player?uri=" + (if (URI(server.link).host.isNotEmpty()) server.link else apiEndPoint + URI(server.link).path),
+ getQualityFromName("1080"),
+ false
+ ))
+ }
}
}
}
From 0687079889ababc5a563f7861d338954a2bd2750 Mon Sep 17 00:00:00 2001
From: Arjix <53124886+ArjixWasTaken@users.noreply.github.com>
Date: Sat, 30 Oct 2021 23:24:44 +0300
Subject: [PATCH 3/4] Update AllAnimeProvider.kt
---
.../lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt
index a72c21a5..fdb316f5 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt
@@ -283,7 +283,7 @@ class AllAnimeProvider : MainAPI() {
// for now ignore
} else if (!embedIsBlacklisted(link)) {
if (URI(link).path.contains(".m3u")) {
- getM3u8Qualities(link, referer).forEach(callback)
+ getM3u8Qualities(link, data).forEach(callback)
} else {
callback(
ExtractorLink(
From ddccd31f0f39ef7072084f3457cac7cc3eba557e Mon Sep 17 00:00:00 2001
From: Arjix <53124886+ArjixWasTaken@users.noreply.github.com>
Date: Sat, 30 Oct 2021 23:35:03 +0300
Subject: [PATCH 4/4] Update AllAnimeProvider.kt
---
.../cloudstream3/animeproviders/AllAnimeProvider.kt | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt
index fdb316f5..9fb45c00 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/animeproviders/AllAnimeProvider.kt
@@ -247,12 +247,12 @@ class AllAnimeProvider : MainAPI() {
@JsonProperty("episodeIframeHead") val episodeIframeHead: String
)
- private fun getM3u8Qualities(m3u8Link: String, referer: String): ArrayList {
+ private fun getM3u8Qualities(m3u8Link: String, referer: String, qualityName: String): ArrayList {
return ArrayList(hlsHelper.m3u8Generation(M3u8Helper.M3u8Stream(m3u8Link, null), true).map { stream ->
val qualityString = if ((stream.quality ?: 0) == 0) "" else "${stream.quality}p"
ExtractorLink(
this.name,
- "${this.name} $qualityString",
+ "${this.name} - $qualityName $qualityString",
stream.streamUrl,
referer,
getQualityFromName(stream.quality.toString()),
@@ -283,7 +283,7 @@ class AllAnimeProvider : MainAPI() {
// for now ignore
} else if (!embedIsBlacklisted(link)) {
if (URI(link).path.contains(".m3u")) {
- getM3u8Qualities(link, data).forEach(callback)
+ getM3u8Qualities(link, data, URI(link).host).forEach(callback)
} else {
callback(
ExtractorLink(
@@ -305,7 +305,7 @@ class AllAnimeProvider : MainAPI() {
val links = mapper.readValue(response.text).links
links.forEach { server ->
if (server.hls != null && server.hls) {
- getM3u8Qualities(server.link, "$apiEndPoint/player?uri=" + (if (URI(server.link).host.isNotEmpty()) server.link else apiEndPoint + URI(server.link).path)).forEach(callback)
+ getM3u8Qualities(server.link, "$apiEndPoint/player?uri=" + (if (URI(server.link).host.isNotEmpty()) server.link else apiEndPoint + URI(server.link).path), server.resolutionStr).forEach(callback)
} else {
callback(ExtractorLink(
"AllAnime - " + URI(server.link).host,