package com.fastaccess.ui.modules.profile.org;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.fastaccess.data.dao.model.User;
import com.fastaccess.helper.BundleConstant;
import com.fastaccess.helper.InputHelper;
import com.fastaccess.provider.rest.RestProvider;
import com.fastaccess.ui.base.mvp.presenter.BasePresenter;
/**
* Created by Kosh on 04 Apr 2017, 10:36 AM
*/
public class OrgProfileOverviewPresenter extends BasePresenter<OrgProfileOverviewMvp.View> implements OrgProfileOverviewMvp.Presenter {
private String login;
@Override public void onError(@NonNull Throwable throwable) {
if (!InputHelper.isEmpty(login)) {
onWorkOffline(login);
}
super.onError(throwable);
}
@Override public void onFragmentCreated(@Nullable Bundle bundle) {
if (bundle == null || bundle.getString(BundleConstant.EXTRA) == null) {
throw new NullPointerException("Either bundle or User is null");
}
login = bundle.getString(BundleConstant.EXTRA);
if (login != null) {
makeRestCall(RestProvider.getOrgService().getOrganization(login),
this::onSendUserToView);
}
}
@Override public void onWorkOffline(@NonNull String login) {;
onSendUserToView(User.getUser(login));
}
@NonNull @Override public String getLogin() {
return login;
}
private void onSendUserToView(User userModel) {
sendToView(view -> view.onInitViews(userModel));
}
}