package com.gzsll.hupu.ui.report; import android.support.annotation.NonNull; import com.gzsll.hupu.api.forum.ForumApi; import com.gzsll.hupu.bean.BaseData; import com.gzsll.hupu.injector.PerActivity; import com.gzsll.hupu.util.ToastUtil; import javax.inject.Inject; import rx.Subscription; import rx.android.schedulers.AndroidSchedulers; import rx.functions.Action1; /** * Created by sll on 2016/3/11. */ @PerActivity public class ReportPresenter implements ReportContract.Presenter { private ForumApi mForumApi; @Inject public ReportPresenter(ForumApi forumApi) { mForumApi = forumApi; } private Subscription mSubscription; private ReportContract.View mReportView; public void submitReports(String tid, String pid, String type, String content) { mReportView.showLoading(); mSubscription = mForumApi.submitReports(tid, pid, type, content) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1<BaseData>() { @Override public void call(BaseData result) { mReportView.hideLoading(); if (result.status == 200) { mReportView.reportSuccess(); ToastUtil.showToast("举报成功~"); } else { ToastUtil.showToast("举报失败,请检查网络后重试"); } } }, new Action1<Throwable>() { @Override public void call(Throwable throwable) { mReportView.hideLoading(); ToastUtil.showToast("举报失败,请检查网络后重试"); } }); } @Override public void attachView(@NonNull ReportContract.View view) { mReportView = view; } @Override public void detachView() { if (mSubscription != null && !mSubscription.isUnsubscribed()) { mSubscription.unsubscribe(); } mReportView = null; } }