From b8cb0de233d8bf28cd93c4346b83a7d0c8cfdee4 Mon Sep 17 00:00:00 2001 From: LagradOst Date: Sun, 5 Sep 2021 13:56:25 +0200 Subject: [PATCH] removed trailers.to --- .../com/lagradost/cloudstream3/MainAPI.kt | 5 +++-- .../cloudstream3/ui/APIRepository.kt | 13 ++++++++++- .../cloudstream3/ui/home/HomeFragment.kt | 15 ++++++++----- .../cloudstream3/ui/home/HomeViewModel.kt | 22 ++++++++++++++----- 4 files changed, 42 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt b/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt index 06f54bfa..ae5637a1 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/MainAPI.kt @@ -27,11 +27,11 @@ object APIHolder { private const val defProvider = 0 val apis = arrayListOf( - TrailersToProvider(), + GogoanimeProvider(), //ShiroProvider(), // v2 fucked me //AnimePaheProvider(), //ddos guard AnimeFlickProvider(), - GogoanimeProvider(), + TenshiProvider(), WcoProvider(), // MeloMovieProvider(), // Captcha for links @@ -46,6 +46,7 @@ object APIHolder { val restrictedApis = arrayListOf( NyaaProvider(), + TrailersToProvider(), ) fun getApiFromName(apiName: String?): MainAPI { diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt index da39a603..22370666 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt @@ -10,8 +10,19 @@ class APIRepository(val api: MainAPI) { companion object { var providersActive = HashSet() var typesActive = HashSet() - } + val noneApi = object : MainAPI() { + override val name: String + get() = "None" + } + val randomApi = object : MainAPI() { + override val name: String + get() = "Random" + } + + val noneRepo = APIRepository(noneApi) + } + val hasMainPage: Boolean get() = api.hasMainPage val name: String get() = api.name val mainUrl: String get() = api.mainUrl val hasQuickSearch: Boolean get() = api.hasQuickSearch 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 64e176fe..fb265b8d 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 @@ -22,6 +22,8 @@ import com.lagradost.cloudstream3.APIHolder.apis import com.lagradost.cloudstream3.MainActivity.Companion.backEvent import com.lagradost.cloudstream3.mvvm.Resource import com.lagradost.cloudstream3.mvvm.observe +import com.lagradost.cloudstream3.ui.APIRepository.Companion.noneApi +import com.lagradost.cloudstream3.ui.APIRepository.Companion.randomApi import com.lagradost.cloudstream3.ui.AutofitRecyclerView import com.lagradost.cloudstream3.ui.WatchType import com.lagradost.cloudstream3.ui.result.START_ACTION_RESUME_LATEST @@ -154,6 +156,8 @@ class HomeFragment : Fragment() { toggleMainVisibility(false) return null } + } else { + toggleMainVisibility(false) } return null } @@ -173,10 +177,11 @@ class HomeFragment : Fragment() { } private val apiChangeClickListener = View.OnClickListener { view -> - val validAPIs = apis.filter { api -> api.hasMainPage } - + val validAPIs = apis.filter { api -> api.hasMainPage }.toMutableList() + validAPIs.add(0, randomApi) + validAPIs.add(0, noneApi) view.popupMenuNoIconsAndNoStringRes(validAPIs.mapIndexed { index, api -> Pair(index, api.name) }) { - homeViewModel.loadAndCancel(validAPIs[itemId]) + homeViewModel.loadAndCancel(validAPIs[itemId].name) } } @@ -378,8 +383,8 @@ class HomeFragment : Fragment() { reloadStored() } if (itemId == 0) { - val card = callback.card - if(card is DataStoreHelper.ResumeWatchingResult) { + val card = callback.card + if (card is DataStoreHelper.ResumeWatchingResult) { context?.removeLastWatched(card.parentId) reloadStored() } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt index d327b5f5..e36badaa 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt @@ -12,6 +12,9 @@ import com.lagradost.cloudstream3.MainAPI import com.lagradost.cloudstream3.SearchResponse import com.lagradost.cloudstream3.mvvm.Resource import com.lagradost.cloudstream3.ui.APIRepository +import com.lagradost.cloudstream3.ui.APIRepository.Companion.noneApi +import com.lagradost.cloudstream3.ui.APIRepository.Companion.noneRepo +import com.lagradost.cloudstream3.ui.APIRepository.Companion.randomApi import com.lagradost.cloudstream3.ui.WatchType import com.lagradost.cloudstream3.utils.DOWNLOAD_HEADER_CACHE import com.lagradost.cloudstream3.utils.DataStore.getKey @@ -131,19 +134,28 @@ class HomeViewModel : ViewModel() { } private fun load(api: MainAPI?) = viewModelScope.launch { - repo = if (api?.hasMainPage == true) { + repo = if (api != null) { APIRepository(api) } else { autoloadRepo() } - _apiName.postValue(repo?.name) - _page.postValue(Resource.Loading()) - _page.postValue(repo?.getMainPage()) + if (repo?.hasMainPage == true) { + _page.postValue(Resource.Loading()) + _page.postValue(repo?.getMainPage()) + } else { + _page.postValue(Resource.Success(HomePageResponse(emptyList()))) + } } fun loadAndCancel(preferredApiName: String?) = viewModelScope.launch { val api = getApiFromNameNull(preferredApiName) - loadAndCancel(api) + if (preferredApiName == noneApi.name) + loadAndCancel(noneApi) + else if(preferredApiName == randomApi.name || api == null) { + loadAndCancel(apis.filter { it.hasMainPage }.random()) + } else { + loadAndCancel(api) + } } } \ No newline at end of file