TopicDetailPresenterImpl.java 2.03 KB
Newer Older
konghaorui committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
package com.yidianling.dynamic.topic.topicDetail;

import android.content.Context;

import com.ydl.ydlcommon.mvp.base.SimplePresenter;
import com.yidianling.dynamic.common.net.DynamicApiUtils;
import com.yidianling.dynamic.common.tool.ApiThrowable;
import com.yidianling.dynamic.model.Focus;
import com.yidianling.dynamic.model.TopicDetailBean;


/**
 * Created by Jim on 2017/12/27 0027.
 */

public class TopicDetailPresenterImpl extends SimplePresenter<TopicDetailView> implements ITopicDetailPresenter, ITopicDetailPresenter.ITopicDetailInteracor {

    private TopicDetailInteractor mInteractor;

    public TopicDetailPresenterImpl() {
        mInteractor = new TopicDetailInteractor(this);
    }

    public void getTopicDetail(String topicId) {
        mView.showLoadingView("");
        mInteractor.getTopicDetail(topicId,mView);
    }

    public void focusTopic(String topicId) {
        mView.showLoadingView("");
        mInteractor.focusTopic(topicId,mView);
    }

    //结果回调
    @Override
    public void onTopicDetailDataFetched(TopicDetailBean topicDetail) {
        if (mView != null) {
            mView.hideProgressView();
            mView.hideLoadingView();
            mView.showTopicHeadDetail(topicDetail);
        }
    }


    @Override
    public void onTopicDetailDataFetchFailed(Throwable throwable) {
        mView.showErrorView();
        if (throwable instanceof ApiThrowable) {
            mView.showToast(throwable.getMessage());
        } else {
            DynamicApiUtils.handleError((Context) mView, throwable);
        }
    }

    @Override
    public void onFocusResultFetched(Focus resp) {
        if (mView != null) {
            mView.hideProgressView();
            mView.hideLoadingView();
            mView.showFocusResult(resp);
        }
    }

    @Override
    public void onFocusFailed(Throwable throwable) {
        if (throwable instanceof ApiThrowable) {
            mView.showToast(throwable.getMessage());
        } else {
            DynamicApiUtils.handleError((Context) mView, throwable);
        }
    }
}