Guest User

Untitled

a guest
Nov 18th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. val list1 = mutableListOf<SomeClass1>(
  2. SomeClass1("1", 1), SomeClass1("2", 2), SomeClass1("3", 3),
  3. SomeClass1("4", 4), SomeClass1("5", 5), SomeClass1("6", 6),
  4. SomeClass1("7", 7), SomeClass1("8", 8), SomeClass1("9", 9)
  5. )
  6. val list2 = mutableListOf<SomeClass2>(
  7. SomeClass2(1.00), SomeClass2(2.00), SomeClass2(3.00),
  8. SomeClass2(4.00), SomeClass2(5.00), SomeClass2(6.00),
  9. SomeClass2(7.00), SomeClass2(8.00), SomeClass2(9.00)
  10. )
  11.  
  12. val someClass1Observable = Observable
  13. .fromIterable(list1)
  14. .zipWith(Observable.interval(2, TimeUnit.SECONDS),
  15. BiFunction { item: SomeClass1, _: Long -> item })
  16.  
  17.  
  18. val someClass2Observable = Observable
  19. .fromIterable(list2)
  20. .zipWith(Observable.interval(2, TimeUnit.SECONDS),
  21. BiFunction { item: SomeClass2, _: Long -> item })
  22.  
  23.  
  24. someClass1Observable.subscribe {
  25. Log.v("someClass1", it.toString())
  26. }
  27.  
  28. someClass2Observable.subscribe {
  29. Log.v("someClass2", it.toString())
  30. }
  31.  
  32.  
  33. Observable.merge(someClass1Observable, someClass2Observable)
  34. .buffer(10, TimeUnit.SECONDS)
  35. .repeat()
  36. .doOnSubscribe { Log.v("parentObservable", "STARTED") }
  37. .subscribe { t: MutableList<Parent> ->
  38. Log.v("parentObservable", "onNext")
  39. t.forEach { Log.v("onNext", it.toString()) }
  40. }
  41.  
  42. Thread.sleep(30000)
  43. Log.v("AFTER_SLEEP", "AFTER_SLEEP")
  44.  
  45.  
  46. someClass1Observable.subscribe {
  47. Log.v("someClass1", it.toString())
  48. }
  49.  
  50. someClass2Observable.subscribe {
  51. Log.v("someClass2", it.toString())
  52. }
  53.  
  54. val someClass1Obs = Observable
  55. .interval(2, TimeUnit.SECONDS)
  56. .map { SomeClass1("$it", it.toInt()) } // <-- create objects on demand
Add Comment
Please, Sign In to add comment