Advertisement
masquitos

to presenter

Jun 5th, 2018
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.41 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.         button1 = findViewById(R.id.btn_1);
  13.         button2 = findViewById(R.id.btn_2);
  14.         mPresenter = new Presenter(this);
  15.     }
  16.  
  17.     public Observable<Integer> getObs1() {
  18.         return RxView.clicks(button1)
  19.                 .map(view -> 1);
  20.     }
  21.  
  22.     public Observable<Integer> getObs2() {
  23.         return RxView.clicks(button2)
  24.                 .map(view -> 2);
  25.     }
  26. }
  27.  
  28. public class Presenter {
  29.     private final String TAG = this.getClass().getSimpleName();
  30.     MainActivity mainActivity;
  31.  
  32.     Presenter(MainActivity mainActivity) {
  33.         this.mainActivity = mainActivity;
  34.         Observable.merge(mainActivity.getObs1(), mainActivity.getObs2())
  35.                 .switchMap(this::getObservable)
  36.                 .subscribe(data -> Log.d(TAG, (String) data));
  37.     }
  38.  
  39.     Observable<String> getObservable(int id) {
  40.         return Observable.interval(1, TimeUnit.SECONDS)
  41.                 .map(data -> "Obs" + String.valueOf(id) + ":" + data);
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement