public void loadMyWorkflows()

in app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java [65:111]


    public void loadMyWorkflows() {
        checkViewAttached();
        getMvpView().showProgressbar(true);
        compositeDisposable.clear();
        compositeDisposable.add(mDataManager.getMyWorkflows(mDataManager.getPreferencesHelper()
                .getUserID(), getQueryOptions())
                .flatMap(new Function<User, ObservableSource<Workflow>>() {
                    @Override
                    public ObservableSource<Workflow> apply(User user) throws Exception {
                        if (user.getWorkflows().getWorkflowList() != null && user.getWorkflows()
                                .getWorkflowList().size() != 0) {
                            return Observable.fromIterable(user.getWorkflows().getWorkflowList())
                                    .concatMap(new Function<Workflow,
                                            ObservableSource<Workflow>>() {
                                        @Override
                                        public ObservableSource<Workflow> apply(Workflow workflow)
                                                throws Exception {
                                            return mDataManager.getDetailWorkflow(workflow.getId(),
                                                    getWorkflowQueryOptions());
                                        }
                                    });
                        } else {
                            return Observable.empty();
                        }
                    }
                })
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.io())
                .subscribeWith(new DisposableObserver<Workflow>() {
                    @Override
                    public void onNext(Workflow workflow) {
                        getMvpView().showWorkflow(workflow);
                    }

                    @Override
                    public void onError(Throwable e) {
                        getMvpView().showErrorSnackBar("Server Error! Try after sometime");
                        Log.e(LOG_TAG, "onError: ", e);
                    }

                    @Override
                    public void onComplete() {
                        getMvpView().showProgressbar(false);
                        getMvpView().checkWorkflowSize();
                    }
                }));
    }