Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. fun removeMoviesByThreadSlow(movies: List<Movie>, currentMovie: Movie, threads: List<Thread>): Pair<Movie, List<Movie>> {
  2.  
  3. val playedPart = movies.take(movies.indexOf(currentMovie)).filterNot { movie ->
  4. threads.map { it.thread }.contains(movie.thread)
  5. }
  6. val newIndex = playedPart.size
  7.  
  8. val newPlaylist = movies.filterNot { movie ->
  9. threads.map { it.thread }.contains(movie.thread)
  10. }
  11. return Pair(newPlaylist[newIndex], newPlaylist)
  12. }
  13.  
  14.  
  15. fun removeMoviesByThreadFast(movies: List<Movie>, currentMovie: Movie, threads: List<Thread>): Pair<Movie, List<Movie>> {
  16.  
  17. var isCurrentMovieCatched = false
  18. var isPrewThreadEqual = false
  19.  
  20. var resultCurrentMovie: Movie = NullMovie()
  21.  
  22. val resultMovieList = movies.filterNot { movie ->
  23. var isThreadEqual = false
  24.  
  25. threads.forEach { thread ->
  26. if (thread.thread == movie.thread) {
  27. isThreadEqual = true
  28. }
  29. }
  30.  
  31. if (currentMovie.movieUrl == movie.movieUrl) {
  32. isCurrentMovieCatched = true
  33. }
  34.  
  35. if (isPrewThreadEqual && !isThreadEqual && isCurrentMovieCatched) {
  36. resultCurrentMovie = movie
  37. isCurrentMovieCatched = false
  38. }
  39. isPrewThreadEqual = isThreadEqual
  40. isThreadEqual
  41. }
  42.  
  43. return Pair(resultCurrentMovie, resultMovieList)
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement