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.DefaultCallback;
import org.cnodejs.android.md.model.entity.Result;
import org.cnodejs.android.md.model.storage.LoginShared;
import org.cnodejs.android.md.presenter.contract.ITopicHeaderPresenter;
import org.cnodejs.android.md.ui.view.ITopicHeaderView;
import okhttp3.Headers;
public class TopicHeaderPresenter implements ITopicHeaderPresenter {
private final Activity activity;
private final ITopicHeaderView topicHeaderView;
public TopicHeaderPresenter(@NonNull Activity activity, @NonNull ITopicHeaderView topicHeaderView) {
this.activity = activity;
this.topicHeaderView = topicHeaderView;
}
@Override
public void collectTopicAsyncTask(@NonNull String topicId) {
ApiClient.service.collectTopic(LoginShared.getAccessToken(activity), topicId).enqueue(new DefaultCallback<Result>(activity) {
@Override
public boolean onResultOk(int code, Headers headers, Result result) {
topicHeaderView.onCollectTopicOk();
return false;
}
});
}
@Override
public void decollectTopicAsyncTask(@NonNull String topicId) {
ApiClient.service.decollectTopic(LoginShared.getAccessToken(activity), topicId).enqueue(new DefaultCallback<Result>(activity) {
@Override
public boolean onResultOk(int code, Headers headers, Result result) {
topicHeaderView.onDecollectTopicOk();
return false;
}
});
}
}