/*
* Copyright (c) 2016 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
* All Rights Reserved.
*/
package me.zhanghai.android.douya.broadcast.content;
import android.content.Context;
import com.android.volley.VolleyError;
import me.zhanghai.android.douya.R;
import me.zhanghai.android.douya.content.ResourceWriter;
import me.zhanghai.android.douya.eventbus.BroadcastCommentSendErrorEvent;
import me.zhanghai.android.douya.eventbus.BroadcastCommentSentEvent;
import me.zhanghai.android.douya.eventbus.EventBusUtils;
import me.zhanghai.android.douya.network.Request;
import me.zhanghai.android.douya.network.api.ApiError;
import me.zhanghai.android.douya.network.api.ApiRequests;
import me.zhanghai.android.douya.network.api.info.apiv2.Comment;
import me.zhanghai.android.douya.util.LogUtils;
import me.zhanghai.android.douya.util.ToastUtils;
class SendBroadcastCommentWriter extends ResourceWriter<SendBroadcastCommentWriter, Comment> {
private long mBroadcastId;
private String mComment;
SendBroadcastCommentWriter(long broadcastId, String comment,
SendBroadcastCommentManager manager) {
super(manager);
mBroadcastId = broadcastId;
mComment = comment;
}
public long getBroadcastId() {
return mBroadcastId;
}
public String getComment() {
return mComment;
}
@Override
protected Request<Comment> onCreateRequest() {
return ApiRequests.newSendBroadcastCommentRequest(mBroadcastId, mComment);
}
@Override
public void onResponse(Comment response) {
ToastUtils.show(R.string.broadcast_send_comment_successful, getContext());
EventBusUtils.postAsync(new BroadcastCommentSentEvent(mBroadcastId, response, this));
stopSelf();
}
@Override
public void onErrorResponse(VolleyError error) {
LogUtils.e(error.toString());
Context context = getContext();
ToastUtils.show(context.getString(R.string.broadcast_send_comment_failed_format,
ApiError.getErrorString(error, context)), context);
EventBusUtils.postAsync(new BroadcastCommentSendErrorEvent(mBroadcastId, this));
stopSelf();
}
}