SelectActionActivity.java 18.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机
                LogUtil.d(TAG, "型号 :" + type);
                if (type == DeviceType.ID_POS.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 (type == DeviceType.New_POS.getValue()) {//10号手持机
                    intent = new Intent(SelectActionActivity.this,IDHandleRSKActivity.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(type == DeviceType.HANDSET.getValue()) {//8号手持机
                    intent = new Intent(SelectActionActivity.this,ScanHeadActivity.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 (type == DeviceType.New_IDPOS.getValue()) {//11 其他手持机
                    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);
                } 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;
    }
}

}