Source:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); final MainAdapter mainAdapter = new MainAdapter(); ButterKnife.inject(this); final LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(mainAdapter); final MainPresenter presenter = new MainPresenter(FakeDagger.getPostsDaoInstance(getApplication())); presenter.titleObservable() .compose(lifecycleMainObservable.<String>bindLifecycle()) .subscribe(MoreViewActions.setTitle(toolbar)); presenter.itemsObservable() .compose(lifecycleMainObservable.<List<MainPresenter.AdapterItem>>bindLifecycle()) .subscribe(mainAdapter); presenter.progressObservable() .compose(lifecycleMainObservable.<Boolean>bindLifecycle()) .subscribe(ViewActions.setVisibility(progress, View.INVISIBLE)); presenter.errorObservable() .map(ErrorHelper.mapThrowableToStringError()) .compose(lifecycleMainObservable.<String>bindLifecycle()) .subscribe(ViewActions.setText(error)); presenter.openDetailsObservable() .compose(lifecycleMainObservable.<MainPresenter.AdapterItem>bindLifecycle()) .subscribe(startDetailsActivityAction(this)); MoreViewObservables.scroll(recyclerView) .filter(LoadMoreHelper.mapToNeedLoadMore(layoutManager, mainAdapter)) .compose(lifecycleMainObservable.bindLifecycle()) .subscribe(presenter.loadMoreObserver()); ViewObservable.clicks(fab) .compose(lifecycleMainObservable.bindLifecycle()) .subscribe(presenter.clickOnFabObserver()); presenter.clickOnFabObservable() .compose(lifecycleMainObservable.bindLifecycle()) .subscribe(startPostActivityAction(this)); }

Target:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); final MainAdapter mainAdapter = new MainAdapter(); ButterKnife.inject(this); final LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(mainAdapter); final MainPresenter presenter = new MainPresenter(FakeDagger.getPostsDaoInstance(getApplication())); presenter.titleObservable() .compose(lifecycleMainObservable.<String>bindLifecycle()) .subscribe(MoreViewActions.setTitle(toolbar)); presenter.itemsObservable() .compose(lifecycleMainObservable.<List<MainPresenter.AdapterItem>>bindLifecycle()) .subscribe(mainAdapter); presenter.progressObservable() .compose(lifecycleMainObservable.<Boolean>bindLifecycle()) .subscribe(ViewActions.setVisibility(progress, View.INVISIBLE)); presenter.errorObservable() .map(ErrorHelper.mapThrowableToStringError()) .compose(lifecycleMainObservable.<String>bindLifecycle()) .subscribe(ViewActions.setText(error)); presenter.openDetailsObservable() .compose(lifecycleMainObservable.<MainPresenter.AdapterItem>bindLifecycle()) .subscribe(startDetailsActivityAction(this)); MoreViewObservables.scroll(recyclerView) .filter(LoadMoreHelper.mapToNeedLoadMore(layoutManager, mainAdapter)) .compose(lifecycleMainObservable.bindLifecycle()) .subscribe(presenter.loadMoreObserver()); ViewObservable.clicks(fab) .compose(lifecycleMainObservable.bindLifecycle()) .subscribe(presenter.clickOnFabObserver()); presenter.startCreatePostActivityObservable() .compose(lifecycleMainObservable.bindLifecycle()) .subscribe(startPostActivityAction(this)); }