package com.fastaccess.ui.modules.main.orgs; import android.support.annotation.NonNull; import com.fastaccess.data.dao.model.User; import com.fastaccess.provider.rest.RestProvider; import com.fastaccess.ui.base.mvp.presenter.BasePresenter; import java.util.ArrayList; import java.util.List; import rx.Observable; /** * Created by Kosh on 15 Apr 2017, 1:54 PM */ public class OrgListDialogPresenter extends BasePresenter<OrgListDialogMvp.View> implements OrgListDialogMvp.Presenter { private ArrayList<User> orgs = new ArrayList<>(); @Override public void onLoadOrgs() { makeRestCall(RestProvider.getOrgService().getMyOrganizations() .flatMap(userPageable -> userPageable.getItems() != null ? Observable.from(userPageable.getItems()) : Observable.empty()) .map(user -> { if (user != null) user.setType("Organization"); return user; }) .toList(), list -> { List<User> myOrgs = new ArrayList<>(); if (list != null && !list.isEmpty()) { myOrgs.addAll(list); } sendToView(view -> view.onNotifyAdapter(myOrgs)); }); } @NonNull @Override public ArrayList<User> getOrgs() { return orgs; } }