package org.cnodejs.android.md.presenter.implement;
import android.app.Activity;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import org.cnodejs.android.md.R;
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.entity.TabType;
import org.cnodejs.android.md.model.storage.LoginShared;
import org.cnodejs.android.md.model.storage.SettingShared;
import org.cnodejs.android.md.presenter.contract.ICreateTopicPresenter;
import org.cnodejs.android.md.ui.view.ICreateTopicView;
import okhttp3.Headers;
public class CreateTopicPresenter implements ICreateTopicPresenter {
private final Activity activity;
private final ICreateTopicView createTopicView;
public CreateTopicPresenter(@NonNull Activity activity, @NonNull ICreateTopicView createTopicView) {
this.activity = activity;
this.createTopicView = createTopicView;
}
@Override
public void createTopicAsyncTask(@NonNull TabType tab, String title, String content) {
if (TextUtils.isEmpty(title) || title.length() < 10) {
createTopicView.onTitleError(activity.getString(R.string.title_empty_error_tip));
} else if (TextUtils.isEmpty(content)) {
createTopicView.onContentError(activity.getString(R.string.content_empty_error_tip));
} else {
if (SettingShared.isEnableTopicSign(activity)) { // 添加小尾巴
content += "\n\n" + SettingShared.getTopicSignContent(activity);
}
createTopicView.onCreateTopicStart();
ApiClient.service.createTopic(LoginShared.getAccessToken(activity), tab, title, content).enqueue(new DefaultCallback<Result.CreateTopic>(activity) {
@Override
public boolean onResultOk(int code, Headers headers, Result.CreateTopic result) {
createTopicView.onCreateTopicOk(result.getTopicId());
return false;
}
@Override
public void onFinish() {
createTopicView.onCreateTopicFinish();
}
});
}
}
}