3c2353cd
杜方
1、畅游通核销app源码提交;
|
1
2
3
4
5
6
7
8
9
10
|
package com.ectrip.cyt.ui;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.security.InvalidParameterException;
import java.util.ArrayList;
|
11a1872a
杜方
畅游通标准:新增动态二维码检票
|
11
|
import java.util.Date;
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
12
13
14
15
16
17
18
19
20
21
22
23
|
import java.util.concurrent.atomic.AtomicBoolean;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
24
|
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
25
26
|
import android_serialport_api.SerialPortNewHandset;
|
11a1872a
杜方
畅游通标准:新增动态二维码检票
|
27
28
29
|
import com.ectrip.common.dynamic.code.core.DynamicVerifyCodeTool;
import com.ectrip.common.dynamic.code.exception.DynamicVerifyCodeException;
import com.ectrip.common.dynamic.code.model.DynamicVerifyCodeDecodeResult;
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
30
31
32
33
34
35
36
|
import com.ectrip.cyt.bean.ConfigBean;
import com.ectrip.cyt.config.DevicTool;
import com.ectrip.cyt.config.MyApp;
import com.ectrip.cyt.constant.constant;
import com.ectrip.cyt.db.DbManager;
import com.ectrip.cyt.shield_home.LockLayer.MToast;
import com.ectrip.cyt.utils.AESEncryptor;
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
37
|
import com.ectrip.cyt.utils.Base64;
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
38
|
import com.ectrip.cyt.utils.DesUtil;
|
7d3f774c
杜方
畅游通核销app: 1.修复CYT...
|
39
|
import com.ectrip.cyt.utils.LogUtil;
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
40
41
42
43
44
45
|
import com.ectrip.trips.check.R;
/**
* @author jigo 新的手持机二维码扫描
*/
public class NewHandleScanerActivity extends BaseActivity {
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
46
47
48
49
50
51
52
|
private final String TAG = "qrcode";
protected MyApp mApplication;
protected SerialPortNewHandset mSerialPort;
protected OutputStream mOutputStream;
private InputStream mInputStream;
private ReadThread mReadThread;
private String titleName;
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
53
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
54
55
56
|
private Button scanerBtn;
private View topBack;
private TextView title;
|
df682192
杜方
畅游通核销app: 1.优化扫CY...
|
57
|
private int typeScan;
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
58
|
private AtomicBoolean isStop = new AtomicBoolean(false);
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
59
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
60
61
62
63
|
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_newhandle_scaner);
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
64
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
65
66
|
initView();
init();
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
67
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
68
69
70
71
72
73
|
setpower("/sys/class/gpio/gpio28/value", false); // 给二代证下电
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
setpower("/sys/class/gpio/gpio114/value", true);
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
74
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
// setTitle("Loopback test");
scanerBtn = (Button) findViewById(R.id.scanerBtn);
scanerBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View paramAnonymousView) {
byte[] arrayOfByte = {0x1b, 0x31};
try {
NewHandleScanerActivity.this.mOutputStream
.write(arrayOfByte);
return;
} catch (IOException localIOException) {
localIOException.printStackTrace();
}
}
});
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
90
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
91
92
93
94
95
96
97
98
99
100
101
|
private void initView() {
title = (TextView) findViewById(R.id.title);
topBack = findViewById(R.id.topBack);
topBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
close();
finish();
}
});
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
102
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
103
104
105
106
107
108
109
110
111
|
private void init() {
mApplication = (MyApp) getApplication();
titleName = getIntent().getStringExtra("titleName");
title.setVisibility(View.VISIBLE);
if (titleName != null) {
title.setText(titleName);
} else {
title.setText(R.string.qr_code);
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
112
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
113
114
115
116
|
try {
mSerialPort = DevicTool.getInstance().getSerialPortNewHandset();
mOutputStream = mSerialPort.getOutputStream();
mInputStream = mSerialPort.getInputStream();
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
117
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
118
119
120
121
122
123
124
125
126
127
128
|
/* Create a receiving thread */
mReadThread = new ReadThread();
mReadThread.start();
} catch (SecurityException e) {
DisplayError(R.string.error_security);
} catch (IOException e) {
DisplayError(R.string.error_unknown);
} catch (InvalidParameterException e) {
DisplayError(R.string.error_configuration);
}
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
129
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
130
131
132
133
134
|
public void delay(int i) {
for (int j = 0; j < 1000; j++)
for (; i < 0; i--)
;
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
135
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
136
137
138
|
protected void onDataReceived(final byte[] buffer, final int size) {
runOnUiThread(new Runnable() {
public void run() {
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
139
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
140
141
|
try {
String tempstr = new String(buffer, 0, size);
|
9e9f1eb7
杜方
1、畅游通核销app:新增主界面关...
|
142
|
handleDecode(new String(tempstr.getBytes("GBK"), "GBK").trim());
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
143
144
145
146
147
148
149
150
151
|
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
// mReception.append(new String(buffer, 0, size));
}
});
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
152
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
153
154
155
156
157
158
159
160
161
162
163
164
165
|
/**
* 处理扫描结果
*
* @param result
* @param
*/
public void handleDecode(String result) {
if (result.equals("")) {
MToast(NewHandleScanerActivity.this, getString(R.string.scan_fail),
MToast.LENGTH_SHORT);
} else {
try {
if (result.startsWith("CYT_")) {
|
11a1872a
杜方
畅游通标准:新增动态二维码检票
|
166
|
LogUtil.i(TAG, "result = " + result);
|
df682192
杜方
畅游通核销app: 1.优化扫CY...
|
167
168
169
170
171
172
173
174
|
typeScan = 0;
if (result.contains(",")) {
result = result.substring(result.indexOf("_") + 1, result.indexOf(","));
LogUtil.i(TAG, "resultString = " + result);
} else {
result = result.substring(result.indexOf("_") + 1, result.length());
LogUtil.i(TAG, "resultString1 = " + result);
}
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
175
176
177
178
179
180
|
ArrayList<ConfigBean> beans = DbManager.GetConfigs();
// 畅游通生成的订单ID:
String ec_name = beans.get(0).getEc_signkey();
ec_name = AESEncryptor.decrypt(constant.decrypt, ec_name);
result = DesUtil.decrypt(result, ec_name);
} else if (result.startsWith("TDOS_")) {
|
df682192
杜方
畅游通核销app: 1.优化扫CY...
|
181
|
typeScan = 0;
|
9b537f44
杜方
畅游通核销app: 1.优化扫TD...
|
182
183
184
185
186
187
188
|
if (result.contains(",")) {
result = result.substring(result.indexOf("_") + 1, result.indexOf(","));
LogUtil.i(TAG, "resultString = " + result);
} else {
result = result.substring(result.indexOf("_") + 1, result.length());
LogUtil.i(TAG, "resultString1 = " + result);
}
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
189
190
|
result = new String(Base64.decode(result), "utf-8");
} else if ((result.startsWith("TY_") || (result.startsWith("PMS_")))) {
|
df682192
杜方
畅游通核销app: 1.优化扫CY...
|
191
|
typeScan = 1;
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
192
|
result = result;
|
11a1872a
杜方
畅游通标准:新增动态二维码检票
|
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
|
} else if (result.startsWith("OCP_")) {
typeScan = 0;
result = result;
} else if (result.startsWith("DYV_")) {
try {
DynamicVerifyCodeDecodeResult decodeResult = DynamicVerifyCodeTool.decodeDynamicCode(result);
boolean expired = decodeResult.getExpired();
String staticCode = decodeResult.getStaticCode();
Date expireTime = decodeResult.getExpireTime();
LogUtil.d(TAG, "expired = " + expired);
LogUtil.d(TAG, "staticCode = " + staticCode);
LogUtil.d(TAG, "expireTime = " + expireTime);
if (!expired) {
typeScan = 1;
result = staticCode;
} else {
typeScan = 2;
result = "动态二维码已过有效期";
}
} catch (DynamicVerifyCodeException e) {
typeScan = 2;
LogUtil.d(TAG, "动态核销码异常:" + e.getMessage());
result = e.getMessage();
e.printStackTrace();
}
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
218
|
} else {
|
df682192
杜方
畅游通核销app: 1.优化扫CY...
|
219
|
typeScan = 1;
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
220
221
222
223
224
225
226
227
|
result = result;
}
} catch (Exception e) {
e.printStackTrace();
MToast(NewHandleScanerActivity.this,
getString(R.string.order_id_incorrect),
MToast.LENGTH_SHORT);
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
228
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
229
230
231
232
233
234
235
236
|
Intent intent = new Intent(NewHandleScanerActivity.this,
QRCodeOrderListActivity.class);
intent.putExtra("mode", 1);
intent.putExtra("input_orid", result);
if (result != null) {
MToast(NewHandleScanerActivity.this, result, Toast.LENGTH_SHORT);
}
intent.putExtra("titleName", getString(R.string.show_result));
|
df682192
杜方
畅游通核销app: 1.优化扫CY...
|
237
|
intent.putExtra("typeScan", typeScan);
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
238
239
240
241
242
|
startActivity(intent);
finish();
}
finish();
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
243
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
|
private void setpower(String path, boolean on) {
File file;
FileWriter fr;
try {
file = new File(path);
fr = new FileWriter(file);
if (on)
fr.write("1");
else
fr.write("0");
fr.close();
} catch (IOException e) {
Log.e(TAG, e.toString());
}
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
259
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
260
261
262
263
264
265
|
@Override
public void onBackPressed() {
super.onBackPressed();
close();
this.finish();
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
266
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
267
268
269
270
271
|
@Override
protected void onResume() {
super.onResume();
setpower("/sys/class/gpio/gpio114/value", true);
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
272
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
273
|
private class ReadThread extends Thread {
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
274
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
|
@Override
public void run() {
super.run();
while (!isInterrupted() && !isStop.get()) {
int size;
try {
byte[] buffer = new byte[64];
if (mInputStream == null)
return;
size = mInputStream.read(buffer);
if (size > 0) {
onDataReceived(buffer, size);
}
} catch (IOException e) {
e.printStackTrace();
return;
}
}
}
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
295
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
296
297
298
299
300
301
302
303
304
305
|
@Override
public void onPause() {
// bContinue = false;
try {
Thread.sleep(600);
} catch (InterruptedException e) {
}
// closeDrive();
super.onPause();
setpower("/sys/class/gpio/gpio114/value", false);
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
306
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
307
|
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
308
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
|
private void close() {
isStop.set(true);
if (mOutputStream != null) {
try {
mOutputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (mOutputStream != null) {
try {
mOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (mSerialPort != null) {
mSerialPort.close();
}
if (mReadThread != null)
mReadThread.interrupt();
DevicTool.getInstance().closeSerialPortNewHandset();
mSerialPort = null;
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
334
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
335
336
337
338
339
|
@Override
protected void onDestroy() {
close();
super.onDestroy();
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
340
|
|
2707d233
杜方
1、畅游通核销app;修改扫二维码...
|
341
342
343
344
345
346
347
348
349
350
351
|
private void DisplayError(int resourceId) {
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle("Error");
b.setMessage(resourceId);
b.setPositiveButton("OK", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
b.show();
}
|
3c2353cd
杜方
1、畅游通核销app源码提交;
|
352
|
}
|