SelectActionActivity.java 11.5 KB
package com.ectrip.cyt.ui;

import java.util.ArrayList;

import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.TextView;

import com.ectrip.cyt.adapter.GridDataAdapter;
import com.ectrip.cyt.bean.ImageInfo;
import com.ectrip.cyt.config.MyApp;
import com.ectrip.cyt.constant.DeviceType;
import com.ectrip.cyt.constant.Module;
import com.ectrip.cyt.constant.SelectAction;
import com.ectrip.cyt.utils.ActivitiesManager;
import com.ectrip.cyt.utils.CommetryUtils;
import com.ectrip.cyt.utils.LogUtil;
import com.ectrip.cyt.utils.SharedPreferences2Obj;
import com.ectrip.trips.check.R;
import com.fri.idcread.idcread;

/**
 *
 * 检票操作 选择页面,包含扫二维码 身份证 串码
 *
 * @author jigo
 */
public class SelectActionActivity extends BaseActivity implements
		OnItemClickListener {
	public final String TAG = "MainActivity";
	private GridView gridView1;
	private GridDataAdapter adapter;
	private String titleName;

	private Integer Select; // 选择模式 检票 补票 查票
	private Integer type; // 类型

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.app_selection_action);
		ActivitiesManager.getInstance().pushActivity(this);
		initView();
		init();
	}

	private void initView() {
		if (Select == null) {
			Select = SharedPreferences2Obj
					.getInstance(SelectActionActivity.this)
					.setName("SelectAction").getObject("Select", Integer.class);
			titleName = SharedPreferences2Obj
					.getInstance(SelectActionActivity.this)
					.setName("SelectAction")
					.getObject("titleName", String.class);
		}

		if (titleName != null) {
			((TextView) findViewById(R.id.title)).setText(titleName);
		} else {
			((TextView) findViewById(R.id.title)).setText(R.string.operational);
		}

		((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE);

		gridView1 = (GridView) findViewById(R.id.gridView1);
		LogUtil.i(TAG, "==data==" + initData().size());
		gridView1.setNumColumns(2);
		adapter = new GridDataAdapter(SelectActionActivity.this, initData());
		gridView1.setAdapter(adapter);
		gridView1.setOnItemClickListener(this);

		findViewById(R.id.topBack).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				finish();
			}
		});
	}

	private void init() {
		type = SharedPreferences2Obj.getInstance(SelectActionActivity.this)
				.setName("MachineType").getObject("type", Integer.class);
	}

	private ArrayList<ImageInfo> initData() {
		ArrayList<ImageInfo> data = new ArrayList<ImageInfo>();
		data.add(new ImageInfo(getString(R.string.select_action_phone),
				R.drawable.phone_selector, R.drawable.icon_bg02, Module.PHONE));
		data.add(new ImageInfo(getString(R.string.scan_qr_code),
				R.drawable.scan_selector, R.drawable.icon_bg02, Module.SCAN_QR));
		data.add(new ImageInfo(getString(R.string.id_card), R.drawable.id_selector,
				R.drawable.icon_bg02, Module.IDCARD));
		data.add(new ImageInfo(getString(R.string.select_action_order_id),
				R.drawable.order_selector, R.drawable.icon_bg02, Module.OREDR));
		return data;
	}


	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if (keyCode == KeyEvent.KEYCODE_BACK) {
			try {
				CommetryUtils.releaseCommery(this);
			} catch (Exception e) {
				e.printStackTrace();
			}
			finish();
		}
		return false;
	}

	@Override
	public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
		MyApp.getInstance().setCheckType(-1);
		Intent intent = null;
		ImageInfo obj = (ImageInfo) view.getTag(R.id.imageView1);
		switch (obj.getTag()) {
			case SCAN_QR:// 扫二维码
				MyApp.getInstance().setCheckType(0);
				if (type == DeviceType.GENERAL_POS.getValue()
						|| type == DeviceType.ID_POS.getValue()
						|| type == DeviceType.SMALL_POS.getValue()) {
					intent = new Intent(SelectActionActivity.this,
							ScanerOrderActivity.class);
					if (Select != null) {
						if (Select == SelectAction.Check.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.check_scan_code));
						} else if (Select == SelectAction.Reprint.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.repriint_scan_code));
						} else if (Select == SelectAction.Query.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.query_scan_code));
						}
					} else {
						intent.putExtra("titleName",
								getString(R.string.scan_qr_code));
					}
					startActivity(intent);
				} else if (type == DeviceType.BASEWIN_REB_POS.getValue()) {
					//盛本的红色pos机
					Intent intent3 = new Intent(SelectActionActivity.this,
							PhomeScanerOrderActivity.class);
					if (Select != null) {
						if (Select == SelectAction.Check.getValue()) {
							intent3.putExtra("titleName",
									getString(R.string.check_scan_code));
						} else if (Select == SelectAction.Reprint.getValue()) {
							intent3.putExtra("titleName",
									getString(R.string.repriint_scan_code));
						} else if (Select == SelectAction.Query.getValue()) {
							intent3.putExtra("titleName",
									getString(R.string.query_scan_code));
						}
					} else {
						intent3.putExtra("titleName",
								getString(R.string.scan_qr_code));
					}
					startActivity(intent3);

				}else if (type == DeviceType.HANDSET.getValue()) { // 手持机 二维码功能
					// idcread.setpower("/sys/class/gpio/gpio28/value", false);
					// idcread.setpower("/sys/class/gpio/gpio114/value",
					// true);//
					// 给二代证下电
					// MToast(SelectActionActivity.this,
					// "使用其他功能!",MToast.LENGTH_SHORT);
					Intent intent2 = new Intent(SelectActionActivity.this,
							NewHandleScanerActivity.class);
					if (Select != null) {
						if (Select == SelectAction.Check.getValue()) {
							intent2.putExtra("titleName",
									getString(R.string.check_scan_code));
						} else if (Select == SelectAction.Reprint.getValue()) {
							intent2.putExtra("titleName",
									getString(R.string.repriint_scan_code));
						} else if (Select == SelectAction.Query.getValue()) {
							intent2.putExtra("titleName",
									getString(R.string.query_scan_code));
						}
					} else {
						intent2.putExtra("titleName",
								getString(R.string.scan_qr_code));
					}
					startActivity(intent2);
				} else {
					intent = new Intent(SelectActionActivity.this,
							PhomeScanerOrderActivity.class);
					if (Select != null) {
						if (Select == SelectAction.Check.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.check_scan_code));
						} else if (Select == SelectAction.Reprint.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.repriint_scan_code));
						} else if (Select == SelectAction.Query.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.query_scan_code));
						}
					} else {
						intent.putExtra("titleName",
								getString(R.string.scan_qr_code));
					}
					startActivity(intent);
				}
				break;
			case CODE:// 验证码
				intent = new Intent(SelectActionActivity.this,
						InputCodeActivity.class);
				if (Select != null) {
					if (Select == SelectAction.Check.getValue()) {
						intent.putExtra("titleName",
								getString(R.string.check_captcha));
					} else if (Select == SelectAction.Reprint.getValue()) {
						intent.putExtra("titleName",
								getString(R.string.reprint_captcha));
					} else if (Select == SelectAction.Query.getValue()) {
						intent.putExtra("titleName",
								getString(R.string.query_captcha));
					}
				} else {
					intent.putExtra("titleName", getString(R.string.captcha));
				}
				startActivity(intent);
				break;
			case IDCARD:// 身份证
				// 判断是不是039b移动POS机
				if (type == DeviceType.ID_POS.getValue()
						|| type == DeviceType.New_IDPOS.getValue()) {
					intent = new Intent(SelectActionActivity.this,
							SerialIdCardPortActivity.class);
					if (Select != null) {
						if (Select == SelectAction.Check.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.check_idcard));
						} else if (Select == SelectAction.Reprint.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.reprint_idcard));
						} else if (Select == SelectAction.Query.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.query_idcard));
						}
					} else {
						intent.putExtra("titleName", getString(R.string.idcard));
					}
					startActivity(intent);
				} else if (idcread.isIdcard("/dev/ttySAC1")) {
					// xxx = "打开手持机串口成功!";
					intent = new Intent(SelectActionActivity.this,
							ScanerIdCardActivity.class);
					if (Select != null) {
						if (Select == SelectAction.Check.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.check_idcard));
						} else if (Select == SelectAction.Reprint.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.reprint_idcard));
						} else if (Select == SelectAction.Query.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.query_idcard));
						}
					} else {
						intent.putExtra("titleName", getString(R.string.idcard));
					}
					startActivity(intent);
				} else {
					// xxx = "打开手持机串口失败!";
					intent = new Intent(SelectActionActivity.this,
							InputIdCardActivity.class);
					if (Select != null) {
						if (Select == SelectAction.Check.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.check_idcard));
						} else if (Select == SelectAction.Reprint.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.reprint_idcard));
						} else if (Select == SelectAction.Query.getValue()) {
							intent.putExtra("titleName",
									getString(R.string.query_idcard));
						}
					} else {
						intent.putExtra("titleName", getString(R.string.idcard));
					}
					startActivity(intent);
				}
				break;
			case PHONE:// 手机号
				intent = new Intent(SelectActionActivity.this,
						InputPhoneActivity.class);
				if (Select != null) {
					if (Select == SelectAction.Check.getValue()) {
						intent.putExtra("titleName",
								getString(R.string.check_phone));
					} else if (Select == SelectAction.Reprint.getValue()) {
						intent.putExtra("titleName",
								getString(R.string.reprint_phone));
					} else if (Select == SelectAction.Query.getValue()) {
						intent.putExtra("titleName",
								getString(R.string.query_phone));
					}
				} else {
					intent.putExtra("titleName", getString(R.string.phone));
				}
				startActivity(intent);
				break;
			case OREDR:// 订单号
				intent = new Intent(SelectActionActivity.this,
						InputOridActivity.class);
				if (Select != null) {
					if (Select == SelectAction.Check.getValue()) {
						intent.putExtra("titleName",
								getString(R.string.check_order_id));
					} else if (Select == SelectAction.Reprint.getValue()) {
						intent.putExtra("titleName",
								getString(R.string.reprint_order_id));
					} else if (Select == SelectAction.Query.getValue()) {
						intent.putExtra("titleName",
								getString(R.string.query_order_id));
					}
				} else {
					intent.putExtra("titleName", getString(R.string.orderid));
				}
				startActivity(intent);
				break;
//		case STATISTIC:
//			intent = new Intent(SelectActionActivity.this,
//					StatisticsActivity.class);
//			intent.putExtra("titleName", getString(R.string.statistic));
//			startActivity(intent);
//			break;
		}
	}

}