Advertisement
masquitos

switchMap

Jun 5th, 2018
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.16 KB | None | 0 0
  1. public class MainActivity extends AppCompatActivity {
  2.     private final String TAG = this.getClass().getSimpleName();
  3.     private CompositeDisposable mCompositeDisposable = new CompositeDisposable();
  4.     private Presenter mPresenter;
  5.     Button button1;
  6.     Button button2;
  7.  
  8.     @Override
  9.     protected void onCreate(Bundle savedInstanceState) {
  10.         super.onCreate(savedInstanceState);
  11.         setContentView(R.layout.activity_main);
  12.         mPresenter = new Presenter();
  13.         button1 = findViewById(R.id.btn_1);
  14.         button2 = findViewById(R.id.btn_2);
  15.  
  16.         Observable.merge(getObs1(), getObs2())
  17.                 .switchMap(this::getObservable)
  18.                 .subscribe(data -> Log.d(TAG, (String) data));
  19.     }
  20.  
  21.     public Observable<Integer> getObs1() {
  22.         return RxView.clicks(button1)
  23.                 .map(view -> 1);
  24.     }
  25.  
  26.     public Observable<Integer> getObs2() {
  27.         return RxView.clicks(button2)
  28.                 .map(view -> 2);
  29.     }
  30.  
  31.     Observable<String> getObservable(int id) {
  32.         return Observable.interval(1, TimeUnit.SECONDS)
  33.                 .map(data -> "Obs" + String.valueOf(id) + ":" + data);
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement