Add similar titles to media fragment #28
| @ -183,7 +183,7 @@ class MediaFragment(private val mediaId: Int) : Fragment() { | ||||
|         (activity as MainActivity).startPlayer(model.media.id, ep.id) | ||||
|         Log.d(javaClass.name, "Started Player with  episodeId: ${ep.id}") | ||||
|  | ||||
|         model.updateNextEpisode() // set the correct next episode | ||||
|         model.updateNextEpisode(ep) // set the correct next episode | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|  | ||||
| @ -55,7 +55,7 @@ class MediaFragmentEpisodes : Fragment() { | ||||
|         (activity as MainActivity).startPlayer(model.media.id, ep.id) | ||||
|         Log.d(javaClass.name, "Started Player with  episodeId: ${ep.id}") | ||||
|  | ||||
|         model.updateNextEpisode() // set the correct next episode | ||||
|         model.updateNextEpisode(ep) // set the correct next episode | ||||
|     } | ||||
|  | ||||
| } | ||||
| @ -35,18 +35,14 @@ class MediaFragmentViewModel(application: Application) : AndroidViewModel(applic | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * based on watched state and current episode number set the next episode | ||||
|      * get the next episode based on episode number (the true next episode) | ||||
|      * if no matching is found, use first episode | ||||
|      */ | ||||
|     fun updateNextEpisode() { | ||||
|     fun updateNextEpisode(currentEp: Episode) { | ||||
|         if (media.type == MediaType.MOVIE) return // return if movie | ||||
|  | ||||
|         val currentEpNumber = nextEpisode.number | ||||
|         nextEpisode = if (media.episodes.firstOrNull{ !it.watched } != null) { | ||||
|             media.episodes.first{ !it.watched && it.number > currentEpNumber } | ||||
|         } else { | ||||
|             media.episodes.first() | ||||
|         } | ||||
|         nextEpisode = media.episodes.firstOrNull{ it.number > currentEp.number } | ||||
|             ?: media.episodes.first() | ||||
|     } | ||||
|  | ||||
| } | ||||
| @ -55,6 +55,7 @@ data class Media( | ||||
|     fun getEpisodeById(id: Int) = episodes.first { it.id == id } | ||||
| } | ||||
|  | ||||
| // TODO all val? | ||||
| data class Info( | ||||
|     var title: String = "", | ||||
|     var posterUrl: String = "", | ||||
| @ -97,6 +98,7 @@ data class Stream( | ||||
|  | ||||
| /** | ||||
|  * this class is used for tmdb responses | ||||
|  * TODO why is runtime var? | ||||
|  */ | ||||
| data class TMDBResponse( | ||||
|     val id: Int = 0, | ||||
|  | ||||
		Reference in New Issue
	
	Block a user