Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. ConnectableObservable<Boolean> booleanObservable = Observable
  2. .fromCallable(() -> {
  3. Thread.sleep(1_000);
  4. return true;
  5. }).startWith(false)
  6. .subscribeOn(Schedulers.io())
  7. .replay(2);
  8.  
  9. Disposable sub1 = booleanObservable
  10. .doOnSubscribe(disposable -> {
  11. printCurrentThread("SUBSCRIBED1");
  12. })
  13. .observeOn(AndroidSchedulers.mainThread())
  14. .subscribe(aBoolean -> {
  15. printCurrentThread("1SubCallback: " + String.format("%1$s", aBoolean));
  16. });
  17.  
  18. booleanObservable.connect();
  19.  
  20. try {
  21. Thread.sleep(2_000);
  22. } catch (InterruptedException e) {
  23. e.printStackTrace();
  24. }
  25.  
  26. booleanObservable.doOnSubscribe(disposable -> {
  27. printCurrentThread("SUBSCRIBED2");
  28. }).observeOn(AndroidSchedulers.mainThread())
  29. .subscribe(aBoolean -> {
  30. if (!aBoolean) {
  31. // show loading here:::::
  32. printCurrentThread("2SubCallback_showLoading: " + String.format("%1$s", aBoolean));
  33. } else {
  34. printCurrentThread("2SubCallback_doStuff: " + String.format("%1$s", aBoolean));
  35. }
  36. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement