package com.partynetwork.iparty.site;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.baidu.mobstat.StatService;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import com.partynetwork.dataprovider.DataProvider.IJsonResultListener;
import com.partynetwork.dataprovider.json.NetworkEntity;
import com.partynetwork.dataprovider.json.struct.Public_feedbackRequest;
import com.partynetwork.dataprovider.util.T;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.app.AppContext;
import com.partynetwork.myview.mytoast.LoadingDialog;
import com.partynetwork.myview.mytoast.OkPopup;
public class SiteFeedbackActivity extends Activity implements
IJsonResultListener {
/**
* 返回按钮
*/
@ViewInject(R.id.menu_head_left)
private LinearLayout backBtn;
/**
* 页面标题
*/
@ViewInject(R.id.menu_head_middle_text)
private TextView headTitle;
/**
* 举报的内容
*/
@ViewInject(R.id.report_content)
private EditText reportContentEt;
/**
* 建议
*/
@ViewInject(R.id.proposal)
private TextView proposal;
/**
* 咨询
*/
@ViewInject(R.id.consulting)
private TextView consulting;
/**
* 投诉
*/
@ViewInject(R.id.complaints)
private TextView complaints;
/**
* 发布进度提示框
*/
private LoadingDialog dialog;
/** 消息提示框 */
private OkPopup mOkPopup;
/*** 存放TextView的链表,给之后单选效果使用 */
private List<TextView> chooseList = new ArrayList<TextView>();
private int chooseNumber = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_feedback);
ViewUtils.inject(this);
init();
}
/**
* 初始化
*/
private void init() {
chooseList.add(proposal);
chooseList.add(consulting);
chooseList.add(complaints);
mOkPopup = new OkPopup(this);
dialog = new LoadingDialog(this, "提交中……");
initData();
}
/**
* 初始化数据
*/
private void initData() {
}
/**
* 选择投诉理由操作
*
* @param string
*/
private void choose(int position) {
chooseNumber = position;
for (int i = 0; i < chooseList.size(); i++) {
int res = R.drawable.contacts_normal;
if (chooseNumber == i) {
res = R.drawable.contacts_selected;
} else {
res = R.drawable.contacts_normal;
}
Drawable left = this.getResources().getDrawable(res);
left.setBounds(0, 0, left.getMinimumWidth(),
left.getMinimumHeight());
chooseList.get(i).setCompoundDrawables(left, null, null, null);
}
}
/**
* 事件监听
*
* @param view
*/
@OnClick({ R.id.menu_head_left, R.id.menu_head_right, R.id.proposal,
R.id.consulting, R.id.complaints })
public void onClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
// 关闭
finish();
break;
case R.id.menu_head_right:
// 提交
sendRequest();
break;
case R.id.proposal:
// 建议
choose(0);
break;
case R.id.consulting:
// 咨询
choose(1);
break;
case R.id.complaints:
// 投诉
choose(2);
break;
default:
break;
}
}
/**
* 发送意见反馈请求
*/
private void sendRequest() {
String content = reportContentEt.getText().toString();
if (!content.equals("")) {
Public_feedbackRequest request = new Public_feedbackRequest();
request.setContent(content);
request.setFeedbackType(chooseNumber);
request.setUserId(AppContext.getInstance().getLoginUid());
AppContext.getInstance().getmDataProvider()
.getJsonFromNetwork(request, this);
} else {
mOkPopup.setTitle("请输入内容后再反馈你的建议!");
mOkPopup.showAtLocation(headTitle);
}
}
@Override
public void onNetworkRequest() {
dialog.show();
}
@Override
public void onResultSuccess(NetworkEntity entity) {
if (entity.getRequest().getAction()
.equals(new Public_feedbackRequest().getAction())) {
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
T.showTips(this, R.drawable.tips_smile,
"感谢您的意见反馈,我们会尽快落实。您的支持就是我们进步的最大动力");
this.finish();
}
}
@Override
public void onResultFail(String result) {
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
T.showTips(this, R.drawable.tips_error, result);
}
@Override
protected void onResume() {
StatService.onResume(this);
super.onResume();
}
@Override
protected void onPause() {
StatService.onPause(this);
super.onPause();
}
}