package com.partynetwork.iparty.scanqr;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.baidu.mobstat.StatService;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.partynetwork.dataprovider.DataProvider.IJsonResultListener;
import com.partynetwork.dataprovider.json.NetworkEntity;
import com.partynetwork.dataprovider.json.struct.Public_scanOrderRequest;
import com.partynetwork.dataprovider.json.struct.Public_scanOrderResponse;
import com.partynetwork.dataprovider.util.StringUtil;
import com.partynetwork.dataprovider.util.T;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.R.color;
import com.partynetwork.iparty.app.AppContext;
import com.partynetwork.iparty.flipmenu.BaseSlidingPage;
import com.partynetwork.iparty.helper.IntentHelper;
@SuppressLint("ValidFragment")
public class CapturePage extends BaseSlidingPage implements
IJsonResultListener, OnClickListener {
/** 上下文 */
private Activity mActivity;
/**
* 返回图标
*/
private ImageView backBtn;
/**
* 确定按钮
*/
private RelativeLayout rightBtn;
/**
* 页面标题
*/
private TextView headTitle;
/**
* 确定的文本框
*/
private TextView rightTv;
/**
* 姓名
*/
private EditText name;
public CapturePage(SlidingMenu menu) {
super(menu);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mActivity = getActivity();
init();
}
/**
* 初始化方法
*/
private void init() {
initView();
headTitle.setText("手动输入");
name.setHint("请输入参加验证码");
backBtn.setImageResource(R.drawable.menu_head_flip);
name.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
}
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
}
public void afterTextChanged(Editable s) {
if (0 < s.toString().length()) {
name.setTextColor(Color.BLACK);
name.setBackgroundResource(R.drawable.stroke_single_select);
rightBtn.setClickable(true);
rightTv.setTextColor(mActivity.getResources().getColor(
R.color.blue_text));
} else {
name.setTextColor(color.lightgray);
name.setBackgroundResource(R.drawable.stroke_single);
rightBtn.setClickable(false);
rightTv.setTextColor(mActivity.getResources().getColor(
R.color.gray));
}
}
});
}
/**
*
*/
private void initView() {
backBtn = (ImageView) mActivity.findViewById(R.id.menu_head_left_iv);
rightBtn = (RelativeLayout) mActivity
.findViewById(R.id.menu_head_right);
rightBtn.setOnClickListener(this);
headTitle = (TextView) mActivity
.findViewById(R.id.menu_head_middle_text);
rightTv = (TextView) mActivity.findViewById(R.id.menu_head_right_tv);
name = (EditText) mActivity.findViewById(R.id.name_et);
mActivity.findViewById(R.id.menu_head_left).setOnClickListener(this);
mActivity.findViewById(R.id.scan_tv).setOnClickListener(this);
}
/**
* 事件监听
*
* @param view
*/
public void onClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
if (slidingMenu == null) {
return;
}
if (slidingMenu.isMenuShowing()) {
slidingMenu.showContent();
} else {
slidingMenu.showMenu();
}
break;
case R.id.menu_head_right:
// 确定
sendRequest(StringUtil.checkEditText(name));
name.setText("");
break;
case R.id.scan_tv:
// 启动扫描
IntentHelper.goCaptureActivity(mActivity);
break;
default:
break;
}
}
/**
* 验证验证码
*
* @param str
*/
private void sendRequest(String str) {
Public_scanOrderRequest request = new Public_scanOrderRequest();
request.setUserId(AppContext.getInstance().getLoginUid());
request.setCaptcha(str);
AppContext.getInstance().getmDataProvider()
.getJsonFromNetwork(request, this);
}
public void onNetworkRequest() {
// TODO 自动生成的方法存根
}
public void onResultSuccess(NetworkEntity entity) {
if (entity.getRequest().getAction()
.equals(new Public_scanOrderRequest().getAction())) {
Public_scanOrderResponse response = (Public_scanOrderResponse) entity
.getResponse();
IntentHelper.goOrderInfoActivity(mActivity, response.getDetails()
.getOrderId());
}
}
public void onResultFail(String result) {
T.showLong(mActivity, result);
}
@Override
protected int initPage() {
return R.layout.site_info_scan;
}
/**
* 刷新界面
*/
@Override
public void onResume() {
super.onResume();
StatService.onPageStart(mActivity, "CapturePage");
}
@Override
public void onPause() {
super.onPause();
StatService.onPageEnd(mActivity, "CapturePage");
}
}