package org.cnodejs.android.md.presenter.implement; import android.app.Activity; import android.support.annotation.NonNull; import org.cnodejs.android.md.model.api.ApiClient; import org.cnodejs.android.md.model.api.ApiDefine; import org.cnodejs.android.md.model.api.DefaultCallback; import org.cnodejs.android.md.model.entity.Result; import org.cnodejs.android.md.model.entity.TopicWithReply; import org.cnodejs.android.md.model.storage.LoginShared; import org.cnodejs.android.md.presenter.contract.ITopicPresenter; import org.cnodejs.android.md.ui.view.ITopicView; import okhttp3.Headers; public class TopicPresenter implements ITopicPresenter { private final Activity activity; private final ITopicView topicView; public TopicPresenter(@NonNull Activity activity, @NonNull ITopicView topicView) { this.activity = activity; this.topicView = topicView; } @Override public void getTopicAsyncTask(@NonNull String topicId) { ApiClient.service.getTopic(topicId, LoginShared.getAccessToken(activity), ApiDefine.MD_RENDER).enqueue(new DefaultCallback<Result.Data<TopicWithReply>>(activity) { @Override public boolean onResultOk(int code, Headers headers, Result.Data<TopicWithReply> result) { topicView.onGetTopicOk(result.getData()); return false; } @Override public void onFinish() { topicView.onGetTopicFinish(); } }); } }