diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeChildItemAdapter.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeChildItemAdapter.kt index 43f6d19ff6a..66b7e7c4687 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeChildItemAdapter.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeChildItemAdapter.kt @@ -222,7 +222,8 @@ open class HomeChildItemAdapter( position, holder.itemView, nextFocusUp, - nextFocusDown + nextFocusDown, + isHorizontal = isHorizontal ) holder.itemView.tag = position diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/quicksearch/QuickSearchFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/quicksearch/QuickSearchFragment.kt index cf9bc9975c0..15ca20d5574 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/quicksearch/QuickSearchFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/quicksearch/QuickSearchFragment.kt @@ -15,6 +15,7 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView import com.google.android.material.bottomsheet.BottomSheetDialog +import com.lagradost.cloudstream3.APIHolder import com.lagradost.cloudstream3.APIHolder.getApiFromNameNull import com.lagradost.cloudstream3.CommonActivity.activity import com.lagradost.cloudstream3.HomePageList @@ -146,10 +147,13 @@ class QuickSearchFragment : BaseFragment( val firstProvider = providers?.firstOrNull() if (isSingleProvider && firstProvider != null) { + val isHorizontal = APIHolder.isApiHorizontal(firstProvider) binding.quickSearchAutofitResults.apply { + spanCount = context.getSpanCount(isHorizontal) setRecycledViewPool(SearchAdapter.sharedPool) adapter = SearchAdapter( this, + isHorizontal = isHorizontal, ) { callback -> SearchHelper.handleSearchClickCallback(callback) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt index 38b24b26517..ad5955cbcd8 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt @@ -71,6 +71,7 @@ import com.lagradost.cloudstream3.ui.result.ResultFragment.updateUIEvent import com.lagradost.cloudstream3.ui.search.SearchAdapter import com.lagradost.cloudstream3.ui.search.SearchHelper import com.lagradost.cloudstream3.ui.setRecycledViewPool +import com.lagradost.cloudstream3.utils.UIHelper.getSpanCount import com.lagradost.cloudstream3.ui.settings.SettingsGeneral.Companion.pickDownloadPath import com.lagradost.cloudstream3.ui.settings.utils.getChooseFolderLauncher import com.lagradost.cloudstream3.utils.AppContextUtils.getNameFull @@ -1450,12 +1451,25 @@ open class ResultFragmentPhone : BaseFragment( private fun setRecommendations(rec: List?, validApiName: String?) { val isInvalid = rec.isNullOrEmpty() val matchAgainst = validApiName ?: rec?.firstOrNull()?.apiName + val isHorizontal = viewModel.isRecommendationsHorizontal(rec) recommendationBinding?.apply { root.isGone = isInvalid + resultRecommendationsList.spanCount = root.context.getSpanCount(isHorizontal) + val currentAdapter = resultRecommendationsList.adapter as? SearchAdapter + val adapter = if (currentAdapter != null) { + currentAdapter.apply { this.isHorizontal = isHorizontal } + } else { + SearchAdapter( + resultRecommendationsList, + isHorizontal = isHorizontal, + ) { callback -> + SearchHelper.handleSearchClickCallback(callback) + }.also { resultRecommendationsList.adapter = it } + } root.post { rec?.let { list -> - (resultRecommendationsList.adapter as? SearchAdapter)?.submitList(list.filter { it.apiName == matchAgainst }) + adapter.submitList(list.filter { it.apiName == matchAgainst }) } } } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentTv.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentTv.kt index c316fae1715..850c0b1b456 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentTv.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentTv.kt @@ -152,11 +152,26 @@ class ResultFragmentTv : BaseFragment( private fun setRecommendations(rec: List?, validApiName: String?) { currentRecommendations = rec ?: emptyList() val isInvalid = rec.isNullOrEmpty() + val matchAgainst = validApiName ?: rec?.firstOrNull()?.apiName + val isHorizontal = viewModel.isRecommendationsHorizontal(rec) binding?.apply { resultRecommendationsList.isGone = isInvalid resultRecommendationsHolder.isGone = isInvalid - val matchAgainst = validApiName ?: rec?.firstOrNull()?.apiName - (resultRecommendationsList.adapter as? SearchAdapter)?.submitList(rec?.filter { it.apiName == matchAgainst } + resultRecommendationsList.spanCount = if (isHorizontal) 4 else 8 + val currentAdapter = resultRecommendationsList.adapter as? SearchAdapter + val adapter = if (currentAdapter != null) { + currentAdapter.apply { this.isHorizontal = isHorizontal } + } else { + SearchAdapter( + resultRecommendationsList, + isHorizontal = isHorizontal, + ) { callback -> + if (callback.action == SEARCH_ACTION_FOCUSED) { + toggleEpisodes(false) + } else SearchHelper.handleSearchClickCallback(callback) + }.also { resultRecommendationsList.adapter = it } + } + adapter.submitList(rec?.filter { it.apiName == matchAgainst } ?: emptyList()) rec?.map { it.apiName }?.distinct()?.let { apiNames -> diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt index c519e0de230..230db0f1ba4 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt @@ -43,6 +43,7 @@ import com.lagradost.cloudstream3.SearchResponse import com.lagradost.cloudstream3.SeasonData import com.lagradost.cloudstream3.ShowStatus import com.lagradost.cloudstream3.SimklSyncServices +import com.lagradost.cloudstream3.isHorizontalCard import com.lagradost.cloudstream3.SubtitleFile import com.lagradost.cloudstream3.TorrentLoadResponse import com.lagradost.cloudstream3.TrackerType @@ -193,6 +194,7 @@ data class ResultData( val nextAiringDate: UiText?, val nextAiringEpisode: UiText?, val plotHeaderText: UiText, + val isHorizontalRecommendations: Boolean = false, val posterHeaders: Map? = null, ) @@ -305,6 +307,7 @@ fun LoadResponse.toResultData(repo: APIRepository): ResultData { backgroundPosterUrl = backgroundPosterUrl, logoUrl = logoUrl, title = name, + isHorizontalRecommendations = this.isHorizontalRecommendations || APIHolder.getApiFromNameNull(this.apiName)?.hasHorizontalRecommendations == true || APIHolder.isApiHorizontal(this.apiName) || type == TvType.Live, typeText = txt( when (type) { TvType.TvSeries -> R.string.tv_series_singular @@ -492,6 +495,12 @@ class ResultViewModel2 : ViewModel() { MutableLiveData(null) val page: LiveData?> = _page + /** Whether the currently loaded content's recommendations should render as horizontal cards. */ + fun isRecommendationsHorizontal(rec: List?): Boolean { + return (page.value as? Resource.Success)?.value?.isHorizontalRecommendations == true || + rec?.any { it.isHorizontalCard() } == true + } + private val _episodes: MutableLiveData>?> = MutableLiveData(Resource.Loading()) val episodes: LiveData>?> = _episodes @@ -2559,6 +2568,7 @@ class ResultViewModel2 : ViewModel() { override var duration: Int? = null, override var trailers: MutableList = mutableListOf(), override var recommendations: List? = null, + override var isHorizontalRecommendations: Boolean = false, override var actors: List? = null, override var comingSoon: Boolean = false, override var syncData: MutableMap = mutableMapOf(), diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchAdaptor.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchAdaptor.kt index 7b63b6edec6..c7a6418f411 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchAdaptor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchAdaptor.kt @@ -3,8 +3,8 @@ package com.lagradost.cloudstream3.ui.search import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.FrameLayout import com.lagradost.cloudstream3.SearchResponse +import com.lagradost.cloudstream3.isHorizontalCard import com.lagradost.cloudstream3.databinding.SearchResultGridBinding import com.lagradost.cloudstream3.databinding.SearchResultGridExpandedBinding import com.lagradost.cloudstream3.ui.AutofitRecyclerView @@ -32,7 +32,7 @@ class SearchClickCallback( class SearchAdapter( private val resView: AutofitRecyclerView, - private val isHorizontal:Boolean = false, + var isHorizontal: Boolean = false, private val clickCallback: (SearchClickCallback) -> Unit, ) : NoStateAdapter(diffCallback = BaseDiffCallback(itemSame = { a, b -> if (a.id != null || b.id != null) { @@ -48,10 +48,6 @@ class SearchAdapter( var hasNext: Boolean = false - private val coverRatio = if(isHorizontal) 1.8 else 0.68 - - private val coverHeight: Int get() = (resView.itemWidth / coverRatio).roundToInt() - override fun onCreateContent(parent: ViewGroup): ViewHolderState { val inflater = LayoutInflater.from(parent.context) @@ -79,21 +75,23 @@ class SearchAdapter( } override fun onBindContent(holder: ViewHolderState, item: SearchResponse, position: Int) { - val imageView = when (val binding = holder.view) { - is SearchResultGridExpandedBinding -> binding.imageView - is SearchResultGridBinding -> binding.imageView + val isCardHorizontal = item.isHorizontalCard(isHorizontal) + + val currentRatio = if (isCardHorizontal) 1.8 else 0.68 + val currentCoverHeight = (resView.itemWidth / currentRatio).roundToInt() + + val backgroundCard = when (val binding = holder.view) { + is SearchResultGridExpandedBinding -> binding.backgroundCard + is SearchResultGridBinding -> binding.backgroundCard else -> null } - - if (imageView != null) { - val params = FrameLayout.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, - coverHeight - ) - if (imageView.layoutParams.width != params.width || imageView.layoutParams.height != params.height) { - imageView.layoutParams = params + backgroundCard?.let { + val cardParams = it.layoutParams + if (cardParams.height != currentCoverHeight) { + cardParams.height = currentCoverHeight + it.layoutParams = cardParams } } - SearchResultBuilder.bind(clickCallback, item, position, holder.view.root) + SearchResultBuilder.bind(clickCallback, item, position, holder.view.root, isHorizontal = isCardHorizontal) } } \ No newline at end of file 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 5f5b064b543..f7e8bb9cbd5 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 @@ -27,6 +27,7 @@ import androidx.core.view.doOnLayout import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.button.MaterialButton +import com.lagradost.cloudstream3.APIHolder import com.lagradost.cloudstream3.APIHolder.getApiFromNameNull import com.lagradost.cloudstream3.AllLanguagesName import com.lagradost.cloudstream3.AnimeSearchResponse @@ -40,6 +41,7 @@ import com.lagradost.cloudstream3.MainActivity.Companion.afterPluginsLoadedEvent import com.lagradost.cloudstream3.R import com.lagradost.cloudstream3.SearchResponse import com.lagradost.cloudstream3.TvType +import com.lagradost.cloudstream3.isHorizontalCard import com.lagradost.cloudstream3.databinding.FragmentSearchBinding import com.lagradost.cloudstream3.databinding.HomeSelectMainpageBinding import com.lagradost.cloudstream3.mvvm.Resource @@ -48,6 +50,7 @@ import com.lagradost.cloudstream3.mvvm.observe import com.lagradost.cloudstream3.ui.APIRepository import com.lagradost.cloudstream3.ui.BaseAdapter import com.lagradost.cloudstream3.ui.BaseFragment +import com.lagradost.cloudstream3.ui.home.HomeChildItemAdapter import com.lagradost.cloudstream3.ui.home.HomeFragment import com.lagradost.cloudstream3.ui.home.HomeFragment.Companion.bindChips import com.lagradost.cloudstream3.ui.home.HomeFragment.Companion.currentSpan @@ -234,6 +237,7 @@ class SearchFragment : BaseFragment( binding: FragmentSearchBinding, savedInstanceState: Bundle? ) { + context?.let { HomeChildItemAdapter.updatePosterSize(it) } reloadRepos() binding.apply { val adapter = @@ -469,9 +473,12 @@ class SearchFragment : BaseFragment( it.value.let { data -> val list = data.list if (list.isNotEmpty()) { - (binding.searchAutofitResults.adapter as? SearchAdapter)?.submitList( - list - ) + val isHorizontal = list.any { it.isHorizontalCard() } + binding.searchAutofitResults.spanCount = view?.context?.getSpanCount(isHorizontal) ?: currentSpan + (binding.searchAutofitResults.adapter as? SearchAdapter)?.apply { + this.isHorizontal = isHorizontal + submitList(list) + } } } searchExitIcon?.alpha = 1f @@ -512,7 +519,8 @@ class SearchFragment : BaseFragment( val homePageList = HomePageList( providerName, - dataListFiltered + dataListFiltered, + isHorizontalImages = false ) HomeViewModel.ExpandableHomepageList( diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchResultBuilder.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchResultBuilder.kt index fd99b8d4b06..f9e9820090b 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchResultBuilder.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchResultBuilder.kt @@ -17,6 +17,7 @@ import com.lagradost.cloudstream3.LiveSearchResponse import com.lagradost.cloudstream3.R import com.lagradost.cloudstream3.SearchQuality import com.lagradost.cloudstream3.SearchResponse +import com.lagradost.cloudstream3.isHorizontalCard import com.lagradost.cloudstream3.isMovieType import com.lagradost.cloudstream3.syncproviders.SyncAPI import com.lagradost.cloudstream3.ui.settings.Globals.TV @@ -50,6 +51,7 @@ object SearchResultBuilder { itemView: View, nextFocusUp: Int? = null, nextFocusDown: Int? = null, + isHorizontal: Boolean = false, colorCallback: ((Palette) -> Unit)? = null ) { val cardView: ImageView = itemView.findViewById(R.id.imageView) @@ -132,8 +134,9 @@ object SearchResultBuilder { cardText?.text = card.name cardText?.isVisible = showTitle cardView.isVisible = true - if (!card.posterUrl.isNullOrEmpty()) { - cardView.loadImage(card.posterUrl, card.posterHeaders) { + val poster = if (card.isHorizontalCard(isHorizontal)) card.backgroundPosterUrl ?: card.posterUrl else card.posterUrl + if (!poster.isNullOrEmpty()) { + cardView.loadImage(poster, card.posterHeaders) { error { getImageFromDrawable(itemView.context, R.drawable.default_cover) } } } else cardView.loadImage(R.drawable.default_cover) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SyncSearchViewModel.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SyncSearchViewModel.kt index 938b870bb89..09e9eaa115b 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SyncSearchViewModel.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SyncSearchViewModel.kt @@ -17,5 +17,6 @@ class SyncSearchViewModel { override var quality: SearchQuality? = null, override var posterHeaders: Map? = null, override var score: Score? = null, + override var backgroundPosterUrl: String? = null, ) : SearchResponse } \ No newline at end of file diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/DataStoreHelper.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/DataStoreHelper.kt index 340266f6c52..7150b41cbaf 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/DataStoreHelper.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/DataStoreHelper.kt @@ -288,6 +288,7 @@ object DataStoreHelper { @Transient override var score: Score? = null, @Transient open val tags: List? = null, ) : SearchResponse { + @Transient override var backgroundPosterUrl: String? = null @JsonProperty("rating", access = JsonProperty.Access.WRITE_ONLY) @SerialName("rating") @Deprecated( @@ -506,6 +507,7 @@ object DataStoreHelper { @JsonProperty("quality") @SerialName("quality") override var quality: SearchQuality? = null, @JsonProperty("posterHeaders") @SerialName("posterHeaders") override var posterHeaders: Map? = null, @JsonProperty("score") @SerialName("score") override var score: Score? = null, + @JsonProperty("backgroundPosterUrl") @SerialName("backgroundPosterUrl") override var backgroundPosterUrl: String? = null, ) : SearchResponse /** diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/UIHelper.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/UIHelper.kt index a848bee260e..b87353b649a 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/UIHelper.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/UIHelper.kt @@ -209,7 +209,7 @@ object UIHelper { fun Context.getSpanCount(isHorizontal:Boolean=false): Int { // val compactView = false - val spanCountLandscape = if (isHorizontal) 3 else 6 + val spanCountLandscape = if (isHorizontal) 5 else 6 val spanCountPortrait = if (isHorizontal) 2 else 3 val orientation = resources.configuration.orientation diff --git a/library/api/jvm/library.api b/library/api/jvm/library.api index 195cd49fe55..1d3bbaba32d 100644 --- a/library/api/jvm/library.api +++ b/library/api/jvm/library.api @@ -33,6 +33,7 @@ public final class com/lagradost/cloudstream3/APIHolder { public final fun getUnixTime ()J public final fun getUnixTimeMS ()J public final fun initAll ()V + public final fun isApiHorizontal (Ljava/lang/String;)Z public final fun removePluginMapping (Lcom/lagradost/cloudstream3/MainAPI;)V public final fun setApiMap (Ljava/util/Map;)V public final fun setApis (Lcom/lagradost/cloudstream3/utils/AtomicList;)V @@ -285,8 +286,8 @@ public final class com/lagradost/cloudstream3/AniSearch$Data$Page$Media$Title$Co } public final class com/lagradost/cloudstream3/AnimeLoadResponse : com/lagradost/cloudstream3/EpisodeResponse, com/lagradost/cloudstream3/LoadResponse { - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Map;Lcom/lagradost/cloudstream3/ShowStatus;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lcom/lagradost/cloudstream3/Score;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Map;Lcom/lagradost/cloudstream3/ShowStatus;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lcom/lagradost/cloudstream3/Score;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Map;Lcom/lagradost/cloudstream3/ShowStatus;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lcom/lagradost/cloudstream3/Score;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Map;Lcom/lagradost/cloudstream3/ShowStatus;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lcom/lagradost/cloudstream3/Score;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Lcom/lagradost/cloudstream3/ShowStatus; public final fun component11 ()Ljava/lang/String; @@ -296,17 +297,18 @@ public final class com/lagradost/cloudstream3/AnimeLoadResponse : com/lagradost/ public final fun component15 ()Ljava/lang/Integer; public final fun component16 ()Ljava/util/List; public final fun component17 ()Ljava/util/List; - public final fun component18 ()Ljava/util/List; - public final fun component19 ()Z + public final fun component18 ()Z + public final fun component19 ()Ljava/util/List; public final fun component2 ()Ljava/lang/String; - public final fun component20 ()Ljava/util/Map; + public final fun component20 ()Z public final fun component21 ()Ljava/util/Map; - public final fun component22 ()Lcom/lagradost/cloudstream3/NextAiring; - public final fun component23 ()Ljava/util/List; - public final fun component24 ()Ljava/lang/String; + public final fun component22 ()Ljava/util/Map; + public final fun component23 ()Lcom/lagradost/cloudstream3/NextAiring; + public final fun component24 ()Ljava/util/List; public final fun component25 ()Ljava/lang/String; public final fun component26 ()Ljava/lang/String; public final fun component27 ()Ljava/lang/String; + public final fun component28 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Ljava/lang/String; public final fun component5 ()Ljava/lang/String; @@ -314,8 +316,8 @@ public final class com/lagradost/cloudstream3/AnimeLoadResponse : com/lagradost/ public final fun component7 ()Ljava/lang/String; public final fun component8 ()Ljava/lang/Integer; public final fun component9 ()Ljava/util/Map; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Map;Lcom/lagradost/cloudstream3/ShowStatus;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lcom/lagradost/cloudstream3/Score;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/AnimeLoadResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/AnimeLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Map;Lcom/lagradost/cloudstream3/ShowStatus;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lcom/lagradost/cloudstream3/Score;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/AnimeLoadResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Map;Lcom/lagradost/cloudstream3/ShowStatus;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lcom/lagradost/cloudstream3/Score;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/AnimeLoadResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/AnimeLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Map;Lcom/lagradost/cloudstream3/ShowStatus;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lcom/lagradost/cloudstream3/Score;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/AnimeLoadResponse; public fun equals (Ljava/lang/Object;)Z public fun getActors ()Ljava/util/List; public fun getApiName ()Ljava/lang/String; @@ -348,6 +350,7 @@ public final class com/lagradost/cloudstream3/AnimeLoadResponse : com/lagradost/ public fun getUrl ()Ljava/lang/String; public fun getYear ()Ljava/lang/Integer; public fun hashCode ()I + public fun isHorizontalRecommendations ()Z public fun setActors (Ljava/util/List;)V public fun setApiName (Ljava/lang/String;)V public fun setBackgroundPosterUrl (Ljava/lang/String;)V @@ -356,6 +359,7 @@ public final class com/lagradost/cloudstream3/AnimeLoadResponse : com/lagradost/ public fun setDuration (Ljava/lang/Integer;)V public final fun setEngName (Ljava/lang/String;)V public final fun setEpisodes (Ljava/util/Map;)V + public fun setHorizontalRecommendations (Z)V public final fun setJapName (Ljava/lang/String;)V public fun setLogoUrl (Ljava/lang/String;)V public fun setName (Ljava/lang/String;)V @@ -380,13 +384,14 @@ public final class com/lagradost/cloudstream3/AnimeLoadResponse : com/lagradost/ } public final class com/lagradost/cloudstream3/AnimeSearchResponse : com/lagradost/cloudstream3/SearchResponse { - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Ljava/lang/Integer; public final fun component11 ()Lcom/lagradost/cloudstream3/SearchQuality; public final fun component12 ()Ljava/util/Map; public final fun component13 ()Lcom/lagradost/cloudstream3/Score; + public final fun component14 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Lcom/lagradost/cloudstream3/TvType; @@ -395,10 +400,11 @@ public final class com/lagradost/cloudstream3/AnimeSearchResponse : com/lagrados public final fun component7 ()Ljava/util/Set; public final fun component8 ()Ljava/lang/String; public final fun component9 ()Ljava/util/Map; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;)Lcom/lagradost/cloudstream3/AnimeSearchResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/AnimeSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/AnimeSearchResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)Lcom/lagradost/cloudstream3/AnimeSearchResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/AnimeSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/util/Set;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/AnimeSearchResponse; public fun equals (Ljava/lang/Object;)Z public fun getApiName ()Ljava/lang/String; + public fun getBackgroundPosterUrl ()Ljava/lang/String; public final fun getDubStatus ()Ljava/util/Set; public final fun getEpisodes ()Ljava/util/Map; public fun getId ()Ljava/lang/Integer; @@ -412,6 +418,7 @@ public final class com/lagradost/cloudstream3/AnimeSearchResponse : com/lagrados public fun getUrl ()Ljava/lang/String; public final fun getYear ()Ljava/lang/Integer; public fun hashCode ()I + public fun setBackgroundPosterUrl (Ljava/lang/String;)V public final fun setDubStatus (Ljava/util/Set;)V public final fun setEpisodes (Ljava/util/Map;)V public fun setId (Ljava/lang/Integer;)V @@ -578,10 +585,11 @@ public abstract interface annotation class com/lagradost/cloudstream3/InternalAP public final class com/lagradost/cloudstream3/LiveSearchResponse : com/lagradost/cloudstream3/SearchResponse { public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;)V public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Lcom/lagradost/cloudstream3/Score; + public final fun component11 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Lcom/lagradost/cloudstream3/TvType; @@ -590,10 +598,11 @@ public final class com/lagradost/cloudstream3/LiveSearchResponse : com/lagradost public final fun component7 ()Lcom/lagradost/cloudstream3/SearchQuality; public final fun component8 ()Ljava/util/Map; public final fun component9 ()Ljava/lang/String; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;)Lcom/lagradost/cloudstream3/LiveSearchResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/LiveSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/LiveSearchResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)Lcom/lagradost/cloudstream3/LiveSearchResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/LiveSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/LiveSearchResponse; public fun equals (Ljava/lang/Object;)Z public fun getApiName ()Ljava/lang/String; + public fun getBackgroundPosterUrl ()Ljava/lang/String; public fun getId ()Ljava/lang/Integer; public final fun getLang ()Ljava/lang/String; public fun getName ()Ljava/lang/String; @@ -604,6 +613,7 @@ public final class com/lagradost/cloudstream3/LiveSearchResponse : com/lagradost public fun getType ()Lcom/lagradost/cloudstream3/TvType; public fun getUrl ()Ljava/lang/String; public fun hashCode ()I + public fun setBackgroundPosterUrl (Ljava/lang/String;)V public fun setId (Ljava/lang/Integer;)V public final fun setLang (Ljava/lang/String;)V public fun setPosterHeaders (Ljava/util/Map;)V @@ -615,22 +625,23 @@ public final class com/lagradost/cloudstream3/LiveSearchResponse : com/lagradost } public final class com/lagradost/cloudstream3/LiveStreamLoadResponse : com/lagradost/cloudstream3/LoadResponse { - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Ljava/util/List; public final fun component11 ()Ljava/lang/Integer; public final fun component12 ()Ljava/util/List; public final fun component13 ()Ljava/util/List; - public final fun component14 ()Ljava/util/List; - public final fun component15 ()Z - public final fun component16 ()Ljava/util/Map; + public final fun component14 ()Z + public final fun component15 ()Ljava/util/List; + public final fun component16 ()Z public final fun component17 ()Ljava/util/Map; - public final fun component18 ()Ljava/lang/String; + public final fun component18 ()Ljava/util/Map; public final fun component19 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component20 ()Ljava/lang/String; public final fun component21 ()Ljava/lang/String; + public final fun component22 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Ljava/lang/String; public final fun component5 ()Ljava/lang/String; @@ -638,8 +649,8 @@ public final class com/lagradost/cloudstream3/LiveStreamLoadResponse : com/lagra public final fun component7 ()Ljava/lang/String; public final fun component8 ()Lcom/lagradost/cloudstream3/TvType; public final fun component9 ()Lcom/lagradost/cloudstream3/Score; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/LiveStreamLoadResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/LiveStreamLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/LiveStreamLoadResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/LiveStreamLoadResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/LiveStreamLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/LiveStreamLoadResponse; public fun equals (Ljava/lang/Object;)Z public fun getActors ()Ljava/util/List; public fun getApiName ()Ljava/lang/String; @@ -664,6 +675,7 @@ public final class com/lagradost/cloudstream3/LiveStreamLoadResponse : com/lagra public fun getUrl ()Ljava/lang/String; public fun getYear ()Ljava/lang/Integer; public fun hashCode ()I + public fun isHorizontalRecommendations ()Z public fun setActors (Ljava/util/List;)V public fun setApiName (Ljava/lang/String;)V public fun setBackgroundPosterUrl (Ljava/lang/String;)V @@ -671,6 +683,7 @@ public final class com/lagradost/cloudstream3/LiveStreamLoadResponse : com/lagra public fun setContentRating (Ljava/lang/String;)V public final fun setDataUrl (Ljava/lang/String;)V public fun setDuration (Ljava/lang/Integer;)V + public fun setHorizontalRecommendations (Z)V public fun setLogoUrl (Ljava/lang/String;)V public fun setName (Ljava/lang/String;)V public fun setPlot (Ljava/lang/String;)V @@ -712,12 +725,14 @@ public abstract interface class com/lagradost/cloudstream3/LoadResponse { public abstract fun getUniqueUrl ()Ljava/lang/String; public abstract fun getUrl ()Ljava/lang/String; public abstract fun getYear ()Ljava/lang/Integer; + public fun isHorizontalRecommendations ()Z public abstract fun setActors (Ljava/util/List;)V public abstract fun setApiName (Ljava/lang/String;)V public abstract fun setBackgroundPosterUrl (Ljava/lang/String;)V public abstract fun setComingSoon (Z)V public abstract fun setContentRating (Ljava/lang/String;)V public abstract fun setDuration (Ljava/lang/Integer;)V + public fun setHorizontalRecommendations (Z)V public abstract fun setLogoUrl (Ljava/lang/String;)V public abstract fun setName (Ljava/lang/String;)V public abstract fun setPlot (Ljava/lang/String;)V @@ -783,6 +798,8 @@ public final class com/lagradost/cloudstream3/LoadResponse$Companion { public final class com/lagradost/cloudstream3/LoadResponse$DefaultImpls { public static fun getRating (Lcom/lagradost/cloudstream3/LoadResponse;)Ljava/lang/Integer; + public static fun isHorizontalRecommendations (Lcom/lagradost/cloudstream3/LoadResponse;)Z + public static fun setHorizontalRecommendations (Lcom/lagradost/cloudstream3/LoadResponse;Z)V public static fun setRating (Lcom/lagradost/cloudstream3/LoadResponse;Ljava/lang/Integer;)V } @@ -853,6 +870,7 @@ public final class com/lagradost/cloudstream3/MainAPIKt { public static final field PROVIDER_STATUS_OK I public static final field PROVIDER_STATUS_SLOW I public static final field USER_AGENT Ljava/lang/String; + public static final fun addBackgroundPoster (Lcom/lagradost/cloudstream3/SearchResponse;Ljava/lang/String;)V public static final fun addDate (Lcom/lagradost/cloudstream3/Episode;Ljava/lang/String;Ljava/lang/String;)V public static final fun addDate (Lcom/lagradost/cloudstream3/Episode;Ljava/util/Date;)V public static final fun addDate (Lcom/lagradost/cloudstream3/Episode;Lkotlin/time/Instant;)V @@ -869,9 +887,9 @@ public final class com/lagradost/cloudstream3/MainAPIKt { public static synthetic fun addDubStatus$default (Lcom/lagradost/cloudstream3/AnimeSearchResponse;ZZLjava/lang/Integer;Ljava/lang/Integer;ILjava/lang/Object;)V public static final fun addEpisodes (Lcom/lagradost/cloudstream3/AnimeLoadResponse;Lcom/lagradost/cloudstream3/DubStatus;Ljava/util/List;)V public static final fun addPoster (Lcom/lagradost/cloudstream3/LoadResponse;Ljava/lang/String;Ljava/util/Map;)V - public static final fun addPoster (Lcom/lagradost/cloudstream3/SearchResponse;Ljava/lang/String;Ljava/util/Map;)V + public static final fun addPoster (Lcom/lagradost/cloudstream3/SearchResponse;Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)V public static synthetic fun addPoster$default (Lcom/lagradost/cloudstream3/LoadResponse;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V - public static synthetic fun addPoster$default (Lcom/lagradost/cloudstream3/SearchResponse;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V + public static synthetic fun addPoster$default (Lcom/lagradost/cloudstream3/SearchResponse;Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;ILjava/lang/Object;)V public static final fun addQuality (Lcom/lagradost/cloudstream3/SearchResponse;Ljava/lang/String;)V public static final fun addSeasonNamesSeasonData (Lcom/lagradost/cloudstream3/EpisodeResponse;Ljava/util/List;)V public static final fun addSeasonNamesString (Lcom/lagradost/cloudstream3/EpisodeResponse;Ljava/util/List;)V @@ -991,22 +1009,23 @@ public final class com/lagradost/cloudstream3/MainPageRequest { } public final class com/lagradost/cloudstream3/MovieLoadResponse : com/lagradost/cloudstream3/LoadResponse { - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Ljava/util/List; public final fun component11 ()Ljava/lang/Integer; public final fun component12 ()Ljava/util/List; public final fun component13 ()Ljava/util/List; - public final fun component14 ()Ljava/util/List; - public final fun component15 ()Z - public final fun component16 ()Ljava/util/Map; + public final fun component14 ()Z + public final fun component15 ()Ljava/util/List; + public final fun component16 ()Z public final fun component17 ()Ljava/util/Map; - public final fun component18 ()Ljava/lang/String; + public final fun component18 ()Ljava/util/Map; public final fun component19 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component20 ()Ljava/lang/String; public final fun component21 ()Ljava/lang/String; + public final fun component22 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Lcom/lagradost/cloudstream3/TvType; public final fun component5 ()Ljava/lang/String; @@ -1014,8 +1033,8 @@ public final class com/lagradost/cloudstream3/MovieLoadResponse : com/lagradost/ public final fun component7 ()Ljava/lang/Integer; public final fun component8 ()Ljava/lang/String; public final fun component9 ()Lcom/lagradost/cloudstream3/Score; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/MovieLoadResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/MovieLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/MovieLoadResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/MovieLoadResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/MovieLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/MovieLoadResponse; public fun equals (Ljava/lang/Object;)Z public fun getActors ()Ljava/util/List; public fun getApiName ()Ljava/lang/String; @@ -1040,6 +1059,7 @@ public final class com/lagradost/cloudstream3/MovieLoadResponse : com/lagradost/ public fun getUrl ()Ljava/lang/String; public fun getYear ()Ljava/lang/Integer; public fun hashCode ()I + public fun isHorizontalRecommendations ()Z public fun setActors (Ljava/util/List;)V public fun setApiName (Ljava/lang/String;)V public fun setBackgroundPosterUrl (Ljava/lang/String;)V @@ -1047,6 +1067,7 @@ public final class com/lagradost/cloudstream3/MovieLoadResponse : com/lagradost/ public fun setContentRating (Ljava/lang/String;)V public final fun setDataUrl (Ljava/lang/String;)V public fun setDuration (Ljava/lang/Integer;)V + public fun setHorizontalRecommendations (Z)V public fun setLogoUrl (Ljava/lang/String;)V public fun setName (Ljava/lang/String;)V public fun setPlot (Ljava/lang/String;)V @@ -1068,10 +1089,11 @@ public final class com/lagradost/cloudstream3/MovieLoadResponse : com/lagradost/ public final class com/lagradost/cloudstream3/MovieSearchResponse : com/lagradost/cloudstream3/SearchResponse { public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;)V public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Lcom/lagradost/cloudstream3/Score; + public final fun component11 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Lcom/lagradost/cloudstream3/TvType; @@ -1080,10 +1102,11 @@ public final class com/lagradost/cloudstream3/MovieSearchResponse : com/lagrados public final fun component7 ()Ljava/lang/Integer; public final fun component8 ()Lcom/lagradost/cloudstream3/SearchQuality; public final fun component9 ()Ljava/util/Map; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;)Lcom/lagradost/cloudstream3/MovieSearchResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/MovieSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/MovieSearchResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)Lcom/lagradost/cloudstream3/MovieSearchResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/MovieSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/MovieSearchResponse; public fun equals (Ljava/lang/Object;)Z public fun getApiName ()Ljava/lang/String; + public fun getBackgroundPosterUrl ()Ljava/lang/String; public fun getId ()Ljava/lang/Integer; public fun getName ()Ljava/lang/String; public fun getPosterHeaders ()Ljava/util/Map; @@ -1094,6 +1117,7 @@ public final class com/lagradost/cloudstream3/MovieSearchResponse : com/lagrados public fun getUrl ()Ljava/lang/String; public final fun getYear ()Ljava/lang/Integer; public fun hashCode ()I + public fun setBackgroundPosterUrl (Ljava/lang/String;)V public fun setId (Ljava/lang/Integer;)V public fun setPosterHeaders (Ljava/util/Map;)V public fun setPosterUrl (Ljava/lang/String;)V @@ -1260,6 +1284,7 @@ public final class com/lagradost/cloudstream3/SearchQuality : java/lang/Enum { public abstract interface class com/lagradost/cloudstream3/SearchResponse { public abstract fun getApiName ()Ljava/lang/String; + public fun getBackgroundPosterUrl ()Ljava/lang/String; public abstract fun getId ()Ljava/lang/Integer; public abstract fun getName ()Ljava/lang/String; public abstract fun getPosterHeaders ()Ljava/util/Map; @@ -1268,6 +1293,7 @@ public abstract interface class com/lagradost/cloudstream3/SearchResponse { public abstract fun getScore ()Lcom/lagradost/cloudstream3/Score; public abstract fun getType ()Lcom/lagradost/cloudstream3/TvType; public abstract fun getUrl ()Ljava/lang/String; + public fun setBackgroundPosterUrl (Ljava/lang/String;)V public abstract fun setId (Ljava/lang/Integer;)V public abstract fun setPosterHeaders (Ljava/util/Map;)V public abstract fun setPosterUrl (Ljava/lang/String;)V @@ -1276,6 +1302,11 @@ public abstract interface class com/lagradost/cloudstream3/SearchResponse { public abstract fun setType (Lcom/lagradost/cloudstream3/TvType;)V } +public final class com/lagradost/cloudstream3/SearchResponse$DefaultImpls { + public static fun getBackgroundPosterUrl (Lcom/lagradost/cloudstream3/SearchResponse;)Ljava/lang/String; + public static fun setBackgroundPosterUrl (Lcom/lagradost/cloudstream3/SearchResponse;Ljava/lang/String;)V +} + public final class com/lagradost/cloudstream3/SearchResponseList { public fun (Ljava/util/List;Z)V public synthetic fun (Ljava/util/List;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -1392,23 +1423,24 @@ public final class com/lagradost/cloudstream3/SubtitleFile { } public final class com/lagradost/cloudstream3/TorrentLoadResponse : com/lagradost/cloudstream3/LoadResponse { - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Lcom/lagradost/cloudstream3/Score; public final fun component11 ()Ljava/util/List; public final fun component12 ()Ljava/lang/Integer; public final fun component13 ()Ljava/util/List; public final fun component14 ()Ljava/util/List; - public final fun component15 ()Ljava/util/List; - public final fun component16 ()Z - public final fun component17 ()Ljava/util/Map; + public final fun component15 ()Z + public final fun component16 ()Ljava/util/List; + public final fun component17 ()Z public final fun component18 ()Ljava/util/Map; - public final fun component19 ()Ljava/lang/String; + public final fun component19 ()Ljava/util/Map; public final fun component2 ()Ljava/lang/String; public final fun component20 ()Ljava/lang/String; public final fun component21 ()Ljava/lang/String; public final fun component22 ()Ljava/lang/String; + public final fun component23 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Ljava/lang/String; public final fun component5 ()Ljava/lang/String; @@ -1416,8 +1448,8 @@ public final class com/lagradost/cloudstream3/TorrentLoadResponse : com/lagrados public final fun component7 ()Lcom/lagradost/cloudstream3/TvType; public final fun component8 ()Ljava/lang/String; public final fun component9 ()Ljava/lang/Integer; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/TorrentLoadResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/TorrentLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/TorrentLoadResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/TorrentLoadResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/TorrentLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/TorrentLoadResponse; public fun equals (Ljava/lang/Object;)Z public fun getActors ()Ljava/util/List; public fun getApiName ()Ljava/lang/String; @@ -1443,12 +1475,14 @@ public final class com/lagradost/cloudstream3/TorrentLoadResponse : com/lagrados public fun getUrl ()Ljava/lang/String; public fun getYear ()Ljava/lang/Integer; public fun hashCode ()I + public fun isHorizontalRecommendations ()Z public fun setActors (Ljava/util/List;)V public fun setApiName (Ljava/lang/String;)V public fun setBackgroundPosterUrl (Ljava/lang/String;)V public fun setComingSoon (Z)V public fun setContentRating (Ljava/lang/String;)V public fun setDuration (Ljava/lang/Integer;)V + public fun setHorizontalRecommendations (Z)V public fun setLogoUrl (Ljava/lang/String;)V public final fun setMagnet (Ljava/lang/String;)V public fun setName (Ljava/lang/String;)V @@ -1472,9 +1506,10 @@ public final class com/lagradost/cloudstream3/TorrentLoadResponse : com/lagrados public final class com/lagradost/cloudstream3/TorrentSearchResponse : com/lagradost/cloudstream3/SearchResponse { public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;)V public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Lcom/lagradost/cloudstream3/TvType; @@ -1483,10 +1518,11 @@ public final class com/lagradost/cloudstream3/TorrentSearchResponse : com/lagrad public final fun component7 ()Lcom/lagradost/cloudstream3/SearchQuality; public final fun component8 ()Ljava/util/Map; public final fun component9 ()Lcom/lagradost/cloudstream3/Score; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;)Lcom/lagradost/cloudstream3/TorrentSearchResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/TorrentSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/TorrentSearchResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)Lcom/lagradost/cloudstream3/TorrentSearchResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/TorrentSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/TorrentSearchResponse; public fun equals (Ljava/lang/Object;)Z public fun getApiName ()Ljava/lang/String; + public fun getBackgroundPosterUrl ()Ljava/lang/String; public fun getId ()Ljava/lang/Integer; public fun getName ()Ljava/lang/String; public fun getPosterHeaders ()Ljava/util/Map; @@ -1496,6 +1532,7 @@ public final class com/lagradost/cloudstream3/TorrentSearchResponse : com/lagrad public fun getType ()Lcom/lagradost/cloudstream3/TvType; public fun getUrl ()Ljava/lang/String; public fun hashCode ()I + public fun setBackgroundPosterUrl (Ljava/lang/String;)V public fun setId (Ljava/lang/Integer;)V public fun setPosterHeaders (Ljava/util/Map;)V public fun setPosterUrl (Ljava/lang/String;)V @@ -1563,25 +1600,26 @@ public final class com/lagradost/cloudstream3/TrailerData { } public final class com/lagradost/cloudstream3/TvSeriesLoadResponse : com/lagradost/cloudstream3/EpisodeResponse, com/lagradost/cloudstream3/LoadResponse { - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/util/List;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/ShowStatus;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/util/List;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/ShowStatus;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/util/List;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/ShowStatus;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/util/List;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/ShowStatus;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Lcom/lagradost/cloudstream3/Score; public final fun component11 ()Ljava/util/List; public final fun component12 ()Ljava/lang/Integer; public final fun component13 ()Ljava/util/List; public final fun component14 ()Ljava/util/List; - public final fun component15 ()Ljava/util/List; - public final fun component16 ()Z - public final fun component17 ()Ljava/util/Map; + public final fun component15 ()Z + public final fun component16 ()Ljava/util/List; + public final fun component17 ()Z public final fun component18 ()Ljava/util/Map; - public final fun component19 ()Lcom/lagradost/cloudstream3/NextAiring; + public final fun component19 ()Ljava/util/Map; public final fun component2 ()Ljava/lang/String; - public final fun component20 ()Ljava/util/List; - public final fun component21 ()Ljava/lang/String; + public final fun component20 ()Lcom/lagradost/cloudstream3/NextAiring; + public final fun component21 ()Ljava/util/List; public final fun component22 ()Ljava/lang/String; public final fun component23 ()Ljava/lang/String; public final fun component24 ()Ljava/lang/String; + public final fun component25 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Lcom/lagradost/cloudstream3/TvType; public final fun component5 ()Ljava/util/List; @@ -1589,8 +1627,8 @@ public final class com/lagradost/cloudstream3/TvSeriesLoadResponse : com/lagrado public final fun component7 ()Ljava/lang/Integer; public final fun component8 ()Ljava/lang/String; public final fun component9 ()Lcom/lagradost/cloudstream3/ShowStatus; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/util/List;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/ShowStatus;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/TvSeriesLoadResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/TvSeriesLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/util/List;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/ShowStatus;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/TvSeriesLoadResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/util/List;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/ShowStatus;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/lagradost/cloudstream3/TvSeriesLoadResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/TvSeriesLoadResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/util/List;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Lcom/lagradost/cloudstream3/ShowStatus;Lcom/lagradost/cloudstream3/Score;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/util/List;ZLjava/util/List;ZLjava/util/Map;Ljava/util/Map;Lcom/lagradost/cloudstream3/NextAiring;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/TvSeriesLoadResponse; public fun equals (Ljava/lang/Object;)Z public fun getActors ()Ljava/util/List; public fun getApiName ()Ljava/lang/String; @@ -1620,6 +1658,7 @@ public final class com/lagradost/cloudstream3/TvSeriesLoadResponse : com/lagrado public fun getUrl ()Ljava/lang/String; public fun getYear ()Ljava/lang/Integer; public fun hashCode ()I + public fun isHorizontalRecommendations ()Z public fun setActors (Ljava/util/List;)V public fun setApiName (Ljava/lang/String;)V public fun setBackgroundPosterUrl (Ljava/lang/String;)V @@ -1627,6 +1666,7 @@ public final class com/lagradost/cloudstream3/TvSeriesLoadResponse : com/lagrado public fun setContentRating (Ljava/lang/String;)V public fun setDuration (Ljava/lang/Integer;)V public final fun setEpisodes (Ljava/util/List;)V + public fun setHorizontalRecommendations (Z)V public fun setLogoUrl (Ljava/lang/String;)V public fun setName (Ljava/lang/String;)V public fun setNextAiring (Lcom/lagradost/cloudstream3/NextAiring;)V @@ -1651,11 +1691,12 @@ public final class com/lagradost/cloudstream3/TvSeriesLoadResponse : com/lagrado public final class com/lagradost/cloudstream3/TvSeriesSearchResponse : com/lagradost/cloudstream3/SearchResponse { public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;)V public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component10 ()Ljava/util/Map; public final fun component11 ()Lcom/lagradost/cloudstream3/Score; + public final fun component12 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Lcom/lagradost/cloudstream3/TvType; @@ -1664,10 +1705,11 @@ public final class com/lagradost/cloudstream3/TvSeriesSearchResponse : com/lagra public final fun component7 ()Ljava/lang/Integer; public final fun component8 ()Ljava/lang/Integer; public final fun component9 ()Lcom/lagradost/cloudstream3/SearchQuality; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;)Lcom/lagradost/cloudstream3/TvSeriesSearchResponse; - public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/TvSeriesSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/TvSeriesSearchResponse; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;)Lcom/lagradost/cloudstream3/TvSeriesSearchResponse; + public static synthetic fun copy$default (Lcom/lagradost/cloudstream3/TvSeriesSearchResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/lagradost/cloudstream3/TvType;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/lagradost/cloudstream3/SearchQuality;Ljava/util/Map;Lcom/lagradost/cloudstream3/Score;Ljava/lang/String;ILjava/lang/Object;)Lcom/lagradost/cloudstream3/TvSeriesSearchResponse; public fun equals (Ljava/lang/Object;)Z public fun getApiName ()Ljava/lang/String; + public fun getBackgroundPosterUrl ()Ljava/lang/String; public final fun getEpisodes ()Ljava/lang/Integer; public fun getId ()Ljava/lang/Integer; public fun getName ()Ljava/lang/String; @@ -1679,6 +1721,7 @@ public final class com/lagradost/cloudstream3/TvSeriesSearchResponse : com/lagra public fun getUrl ()Ljava/lang/String; public final fun getYear ()Ljava/lang/Integer; public fun hashCode ()I + public fun setBackgroundPosterUrl (Ljava/lang/String;)V public final fun setEpisodes (Ljava/lang/Integer;)V public fun setId (Ljava/lang/Integer;)V public fun setPosterHeaders (Ljava/util/Map;)V diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainAPI.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainAPI.kt index ca024b463a1..5c39ab51a18 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainAPI.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/MainAPI.kt @@ -138,6 +138,13 @@ object APIHolder { initMap(true) } + fun isApiHorizontal(name: String?): Boolean { + if (name == null) return false + val api = getApiFromNameNull(name) ?: return false + return api.hasHorizontalSearch || + (api.supportedTypes.isNotEmpty() && api.supportedTypes.all { it == TvType.Live }) + } + fun removePluginMapping(plugin: MainAPI) { apis.withLock { apis = apis.filter { it != plugin } @@ -626,6 +633,15 @@ abstract class MainAPI { open val vpnStatus = VPNStatus.None open val providerType = ProviderType.DirectProvider + + /** + * These horizontal options are only affecting extension search and load recommendations. + * */ + @Prerelease + open val hasHorizontalSearch: Boolean = false + @Prerelease + open val hasHorizontalRecommendations: Boolean = false + //emptyList() // open val mainPage = listOf(MainPageData("", "", false)) @@ -641,10 +657,7 @@ abstract class MainAPI { open suspend fun search(query: String, page: Int): SearchResponseList? { val searchResults = search(query) ?: return null - return newSearchResponseList( - searchResults, - false - ) + return newSearchResponseList(searchResults, false) } // @WorkerThread @@ -1410,6 +1423,9 @@ interface SearchResponse { var type: TvType? var posterUrl: String? var posterHeaders: Map? + var backgroundPosterUrl: String? + get() = null + set(value) {} var id: Int? var quality: SearchQuality? var score: Score? @@ -1505,10 +1521,34 @@ fun SearchResponse.addQuality(quality: String) { /** Extension function that adds poster to [SearchResponse] * @param url nullable string for poster url * @param headers Optional map of request headers + * @param backgroundPosterUrl Optional nullable string for horizontal/backdrop poster url * */ -fun SearchResponse.addPoster(url: String?, headers: Map? = null) { +fun SearchResponse.addPoster(url: String?, headers: Map? = null, backgroundPosterUrl: String? = null) { this.posterUrl = url this.posterHeaders = headers + if (backgroundPosterUrl != null) { + this.backgroundPosterUrl = backgroundPosterUrl + } +} + +/** Extension function that adds horizontal/background poster to [SearchResponse] + * @param url nullable string for background poster url + * */ +fun SearchResponse.addBackgroundPoster(url: String?) { + this.backgroundPosterUrl = url +} + +/** True if this item should be rendered as a horizontal (16:9-ish) card, + * either because the surrounding context already is ([contextHorizontal]), + * or because the item itself signals it (live stream, backdrop poster, or + * a provider that opted into horizontal search results). */ +@Prerelease +fun SearchResponse.isHorizontalCard(contextHorizontal: Boolean = false): Boolean { + return contextHorizontal || + type == TvType.Live || + this is LiveSearchResponse || + !backgroundPosterUrl.isNullOrEmpty() || + APIHolder.isApiHorizontal(apiName) } /** Extension function that adds poster to [LoadResponse] @@ -1571,6 +1611,7 @@ constructor( override var quality: SearchQuality? = null, override var posterHeaders: Map? = null, override var score: Score? = null, + override var backgroundPosterUrl: String? = null, ) : SearchResponse fun AnimeSearchResponse.addDubStatus(status: DubStatus, episodes: Int? = null) { @@ -1631,6 +1672,7 @@ constructor( override var quality: SearchQuality? = null, override var posterHeaders: Map? = null, override var score: Score? = null, + override var backgroundPosterUrl: String? = null, ) : SearchResponse { @Suppress("DEPRECATION_ERROR") @Deprecated( @@ -1646,7 +1688,7 @@ constructor( id: Int? = null, quality: SearchQuality? = null, posterHeaders: Map? = null - ) : this(name, url, apiName, type, posterUrl, id, quality, posterHeaders, null) + ) : this(name, url, apiName, type, posterUrl, id, quality, posterHeaders, null, null) } /** Data class of [SearchResponse] interface for Movies. @@ -1666,6 +1708,7 @@ constructor( override var quality: SearchQuality? = null, override var posterHeaders: Map? = null, override var score: Score? = null, + override var backgroundPosterUrl: String? = null, ) : SearchResponse { @Suppress("DEPRECATION_ERROR") @Deprecated( @@ -1682,7 +1725,7 @@ constructor( id: Int? = null, quality: SearchQuality? = null, posterHeaders: Map? = null - ) : this(name, url, apiName, type, posterUrl, id, year, quality, posterHeaders, null) + ) : this(name, url, apiName, type, posterUrl, id, year, quality, posterHeaders, null, null) } /** Data class of [SearchResponse] interface for Live streams. @@ -1702,6 +1745,7 @@ constructor( override var posterHeaders: Map? = null, var lang: String? = null, override var score: Score? = null, + override var backgroundPosterUrl: String? = null, ) : SearchResponse { @Suppress("DEPRECATION_ERROR") @Deprecated( @@ -1718,7 +1762,7 @@ constructor( quality: SearchQuality? = null, posterHeaders: Map? = null, lang: String? = null, - ) : this(name, url, apiName, type, posterUrl, id, quality, posterHeaders, lang, null) + ) : this(name, url, apiName, type, posterUrl, id, quality, posterHeaders, lang, null, null) } /** Data class of [SearchResponse] interface for Tv series. @@ -1739,6 +1783,7 @@ constructor( override var quality: SearchQuality? = null, override var posterHeaders: Map? = null, override var score: Score? = null, + override var backgroundPosterUrl: String? = null, ) : SearchResponse { @Suppress("DEPRECATION_ERROR") @Deprecated( @@ -1767,6 +1812,7 @@ constructor( id, quality, posterHeaders, + null, null ) } @@ -1826,6 +1872,10 @@ interface LoadResponse { var trailers: MutableList var recommendations: List? + @Prerelease + var isHorizontalRecommendations: Boolean + get() = false + set(value) {} var actors: List? var comingSoon: Boolean var syncData: MutableMap @@ -2282,6 +2332,7 @@ constructor( override var duration: Int? = null, override var trailers: MutableList = mutableListOf(), override var recommendations: List? = null, + override var isHorizontalRecommendations: Boolean = false, override var actors: List? = null, override var comingSoon: Boolean = false, override var syncData: MutableMap = mutableMapOf(), @@ -2341,6 +2392,7 @@ constructor( override var duration: Int? = null, override var trailers: MutableList = mutableListOf(), override var recommendations: List? = null, + override var isHorizontalRecommendations: Boolean = false, override var actors: List? = null, override var comingSoon: Boolean = false, override var syncData: MutableMap = mutableMapOf(), @@ -2429,6 +2481,7 @@ constructor( override var duration: Int? = null, override var trailers: MutableList = mutableListOf(), override var recommendations: List? = null, + override var isHorizontalRecommendations: Boolean = false, override var actors: List? = null, override var comingSoon: Boolean = false, override var syncData: MutableMap = mutableMapOf(), @@ -2478,6 +2531,7 @@ constructor( override var duration: Int? = null, override var trailers: MutableList = mutableListOf(), override var recommendations: List? = null, + override var isHorizontalRecommendations: Boolean = false, override var actors: List? = null, override var comingSoon: Boolean = false, override var syncData: MutableMap = mutableMapOf(), @@ -2691,6 +2745,7 @@ constructor( override var duration: Int? = null, override var trailers: MutableList = mutableListOf(), override var recommendations: List? = null, + override var isHorizontalRecommendations: Boolean = false, override var actors: List? = null, override var comingSoon: Boolean = false, override var syncData: MutableMap = mutableMapOf(),