Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun removeMoviesByThreadSlow(movies: List<Movie>, currentMovie: Movie, threads: List<Thread>): Pair<Movie, List<Movie>> {
- val playedPart = movies.take(movies.indexOf(currentMovie)).filterNot { movie ->
- threads.map { it.thread }.contains(movie.thread)
- }
- val newIndex = playedPart.size
- val newPlaylist = movies.filterNot { movie ->
- threads.map { it.thread }.contains(movie.thread)
- }
- return Pair(newPlaylist[newIndex], newPlaylist)
- }
- fun removeMoviesByThreadFast(movies: List<Movie>, currentMovie: Movie, threads: List<Thread>): Pair<Movie, List<Movie>> {
- var isCurrentMovieCatched = false
- var isPrewThreadEqual = false
- var resultCurrentMovie: Movie = NullMovie()
- val resultMovieList = movies.filterNot { movie ->
- var isThreadEqual = false
- threads.forEach { thread ->
- if (thread.thread == movie.thread) {
- isThreadEqual = true
- }
- }
- if (currentMovie.movieUrl == movie.movieUrl) {
- isCurrentMovieCatched = true
- }
- if (isPrewThreadEqual && !isThreadEqual && isCurrentMovieCatched) {
- resultCurrentMovie = movie
- isCurrentMovieCatched = false
- }
- isPrewThreadEqual = isThreadEqual
- isThreadEqual
- }
- return Pair(resultCurrentMovie, resultMovieList)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement