mirror of
				https://github.com/recloudstream/cloudstream.git
				synced 2024-08-15 01:53:11 +00:00 
			
		
		
		
	Part 3 update for named seasons
This commit is contained in:
		
							parent
							
								
									e830595c5f
								
							
						
					
					
						commit
						7f475ba059
					
				
					 2 changed files with 12 additions and 10 deletions
				
			
		|  | @ -1203,9 +1203,12 @@ data class AnimeLoadResponse( | |||
|     override var backgroundPosterUrl: String? = null, | ||||
| ) : LoadResponse, EpisodeResponse | ||||
| 
 | ||||
| /** | ||||
|  * If episodes already exist appends the list. | ||||
|  * */ | ||||
| fun AnimeLoadResponse.addEpisodes(status: DubStatus, episodes: List<Episode>?) { | ||||
|     if (episodes.isNullOrEmpty()) return | ||||
|     this.episodes[status] = episodes | ||||
|     this.episodes[status] = (this.episodes[status] ?: emptyList()) + episodes | ||||
| } | ||||
| 
 | ||||
| suspend fun MainAPI.newAnimeLoadResponse( | ||||
|  |  | |||
|  | @ -1592,8 +1592,8 @@ class ResultViewModel2 : ViewModel() { | |||
|                     val idIndex = ep.key.id | ||||
|                     for ((index, i) in ep.value.withIndex()) { | ||||
|                         val episode = i.episode ?: (index + 1) | ||||
|                         val id = mainId + episode + idIndex * 1000000 | ||||
|                         if (!existingEpisodes.contains(episode)) { | ||||
|                         val id = mainId + episode + idIndex * 1_000_000 + (i.season?.times(10_000) ?: 0) | ||||
|                         if (!existingEpisodes.contains(id)) { | ||||
|                             existingEpisodes.add(id) | ||||
|                             val seasonData = loadResponse.seasonNames.getSeason(i.season) | ||||
|                             val eps = | ||||
|  | @ -1602,7 +1602,7 @@ class ResultViewModel2 : ViewModel() { | |||
|                                     filterName(i.name), | ||||
|                                     i.posterUrl, | ||||
|                                     episode, | ||||
|                                     null, | ||||
|                                     seasonData?.season ?: i.season, | ||||
|                                     if (seasonData != null) seasonData.displaySeason else i.season, | ||||
|                                     i.data, | ||||
|                                     loadResponse.apiName, | ||||
|  | @ -1615,7 +1615,7 @@ class ResultViewModel2 : ViewModel() { | |||
|                                     mainId | ||||
|                                 ) | ||||
| 
 | ||||
|                             val season = eps.season ?: 0 | ||||
|                             val season = eps.seasonIndex ?: 0 | ||||
|                             val indexer = EpisodeIndexer(ep.key, season) | ||||
|                             episodes[indexer]?.add(eps) ?: run { | ||||
|                                 episodes[indexer] = mutableListOf(eps) | ||||
|  | @ -1630,14 +1630,13 @@ class ResultViewModel2 : ViewModel() { | |||
|                     mutableMapOf() | ||||
|                 val existingEpisodes = HashSet<Int>() | ||||
|                 for ((index, episode) in loadResponse.episodes.sortedBy { | ||||
|                     (it.season?.times(10000) ?: 0) + (it.episode ?: 0) | ||||
|                     (it.season?.times(10_000) ?: 0) + (it.episode ?: 0) | ||||
|                 }.withIndex()) { | ||||
|                     val episodeIndex = episode.episode ?: (index + 1) | ||||
|                     val id = | ||||
|                         mainId + (episode.season?.times(100000) ?: 0) + episodeIndex + 1 | ||||
|                         mainId + (episode.season?.times(100_000) ?: 0) + episodeIndex + 1 | ||||
|                     if (!existingEpisodes.contains(id)) { | ||||
|                         existingEpisodes.add(id) | ||||
|                         val seasonIndex = episode.season?.minus(1) | ||||
|                         val seasonData = | ||||
|                             loadResponse.seasonNames.getSeason(episode.season) | ||||
| 
 | ||||
|  | @ -1647,7 +1646,7 @@ class ResultViewModel2 : ViewModel() { | |||
|                                 filterName(episode.name), | ||||
|                                 episode.posterUrl, | ||||
|                                 episodeIndex, | ||||
|                                 seasonIndex, | ||||
|                                 seasonData?.season ?: episode.season, | ||||
|                                 if (seasonData != null) seasonData.displaySeason else episode.season, | ||||
|                                 episode.data, | ||||
|                                 loadResponse.apiName, | ||||
|  | @ -1660,7 +1659,7 @@ class ResultViewModel2 : ViewModel() { | |||
|                                 mainId | ||||
|                             ) | ||||
| 
 | ||||
|                         val season = episode.season ?: 0 | ||||
|                         val season = ep.seasonIndex ?: 0 | ||||
|                         val indexer = EpisodeIndexer(DubStatus.None, season) | ||||
| 
 | ||||
|                         episodes[indexer]?.add(ep) ?: kotlin.run { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue