This commit is contained in:
LagradOst 2022-03-21 12:07:36 +01:00
parent 2870ad435f
commit be25aea0a7
15 changed files with 53 additions and 32 deletions

View file

@ -518,6 +518,7 @@ enum class TvType {
OVA, OVA,
Torrent, Torrent,
Documentary, Documentary,
AsianDrama,
} }
// IN CASE OF FUTURE ANIME MOVIE OR SMTH // IN CASE OF FUTURE ANIME MOVIE OR SMTH

View file

@ -16,7 +16,7 @@ class AsiaFlixProvider : MainAPI() {
override val hasQuickSearch = false override val hasQuickSearch = false
override val hasMainPage = true override val hasMainPage = true
override val hasChromecastSupport = false override val hasChromecastSupport = false
override val supportedTypes = setOf(TvType.TvSeries) override val supportedTypes = setOf(TvType.AsianDrama)
private val apiUrl = "https://api.asiaflix.app/api/v2" private val apiUrl = "https://api.asiaflix.app/api/v2"
@ -76,7 +76,7 @@ class AsiaFlixProvider : MainAPI() {
name, name,
_id, _id,
this@AsiaFlixProvider.name, this@AsiaFlixProvider.name,
TvType.TvSeries, TvType.AsianDrama,
image, image,
releaseYear, releaseYear,
episodes?.size, episodes?.size,
@ -100,7 +100,7 @@ class AsiaFlixProvider : MainAPI() {
name, name,
"$mainUrl$dramaUrl/$_id".replace("drama-detail", "show-details"), "$mainUrl$dramaUrl/$_id".replace("drama-detail", "show-details"),
this@AsiaFlixProvider.name, this@AsiaFlixProvider.name,
TvType.TvSeries, TvType.AsianDrama,
episodes.mapNotNull { it.toTvSeriesEpisode() }.sortedBy { it.episode }, episodes.mapNotNull { it.toTvSeriesEpisode() }.sortedBy { it.episode },
image, image,
releaseYear, releaseYear,

View file

@ -20,5 +20,5 @@ class AsianLoadProvider : VidstreamProviderTemplate() {
override val iv = "9262859232435825".toByteArray() override val iv = "9262859232435825".toByteArray()
override val secretKey = "93422192433952489752342908585752".toByteArray() override val secretKey = "93422192433952489752342908585752".toByteArray()
override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) override val supportedTypes = setOf(TvType.AsianDrama)
} }

View file

@ -3,7 +3,7 @@ package com.lagradost.cloudstream3.movieproviders
import com.fasterxml.jackson.module.kotlin.readValue import com.fasterxml.jackson.module.kotlin.readValue
import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.*
import com.lagradost.cloudstream3.animeproviders.GogoanimeProvider.Companion.extractVidstream import com.lagradost.cloudstream3.animeproviders.GogoanimeProvider.Companion.extractVidstream
import com.lagradost.cloudstream3.extractors.* import com.lagradost.cloudstream3.extractors.XStreamCdn
import com.lagradost.cloudstream3.extractors.helper.AsianEmbedHelper import com.lagradost.cloudstream3.extractors.helper.AsianEmbedHelper
import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.AppUtils.toJson
import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.ExtractorLink
@ -16,7 +16,7 @@ class DramaSeeProvider : MainAPI() {
override val hasMainPage = true override val hasMainPage = true
override val hasChromecastSupport = false override val hasChromecastSupport = false
override val hasDownloadSupport = true override val hasDownloadSupport = true
override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) override val supportedTypes = setOf(TvType.AsianDrama)
override suspend fun getMainPage(): HomePageResponse { override suspend fun getMainPage(): HomePageResponse {
val headers = mapOf("X-Requested-By" to "dramasee.net") val headers = mapOf("X-Requested-By" to "dramasee.net")
@ -43,7 +43,7 @@ class DramaSeeProvider : MainAPI() {
name, name,
link, link,
this.name, this.name,
TvType.TvSeries, TvType.AsianDrama,
image, image,
year = null, year = null,
id = null, id = null,
@ -173,7 +173,7 @@ class DramaSeeProvider : MainAPI() {
name = title, name = title,
url = url, url = url,
apiName = this.name, apiName = this.name,
type = TvType.TvSeries, type = TvType.AsianDrama,
episodes = episodeList.reversed(), episodes = episodeList.reversed(),
posterUrl = poster, posterUrl = poster,
year = year, year = year,

View file

@ -1,9 +1,8 @@
package com.lagradost.cloudstream3.movieproviders package com.lagradost.cloudstream3.movieproviders
import android.util.Log
import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonProperty
import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.*
import com.lagradost.cloudstream3.extractors.* import com.lagradost.cloudstream3.extractors.XStreamCdn
import com.lagradost.cloudstream3.extractors.helper.AsianEmbedHelper import com.lagradost.cloudstream3.extractors.helper.AsianEmbedHelper
import com.lagradost.cloudstream3.mvvm.logError import com.lagradost.cloudstream3.mvvm.logError
import com.lagradost.cloudstream3.utils.AppUtils.parseJson import com.lagradost.cloudstream3.utils.AppUtils.parseJson
@ -20,7 +19,7 @@ class KdramaHoodProvider : MainAPI() {
override val hasMainPage = true override val hasMainPage = true
override val hasChromecastSupport = false override val hasChromecastSupport = false
override val hasDownloadSupport = true override val hasDownloadSupport = true
override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) override val supportedTypes = setOf(TvType.AsianDrama)
private data class ResponseDatas( private data class ResponseDatas(
@JsonProperty("label") val label: String, @JsonProperty("label") val label: String,
@ -202,7 +201,7 @@ class KdramaHoodProvider : MainAPI() {
name = title, name = title,
url = url, url = url,
apiName = this.name, apiName = this.name,
type = TvType.TvSeries, type = TvType.AsianDrama,
episodes = episodeList.reversed(), episodes = episodeList.reversed(),
posterUrl = poster, posterUrl = poster,
year = year, year = year,

View file

@ -1,6 +1,5 @@
package com.lagradost.cloudstream3.movieproviders package com.lagradost.cloudstream3.movieproviders
import android.util.Log
import com.fasterxml.jackson.module.kotlin.readValue import com.fasterxml.jackson.module.kotlin.readValue
import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.*
import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.AppUtils.toJson
@ -11,12 +10,11 @@ class PinoyHDXyzProvider : MainAPI() {
override var name = "Pinoy-HD" override var name = "Pinoy-HD"
override var mainUrl = "https://www.pinoy-hd.xyz" override var mainUrl = "https://www.pinoy-hd.xyz"
override val lang = "tl" override val lang = "tl"
override val supportedTypes = setOf(TvType.Movie, TvType.TvSeries) override val supportedTypes = setOf(TvType.AsianDrama)
override val hasDownloadSupport = true override val hasDownloadSupport = true
override val hasMainPage = true override val hasMainPage = true
override val hasQuickSearch = false override val hasQuickSearch = false
override suspend fun getMainPage(): HomePageResponse { override suspend fun getMainPage(): HomePageResponse {
val all = ArrayList<HomePageList>() val all = ArrayList<HomePageList>()
val document = app.get(mainUrl, referer = mainUrl).document val document = app.get(mainUrl, referer = mainUrl).document
@ -170,7 +168,7 @@ class PinoyHDXyzProvider : MainAPI() {
name = title, name = title,
url = url, url = url,
apiName = this.name, apiName = this.name,
type = TvType.TvSeries, type = TvType.AsianDrama,
episodes = episodeList, episodes = episodeList,
posterUrl = poster, posterUrl = poster,
year = year, year = year,

View file

@ -6,13 +6,12 @@ import com.lagradost.cloudstream3.extractors.FEmbed
import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.AppUtils.toJson
import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.ExtractorLink
import com.lagradost.cloudstream3.utils.loadExtractor import com.lagradost.cloudstream3.utils.loadExtractor
import java.lang.Exception
class PinoyMoviePediaProvider : MainAPI() { class PinoyMoviePediaProvider : MainAPI() {
override var name = "Pinoy Moviepedia" override var name = "Pinoy Moviepedia"
override var mainUrl = "https://pinoymoviepedia.ru" override var mainUrl = "https://pinoymoviepedia.ru"
override val lang = "tl" override val lang = "tl"
override val supportedTypes = setOf(TvType.Movie, TvType.TvSeries) override val supportedTypes = setOf(TvType.AsianDrama)
override val hasDownloadSupport = true override val hasDownloadSupport = true
override val hasMainPage = true override val hasMainPage = true
override val hasQuickSearch = false override val hasQuickSearch = false
@ -188,7 +187,7 @@ class PinoyMoviePediaProvider : MainAPI() {
name = title, name = title,
url = url, url = url,
apiName = this.name, apiName = this.name,
type = TvType.TvSeries, type = TvType.AsianDrama,
episodes = episodeList, episodes = episodeList,
posterUrl = poster, posterUrl = poster,
year = year, year = year,

View file

@ -10,13 +10,12 @@ import com.lagradost.cloudstream3.utils.AppUtils.toJson
import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.ExtractorLink
import com.lagradost.cloudstream3.utils.loadExtractor import com.lagradost.cloudstream3.utils.loadExtractor
import org.jsoup.select.Elements import org.jsoup.select.Elements
import java.lang.Exception
class PinoyMoviesEsProvider : MainAPI() { class PinoyMoviesEsProvider : MainAPI() {
override var name = "Pinoy Movies" override var name = "Pinoy Movies"
override var mainUrl = "https://pinoymovies.es" override var mainUrl = "https://pinoymovies.es"
override val lang = "tl" override val lang = "tl"
override val supportedTypes = setOf(TvType.Movie) override val supportedTypes = setOf(TvType.AsianDrama)
override val hasDownloadSupport = false override val hasDownloadSupport = false
override val hasMainPage = true override val hasMainPage = true
override val hasQuickSearch = false override val hasQuickSearch = false

View file

@ -16,7 +16,7 @@ class WatchAsianProvider : MainAPI() {
override val hasMainPage = true override val hasMainPage = true
override val hasChromecastSupport = false override val hasChromecastSupport = false
override val hasDownloadSupport = true override val hasDownloadSupport = true
override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) override val supportedTypes = setOf(TvType.AsianDrama)
override suspend fun getMainPage(): HomePageResponse { override suspend fun getMainPage(): HomePageResponse {
val headers = mapOf("X-Requested-By" to mainUrl) val headers = mapOf("X-Requested-By" to mainUrl)
@ -187,7 +187,7 @@ class WatchAsianProvider : MainAPI() {
name = title, name = title,
url = url, url = url,
apiName = this.name, apiName = this.name,
type = TvType.TvSeries, type = TvType.AsianDrama,
episodes = episodeList.reversed(), episodes = episodeList.reversed(),
posterUrl = poster, posterUrl = poster,
year = year, year = year,

View file

@ -144,14 +144,16 @@ class HomeFragment : Fragment() {
cartoons: MaterialButton?, cartoons: MaterialButton?,
tvs: MaterialButton?, tvs: MaterialButton?,
docs: MaterialButton?, docs: MaterialButton?,
movies: MaterialButton? movies: MaterialButton?,
asian: MaterialButton?,
): List<Pair<MaterialButton?, List<TvType>>> { ): List<Pair<MaterialButton?, List<TvType>>> {
return listOf( return listOf(
Pair(anime, listOf(TvType.Anime, TvType.OVA, TvType.AnimeMovie)), Pair(anime, listOf(TvType.Anime, TvType.OVA, TvType.AnimeMovie)),
Pair(cartoons, listOf(TvType.Cartoon)), Pair(cartoons, listOf(TvType.Cartoon)),
Pair(tvs, listOf(TvType.TvSeries)), Pair(tvs, listOf(TvType.TvSeries)),
Pair(docs, listOf(TvType.Documentary)), Pair(docs, listOf(TvType.Documentary)),
Pair(movies, listOf(TvType.Movie, TvType.Torrent)) Pair(movies, listOf(TvType.Movie, TvType.Torrent)),
Pair(asian, listOf(TvType.AsianDrama)),
) )
} }
@ -183,10 +185,11 @@ class HomeFragment : Fragment() {
val tvs = dialog.findViewById<MaterialButton>(R.id.home_select_tv_series) val tvs = dialog.findViewById<MaterialButton>(R.id.home_select_tv_series)
val docs = dialog.findViewById<MaterialButton>(R.id.home_select_documentaries) val docs = dialog.findViewById<MaterialButton>(R.id.home_select_documentaries)
val movies = dialog.findViewById<MaterialButton>(R.id.home_select_movies) val movies = dialog.findViewById<MaterialButton>(R.id.home_select_movies)
val asian = dialog.findViewById<MaterialButton>(R.id.home_select_asian)
val cancelBtt = dialog.findViewById<MaterialButton>(R.id.cancel_btt) val cancelBtt = dialog.findViewById<MaterialButton>(R.id.cancel_btt)
val applyBtt = dialog.findViewById<MaterialButton>(R.id.apply_btt) val applyBtt = dialog.findViewById<MaterialButton>(R.id.apply_btt)
val pairList = getPairList(anime, cartoons, tvs, docs, movies) val pairList = getPairList(anime, cartoons, tvs, docs, movies, asian)
cancelBtt?.setOnClickListener { cancelBtt?.setOnClickListener {
dialog.dismissSafe() dialog.dismissSafe()
@ -379,6 +382,7 @@ class HomeFragment : Fragment() {
Pair(R.string.cartoons, listOf(TvType.Cartoon)), Pair(R.string.cartoons, listOf(TvType.Cartoon)),
Pair(R.string.anime, listOf(TvType.Anime, TvType.OVA, TvType.AnimeMovie)), Pair(R.string.anime, listOf(TvType.Anime, TvType.OVA, TvType.AnimeMovie)),
Pair(R.string.torrent, listOf(TvType.Torrent)), Pair(R.string.torrent, listOf(TvType.Torrent)),
Pair(R.string.asian_drama, listOf(TvType.AsianDrama)),
).filter { item -> currentApi.supportedTypes.any { type -> item.second.contains(type) } } ).filter { item -> currentApi.supportedTypes.any { type -> item.second.contains(type) } }
home_provider_meta_info?.text = home_provider_meta_info?.text =
typeChoices.joinToString(separator = ", ") { getString(it.first) } typeChoices.joinToString(separator = ", ") { getString(it.first) }
@ -801,7 +805,7 @@ class HomeFragment : Fragment() {
if (ctx.isTvSettings()) { if (ctx.isTvSettings()) {
home_api_fab?.isVisible = false home_api_fab?.isVisible = false
home_change_api?.isVisible = true home_change_api?.isVisible = true
if(ctx.isTrueTvSettings()) { if (ctx.isTrueTvSettings()) {
home_change_api_loading?.isVisible = true home_change_api_loading?.isVisible = true
home_change_api_loading?.isFocusable = true home_change_api_loading?.isFocusable = true
home_change_api_loading?.isFocusableInTouchMode = true home_change_api_loading?.isFocusableInTouchMode = true

View file

@ -237,6 +237,7 @@ class ResultFragment : Fragment(), PanelsChildGestureRegionObserver.GestureRegio
TvType.Cartoon -> "Cartoons/$titleName" TvType.Cartoon -> "Cartoons/$titleName"
TvType.Torrent -> "Torrent" TvType.Torrent -> "Torrent"
TvType.Documentary -> "Documentaries" TvType.Documentary -> "Documentaries"
TvType.AsianDrama -> "AsianDrama"
} }
val src = "$DOWNLOAD_NAVIGATE_TO/$parentId" // url ?: return@let val src = "$DOWNLOAD_NAVIGATE_TO/$parentId" // url ?: return@let
@ -1615,6 +1616,7 @@ class ResultFragment : Fragment(), PanelsChildGestureRegionObserver.GestureRegio
TvType.Documentary -> R.string.documentaries_singular TvType.Documentary -> R.string.documentaries_singular
TvType.Movie -> R.string.movies_singular TvType.Movie -> R.string.movies_singular
TvType.Torrent -> R.string.torrent_singular TvType.Torrent -> R.string.torrent_singular
TvType.AsianDrama -> R.string.asian_drama_singular
} }
)?.let { )?.let {
result_meta_type?.text = it result_meta_type?.text = it

View file

@ -32,7 +32,6 @@ import com.lagradost.cloudstream3.ui.home.HomeFragment.Companion.currentSpan
import com.lagradost.cloudstream3.ui.home.HomeFragment.Companion.loadHomepageList import com.lagradost.cloudstream3.ui.home.HomeFragment.Companion.loadHomepageList
import com.lagradost.cloudstream3.ui.home.ParentItemAdapter import com.lagradost.cloudstream3.ui.home.ParentItemAdapter
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTrueTvSettings import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTrueTvSettings
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTvSettings
import com.lagradost.cloudstream3.utils.DataStore.getKey import com.lagradost.cloudstream3.utils.DataStore.getKey
import com.lagradost.cloudstream3.utils.DataStore.setKey import com.lagradost.cloudstream3.utils.DataStore.setKey
import com.lagradost.cloudstream3.utils.UIHelper.dismissSafe import com.lagradost.cloudstream3.utils.UIHelper.dismissSafe
@ -161,10 +160,11 @@ class SearchFragment : Fragment() {
val tvs = dialog.findViewById<MaterialButton>(R.id.home_select_tv_series) val tvs = dialog.findViewById<MaterialButton>(R.id.home_select_tv_series)
val docs = dialog.findViewById<MaterialButton>(R.id.home_select_documentaries) val docs = dialog.findViewById<MaterialButton>(R.id.home_select_documentaries)
val movies = dialog.findViewById<MaterialButton>(R.id.home_select_movies) val movies = dialog.findViewById<MaterialButton>(R.id.home_select_movies)
val asian = dialog.findViewById<MaterialButton>(R.id.home_select_asian)
val cancelBtt = dialog.findViewById<MaterialButton>(R.id.cancel_btt) val cancelBtt = dialog.findViewById<MaterialButton>(R.id.cancel_btt)
val applyBtt = dialog.findViewById<MaterialButton>(R.id.apply_btt) val applyBtt = dialog.findViewById<MaterialButton>(R.id.apply_btt)
val pairList = HomeFragment.getPairList(anime, cartoons, tvs, docs, movies) val pairList = HomeFragment.getPairList(anime, cartoons, tvs, docs, movies,asian)
cancelBtt?.setOnClickListener { cancelBtt?.setOnClickListener {
dialog.dismissSafe() dialog.dismissSafe()
@ -273,7 +273,8 @@ class SearchFragment : Fragment() {
search_select_cartoons, search_select_cartoons,
search_select_tv_series, search_select_tv_series,
search_select_documentaries, search_select_documentaries,
search_select_movies search_select_movies,
search_select_asian,
) )
selectedSearchTypes = context?.getKey<List<String>>(SEARCH_PREF_TAGS) selectedSearchTypes = context?.getKey<List<String>>(SEARCH_PREF_TAGS)

View file

@ -111,7 +111,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:nextFocusLeft="@id/search_select_tv_series" android:nextFocusLeft="@id/search_select_tv_series"
android:nextFocusRight="@id/search_select_cartoons" android:nextFocusRight="@id/search_select_asian"
android:id="@+id/search_select_anime" android:id="@+id/search_select_anime"
android:text="@string/anime" android:text="@string/anime"
@ -119,6 +119,14 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:nextFocusLeft="@id/search_select_anime" android:nextFocusLeft="@id/search_select_anime"
android:nextFocusRight="@id/search_select_cartoons"
android:id="@+id/search_select_asian"
android:text="@string/asian_drama"
style="@style/RoundedSelectableButton" />
<com.google.android.material.button.MaterialButton
android:nextFocusLeft="@id/search_select_asian"
android:nextFocusRight="@id/search_select_documentaries" android:nextFocusRight="@id/search_select_documentaries"
android:id="@+id/search_select_cartoons" android:id="@+id/search_select_cartoons"

View file

@ -67,7 +67,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:nextFocusLeft="@id/home_select_tv_series" android:nextFocusLeft="@id/home_select_tv_series"
android:nextFocusRight="@id/home_select_cartoons" android:nextFocusRight="@id/home_select_asian"
android:id="@+id/home_select_anime" android:id="@+id/home_select_anime"
android:text="@string/anime" android:text="@string/anime"
@ -75,6 +75,14 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:nextFocusLeft="@id/home_select_anime" android:nextFocusLeft="@id/home_select_anime"
android:nextFocusRight="@id/home_select_cartoons"
android:id="@+id/home_select_asian"
android:text="@string/asian_drama"
style="@style/RoundedSelectableButton" />
<com.google.android.material.button.MaterialButton
android:nextFocusLeft="@id/home_select_asian"
android:nextFocusRight="@id/home_select_documentaries" android:nextFocusRight="@id/home_select_documentaries"
android:id="@+id/home_select_cartoons" android:id="@+id/home_select_cartoons"

View file

@ -286,6 +286,7 @@
<string name="torrent">Torrents</string> <string name="torrent">Torrents</string>
<string name="documentaries">Documentaries</string> <string name="documentaries">Documentaries</string>
<string name="ova">OVA</string> <string name="ova">OVA</string>
<string name="asian_drama">Asian Dramas</string>
<!--singular--> <!--singular-->
<string name="movies_singular">Movie</string> <string name="movies_singular">Movie</string>
@ -295,6 +296,7 @@
<string name="ova_singular">@string/ova</string> <string name="ova_singular">@string/ova</string>
<string name="torrent_singular">Torrent</string> <string name="torrent_singular">Torrent</string>
<string name="documentaries_singular">Documentary</string> <string name="documentaries_singular">Documentary</string>
<string name="asian_drama_singular">Asian Drama</string>
<string name="source_error">Source error</string> <string name="source_error">Source error</string>
<string name="remote_error">Remote error</string> <string name="remote_error">Remote error</string>