diff --git a/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt b/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt index 502c836e..8aa9192f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt @@ -518,6 +518,7 @@ enum class TvType { OVA, Torrent, Documentary, + AsianDrama, } // IN CASE OF FUTURE ANIME MOVIE OR SMTH diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsiaFlixProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsiaFlixProvider.kt index 0e2badf9..6df8e253 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsiaFlixProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsiaFlixProvider.kt @@ -16,7 +16,7 @@ class AsiaFlixProvider : MainAPI() { override val hasQuickSearch = false override val hasMainPage = true 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" @@ -76,7 +76,7 @@ class AsiaFlixProvider : MainAPI() { name, _id, this@AsiaFlixProvider.name, - TvType.TvSeries, + TvType.AsianDrama, image, releaseYear, episodes?.size, @@ -100,7 +100,7 @@ class AsiaFlixProvider : MainAPI() { name, "$mainUrl$dramaUrl/$_id".replace("drama-detail", "show-details"), this@AsiaFlixProvider.name, - TvType.TvSeries, + TvType.AsianDrama, episodes.mapNotNull { it.toTvSeriesEpisode() }.sortedBy { it.episode }, image, releaseYear, diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsianLoadProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsianLoadProvider.kt index 3d8470d1..ef798be1 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsianLoadProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/AsianLoadProvider.kt @@ -20,5 +20,5 @@ class AsianLoadProvider : VidstreamProviderTemplate() { override val iv = "9262859232435825".toByteArray() override val secretKey = "93422192433952489752342908585752".toByteArray() - override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) + override val supportedTypes = setOf(TvType.AsianDrama) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DramaSeeProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DramaSeeProvider.kt index 16c178f2..73c2c1e0 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DramaSeeProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/DramaSeeProvider.kt @@ -3,7 +3,7 @@ package com.lagradost.cloudstream3.movieproviders import com.fasterxml.jackson.module.kotlin.readValue import com.lagradost.cloudstream3.* 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.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.ExtractorLink @@ -16,7 +16,7 @@ class DramaSeeProvider : MainAPI() { override val hasMainPage = true override val hasChromecastSupport = false override val hasDownloadSupport = true - override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) + override val supportedTypes = setOf(TvType.AsianDrama) override suspend fun getMainPage(): HomePageResponse { val headers = mapOf("X-Requested-By" to "dramasee.net") @@ -43,7 +43,7 @@ class DramaSeeProvider : MainAPI() { name, link, this.name, - TvType.TvSeries, + TvType.AsianDrama, image, year = null, id = null, @@ -173,7 +173,7 @@ class DramaSeeProvider : MainAPI() { name = title, url = url, apiName = this.name, - type = TvType.TvSeries, + type = TvType.AsianDrama, episodes = episodeList.reversed(), posterUrl = poster, year = year, diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/KdramaHoodProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/KdramaHoodProvider.kt index 8f77f472..eb4310ff 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/KdramaHoodProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/KdramaHoodProvider.kt @@ -1,9 +1,8 @@ package com.lagradost.cloudstream3.movieproviders -import android.util.Log import com.fasterxml.jackson.annotation.JsonProperty 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.mvvm.logError import com.lagradost.cloudstream3.utils.AppUtils.parseJson @@ -20,7 +19,7 @@ class KdramaHoodProvider : MainAPI() { override val hasMainPage = true override val hasChromecastSupport = false override val hasDownloadSupport = true - override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) + override val supportedTypes = setOf(TvType.AsianDrama) private data class ResponseDatas( @JsonProperty("label") val label: String, @@ -202,7 +201,7 @@ class KdramaHoodProvider : MainAPI() { name = title, url = url, apiName = this.name, - type = TvType.TvSeries, + type = TvType.AsianDrama, episodes = episodeList.reversed(), posterUrl = poster, year = year, diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyHDXyzProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyHDXyzProvider.kt index dcdc793b..67773d4b 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyHDXyzProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyHDXyzProvider.kt @@ -1,6 +1,5 @@ package com.lagradost.cloudstream3.movieproviders -import android.util.Log import com.fasterxml.jackson.module.kotlin.readValue import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.utils.AppUtils.toJson @@ -11,12 +10,11 @@ class PinoyHDXyzProvider : MainAPI() { override var name = "Pinoy-HD" override var mainUrl = "https://www.pinoy-hd.xyz" override val lang = "tl" - override val supportedTypes = setOf(TvType.Movie, TvType.TvSeries) + override val supportedTypes = setOf(TvType.AsianDrama) override val hasDownloadSupport = true override val hasMainPage = true override val hasQuickSearch = false - override suspend fun getMainPage(): HomePageResponse { val all = ArrayList() val document = app.get(mainUrl, referer = mainUrl).document @@ -170,7 +168,7 @@ class PinoyHDXyzProvider : MainAPI() { name = title, url = url, apiName = this.name, - type = TvType.TvSeries, + type = TvType.AsianDrama, episodes = episodeList, posterUrl = poster, year = year, diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviePediaProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviePediaProvider.kt index 4179eb3c..9495a28f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviePediaProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviePediaProvider.kt @@ -6,13 +6,12 @@ import com.lagradost.cloudstream3.extractors.FEmbed import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.loadExtractor -import java.lang.Exception class PinoyMoviePediaProvider : MainAPI() { override var name = "Pinoy Moviepedia" override var mainUrl = "https://pinoymoviepedia.ru" override val lang = "tl" - override val supportedTypes = setOf(TvType.Movie, TvType.TvSeries) + override val supportedTypes = setOf(TvType.AsianDrama) override val hasDownloadSupport = true override val hasMainPage = true override val hasQuickSearch = false @@ -188,7 +187,7 @@ class PinoyMoviePediaProvider : MainAPI() { name = title, url = url, apiName = this.name, - type = TvType.TvSeries, + type = TvType.AsianDrama, episodes = episodeList, posterUrl = poster, year = year, diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviesEsProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviesEsProvider.kt index 79090e51..874c5504 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviesEsProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/PinoyMoviesEsProvider.kt @@ -10,13 +10,12 @@ import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.loadExtractor import org.jsoup.select.Elements -import java.lang.Exception class PinoyMoviesEsProvider : MainAPI() { override var name = "Pinoy Movies" override var mainUrl = "https://pinoymovies.es" override val lang = "tl" - override val supportedTypes = setOf(TvType.Movie) + override val supportedTypes = setOf(TvType.AsianDrama) override val hasDownloadSupport = false override val hasMainPage = true override val hasQuickSearch = false diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/WatchAsianProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/WatchAsianProvider.kt index cdaafe97..2bb27f98 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/WatchAsianProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/WatchAsianProvider.kt @@ -16,7 +16,7 @@ class WatchAsianProvider : MainAPI() { override val hasMainPage = true override val hasChromecastSupport = false override val hasDownloadSupport = true - override val supportedTypes = setOf(TvType.TvSeries, TvType.Movie) + override val supportedTypes = setOf(TvType.AsianDrama) override suspend fun getMainPage(): HomePageResponse { val headers = mapOf("X-Requested-By" to mainUrl) @@ -187,7 +187,7 @@ class WatchAsianProvider : MainAPI() { name = title, url = url, apiName = this.name, - type = TvType.TvSeries, + type = TvType.AsianDrama, episodes = episodeList.reversed(), posterUrl = poster, year = year, diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt index c0bf5ed3..9149ba1b 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt @@ -144,14 +144,16 @@ class HomeFragment : Fragment() { cartoons: MaterialButton?, tvs: MaterialButton?, docs: MaterialButton?, - movies: MaterialButton? + movies: MaterialButton?, + asian: MaterialButton?, ): List>> { return listOf( Pair(anime, listOf(TvType.Anime, TvType.OVA, TvType.AnimeMovie)), Pair(cartoons, listOf(TvType.Cartoon)), Pair(tvs, listOf(TvType.TvSeries)), 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(R.id.home_select_tv_series) val docs = dialog.findViewById(R.id.home_select_documentaries) val movies = dialog.findViewById(R.id.home_select_movies) + val asian = dialog.findViewById(R.id.home_select_asian) val cancelBtt = dialog.findViewById(R.id.cancel_btt) val applyBtt = dialog.findViewById(R.id.apply_btt) - val pairList = getPairList(anime, cartoons, tvs, docs, movies) + val pairList = getPairList(anime, cartoons, tvs, docs, movies, asian) cancelBtt?.setOnClickListener { dialog.dismissSafe() @@ -379,6 +382,7 @@ class HomeFragment : Fragment() { Pair(R.string.cartoons, listOf(TvType.Cartoon)), Pair(R.string.anime, listOf(TvType.Anime, TvType.OVA, TvType.AnimeMovie)), 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) } } home_provider_meta_info?.text = typeChoices.joinToString(separator = ", ") { getString(it.first) } @@ -801,7 +805,7 @@ class HomeFragment : Fragment() { if (ctx.isTvSettings()) { home_api_fab?.isVisible = false home_change_api?.isVisible = true - if(ctx.isTrueTvSettings()) { + if (ctx.isTrueTvSettings()) { home_change_api_loading?.isVisible = true home_change_api_loading?.isFocusable = true home_change_api_loading?.isFocusableInTouchMode = 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 91134fd3..2242abed 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 @@ -237,6 +237,7 @@ class ResultFragment : Fragment(), PanelsChildGestureRegionObserver.GestureRegio TvType.Cartoon -> "Cartoons/$titleName" TvType.Torrent -> "Torrent" TvType.Documentary -> "Documentaries" + TvType.AsianDrama -> "AsianDrama" } 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.Movie -> R.string.movies_singular TvType.Torrent -> R.string.torrent_singular + TvType.AsianDrama -> R.string.asian_drama_singular } )?.let { result_meta_type?.text = it diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchFragment.kt index d0c80579..0b0eb782 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchFragment.kt @@ -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.ParentItemAdapter 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.setKey import com.lagradost.cloudstream3.utils.UIHelper.dismissSafe @@ -161,10 +160,11 @@ class SearchFragment : Fragment() { val tvs = dialog.findViewById(R.id.home_select_tv_series) val docs = dialog.findViewById(R.id.home_select_documentaries) val movies = dialog.findViewById(R.id.home_select_movies) + val asian = dialog.findViewById(R.id.home_select_asian) val cancelBtt = dialog.findViewById(R.id.cancel_btt) val applyBtt = dialog.findViewById(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 { dialog.dismissSafe() @@ -273,7 +273,8 @@ class SearchFragment : Fragment() { search_select_cartoons, search_select_tv_series, search_select_documentaries, - search_select_movies + search_select_movies, + search_select_asian, ) selectedSearchTypes = context?.getKey>(SEARCH_PREF_TAGS) diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index 5c7bf137..48b4e70a 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -111,7 +111,7 @@ + + + + Torrents Documentaries OVA + Asian Dramas Movie @@ -295,6 +296,7 @@ @string/ova Torrent Documentary + Asian Drama Source error Remote error