package com.jaf.biubiu;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.androidquery.callback.AjaxStatus;
import com.androidquery.callback.BitmapAjaxCallback;
import com.jaf.bean.BeanMsgItem;
import com.jaf.bean.BeanNearbyItem;
import com.jaf.bean.BeanRequestTopicQuestionList;
import com.jaf.jcore.Application;
import com.jaf.jcore.BindView;
import com.jaf.jcore.BindableView;
import com.jaf.jcore.Http;
import com.jaf.jcore.HttpCallBack;
import com.jaf.jcore.JacksonWrapper;
import org.json.JSONObject;
/**
* Created by jarrah on 2015/4/21.
*/
public class ViewMsgItem extends BindableView implements View.OnClickListener{
@BindView(id = R.id.msgTypeIcon)
private ImageView mMsgIcon;
@BindView(id = R.id.msgTypeDesc)
private TextView mMsgTypeDesc;
@BindView(id = R.id.time)
private TextView mTime;
@BindView(id = R.id.msgContent)
private TextView mMsgContent;
private BeanMsgItem mData;
private Dialog mDialog;
public ViewMsgItem(Context context) {
super(context);
}
@Override
public void onViewDidLoad() {
setOnClickListener(this);
}
public void setData(BeanMsgItem data) {
mData = data;
mTime.setText(DateUtil.getDiffTime(data.getPubTime() * 1000L));
loadImage(data.getTypePic());
String title = getResources().getString(R.string.noRelText);
String content = getResources().getString(R.string.noRelText);
if (data.getType() == 1) { //reply
title = data.getAns();
content = data.getQuest();
} else if (data.getType() == 2) {// like
title = data.getAnsId() == 0 ? getResources().getString(R.string.qLike) : getResources().getString(R.string.commentLike);
content = data.getAnsId() == 0 ? data.getQuest() : data.getAns();
} else if (data.getType() == 4) {//union
title = data.getIsPass() == 1 ? getResources().getString(R.string.unionPass) : getResources().getString(R.string.unionBlock);
content = data.getUnionName();
} else if (data.getType() == 5) {//comment reply
title = data.getSecAns();
content = data.getAns();
}
mMsgTypeDesc.setText(title);
mMsgContent.setText(content);
}
@Override
public int onLoadViewResource() {
return R.layout.view_msg_item;
}
private void loadImage(String url) {
Application.getInstance().getAQuery().id(mMsgIcon).image(url, false, true, 500, 0, new BitmapAjaxCallback() {
@Override
protected void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status) {
super.callback(url, iv, bm, status);
}
});
}
@Override
public void onClick(View v) {
if (mData.getType() == 1 || mData.getType() == 2 || mData.getType() == 5) {
Http http = new Http();
JSONObject jo = U.buildGetQuestion(mData.getQuestId());
http.url(Constant.API).JSON(jo).post(new HttpCallBack() {
@Override
public void onResponse(JSONObject response) {
super.onResponse(response);
L.dbg("msg response :" + response);
if (response != null && response.optJSONObject("returnData") != null) {
JSONObject returnData = response.optJSONObject("returnData");
BeanNearbyItem beanNearbyItem = JacksonWrapper.json2Bean(returnData, BeanNearbyItem.class);
if (beanNearbyItem != null) {
ActivityDetail.Extra e = new ActivityDetail.Extra();
e.fromNearby = beanNearbyItem;
e.questId = beanNearbyItem.getQuestId();
ActivityDetail.start((android.app.Activity) getContext(), e);
}
} else {
Toast.makeText(getContext(), R.string.network_err, Toast.LENGTH_SHORT).show();
}
}
});
}
if(mData.getType() == 4) {
if(mData.getIsPass() == 1) {
ActivityUnionTopic.Extra e = new ActivityUnionTopic.Extra();
e.topicTitle = mData.getUnionName();
BeanRequestTopicQuestionList bean = U.buildTopicQuestionListArg(mData.getUnionId());
e.fromTopic = bean;
ActivityUnionTopic.start((android.app.Activity) getContext(), e);
} else {
ActivityMyUnion.start((android.app.Activity) getContext());
}
}
}
}