fix: decode base64-encoded file content
This commit is contained in:
1 parent
00d75e39f5
commit
36df8ff7b4
1 file changed
+384
-117
@@ -1,117 +1,384 @@
|
|||||||
cGFja2FnZSBhbmRyb2lkLnNlcmlhbHBvcnQubWFuYWdlcjsKCmltcG9ydCBhbmRyb2lkLmNvbnRl
|
package android.serialport.manager;
|
||||||
bnQuQ29udGV4dDsKaW1wb3J0IGFuZHJvaWQuc2VyaWFscG9ydC5tb2RlbC5QcmludGVyUmVxdWVz
|
|
||||||
dE1vZGVsOwppbXBvcnQgYW5kcm9pZC5zZXJpYWxwb3J0Lm1vZGVsLlByaW50ZXJSZXNwb25zZU1v
|
import android.content.Context;
|
||||||
ZGVsOwppbXBvcnQgYW5kcm9pZC5zZXJpYWxwb3J0LnV0aWxzLkxvZ2dlcjsKaW1wb3J0IGFuZHJv
|
import android.serialport.model.PrinterRequestModel;
|
||||||
aWQudXRpbC5Mb2c7CgpwdWJsaWMgY2xhc3MgVWFydFByb3RvY29sTWFuYWdlciB7CiAgICBwcml2
|
import android.serialport.model.PrinterResponseModel;
|
||||||
YXRlIGZpbmFsIENvbnRleHQgbUNvbnRleHQ7CiAgICBwcml2YXRlIHN0YXRpYyBVYXJ0UHJvdG9j
|
import android.serialport.utils.Logger;
|
||||||
b2xNYW5hZ2VyIG1VYXJ0UHJvdG9jb2xNYW5hZ2VyOwoKICAgIC8vR2V0dGVyL1NldHRlciBWYXJp
|
import android.util.Log;
|
||||||
YWJsZXMKICAgIHByaXZhdGUgZmluYWwgUHJpbnRlclJlcXVlc3RNb2RlbCBtUHJpbnRlclJlcXVl
|
|
||||||
c3RNb2RlbDsKCiAgICAvL1RvdGFsIGJ5dGVzCiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGludCBU
|
public class UartProtocolManager {
|
||||||
T1RBTF9CWVRFUyA9IDY0OwoKICAgIC8vVGFzayBJZHMKICAgIHB1YmxpYyBzdGF0aWMgZmluYWwg
|
private final Context mContext;
|
||||||
aW50IFVBUlRfUFJJTlRfUkVRVUVTVF9QUk9DRVNTID0gMTAxOwogICAgcHVibGljIHN0YXRpYyBm
|
private static UartProtocolManager mUartProtocolManager;
|
||||||
aW5hbCBpbnQgVUFSVF9TVEFSVF9QUk9DRVNTID0gMTAyOwogICAgcHVibGljIHN0YXRpYyBmaW5h
|
|
||||||
bCBpbnQgVUFSVF9IRUFSVF9CRUFUX1BST0NFU1MgPSAxMDM7CiAgICBwdWJsaWMgc3RhdGljIGZp
|
//Getter/Setter Variables
|
||||||
bmFsIGludCBVQVJUX0lNQUdFX0lORk9fUFJPQ0VTUyA9IDEwNDsKICAgIHB1YmxpYyBzdGF0aWMg
|
private final PrinterRequestModel mPrinterRequestModel;
|
||||||
ZmluYWwgaW50IFVBUlRfR09fUFJJTlRfUFJPQ0VTUyA9IDEwNTsKICAgIHB1YmxpYyBzdGF0aWMg
|
|
||||||
ZmluYWwgaW50IFVBUlRfRU5EX09GX1BSSU5UX1BST0NFU1MgPSAxMDY7CiAgICBwdWJsaWMgc3Rh
|
//Total bytes
|
||||||
dGljIGZpbmFsIGludCBVQVJUX1BSSU5URVJfQ09PTElOR19QUk9DRVNTID0gMTA3OwogICAgcHVi
|
public static final int TOTAL_BYTES = 64;
|
||||||
bGljIHN0YXRpYyBmaW5hbCBpbnQgVUFSVF9QUklOVF9NT1JFX1BST0NFU1MgPSAxMDg7CiAgICBw
|
|
||||||
dWJsaWMgc3RhdGljIGZpbmFsIGludCBVQVJUX0FTS19GV19WRVJTSU9OX1BST0NFU1MgPSAxMDk7
|
//Task Ids
|
||||||
CiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGludCBVQVJUX1BSSU5UX1JFU1RBUlRfUFJPQ0VTUyA9
|
public static final int UART_PRINT_REQUEST_PROCESS = 101;
|
||||||
IDIyMjsKCiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGludCBVQVJUX0ZXX1VQR1JBREVfUkVRVUVT
|
public static final int UART_START_PROCESS = 102;
|
||||||
VF9QUk9DRVNTID0gMjAxOwogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgVUFSVF9GV19HT19V
|
public static final int UART_HEART_BEAT_PROCESS = 103;
|
||||||
UEdSQURFX1BST0NFU1MgPSAyMDI7CiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGludCBVQVJUX0ZX
|
public static final int UART_IMAGE_INFO_PROCESS = 104;
|
||||||
X0dPX1VQR1JBREVfQUNLX1BST0NFU1MgPSAyMDM7CiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGlu
|
public static final int UART_GO_PRINT_PROCESS = 105;
|
||||||
dCBVQVJUX0ZXX0VORF9PRl9VUEdSQURFX1BST0NFU1MgPSAyMDQ7CiAgICBwdWJsaWMgc3RhdGlj
|
public static final int UART_END_OF_PRINT_PROCESS = 106;
|
||||||
IGZpbmFsIGludCBVQVJUX0ZXX0VORF9PRl9VUEdSQURFX0FDS19QUk9DRVNTID0gMjA1OwoKICAg
|
public static final int UART_PRINTER_COOLING_PROCESS = 107;
|
||||||
IC8vUHJpbnQgU1MgQ29tbWFuZAogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgVUFSVF9TTUFS
|
public static final int UART_PRINT_MORE_PROCESS = 108;
|
||||||
VF9TSEVFVF9QUklOVF9QUk9DRVNTID0gMzAxOwogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQg
|
public static final int UART_ASK_FW_VERSION_PROCESS = 109;
|
||||||
VUFSVF9TTUFSVF9TSEVFVF9FTkRfT0ZfUFJPQ0VTUyA9IDMwMjsKCiAgICAvL0ZhY3RvcnkgTW9k
|
public static final int UART_PRINT_RESTART_PROCESS = 222;
|
||||||
ZQogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgVUFSVF9GTV9SRVFVRVNUX0NNRF9QUk9DRVNT
|
|
||||||
ID0gMzAxOwogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgVUFSVF9GTV9SRVFVRVNUX0FDS19Q
|
public static final int UART_FW_UPGRADE_REQUEST_PROCESS = 201;
|
||||||
Uk9DRVNTID0gMzAyOwogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgVUFSVF9GTV9CVVJOX0lO
|
public static final int UART_FW_GO_UPGRADE_PROCESS = 202;
|
||||||
X0NNRF9QUk9DRVNTID0gMzAzOwogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgVUFSVF9GTV9C
|
public static final int UART_FW_GO_UPGRADE_ACK_PROCESS = 203;
|
||||||
VVJOX0lOX0FDS19QUk9DRVNTID0gMzA0OwogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgVUFS
|
public static final int UART_FW_END_OF_UPGRADE_PROCESS = 204;
|
||||||
VF9GTV9DQU1FUkFfVEVTVF9DTURfUFJPQ0VTUyA9IDMwNTsKICAgIHB1YmxpYyBzdGF0aWMgZmlu
|
public static final int UART_FW_END_OF_UPGRADE_ACK_PROCESS = 205;
|
||||||
YWwgaW50IFVBUlRfRk1fQ0FNRVJBX1RFU1RfQUNLX1BST0NFU1MgPSAzMDY7CiAgICBwdWJsaWMg
|
|
||||||
c3RhdGljIGZpbmFsIGludCBVQVJUX0ZNX0ZRQ19DTURfUFJPQ0VTUyA9IDMwNzsKICAgIHB1Ymxp
|
//Print SS Command
|
||||||
YyBzdGF0aWMgZmluYWwgaW50IFVBUlRfRk1fRlFDX0FDS19QUk9DRVNTID0gMzA4OwogICAgcHVi
|
public static final int UART_SMART_SHEET_PRINT_PROCESS = 301;
|
||||||
bGljIHN0YXRpYyBmaW5hbCBpbnQgVUFSVF9GTV9TSElQUElOR19DTURfUFJPQ0VTUyA9IDMwOTsK
|
public static final int UART_SMART_SHEET_END_OF_PROCESS = 302;
|
||||||
ICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgaW50IFVBUlRfRk1fU0hJUFBJTkdfQUNLX1BST0NFU1Mg
|
|
||||||
PSAzMTA7CiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGludCBVQVJUX0ZNX1ZFUl9BU0tfQ01EX1BS
|
//Factory Mode
|
||||||
T0NFU1MgPSAzMTE7CiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGludCBVQVJUX0ZNX1ZFUl9BU0tf
|
public static final int UART_FM_REQUEST_CMD_PROCESS = 301;
|
||||||
QUNLX1BST0NFU1MgPSAzMTI7CiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGludCBVQVJUX0ZNX1JF
|
public static final int UART_FM_REQUEST_ACK_PROCESS = 302;
|
||||||
U0VUX0NNRF9QUk9DRVNTID0gMzEzOwogICAgcHVibGljIHN0YXRpYyBmaW5hbCBpbnQgVUFSVF9G
|
public static final int UART_FM_BURN_IN_CMD_PROCESS = 303;
|
||||||
TV9SRVNFVF9BQ0tfUFJPQ0VTUyA9IDMxNDsKCgogICAgLy9EZWZhdWx0IGJ5dGUKICAgIHB1Ymxp
|
public static final int UART_FM_BURN_IN_ACK_PROCESS = 304;
|
||||||
YyBzdGF0aWMgZmluYWwgaW50IERFRkFVTFRfQllURSA9IDB4MDA7CiAgICBwdWJsaWMgc3RhdGlj
|
public static final int UART_FM_CAMERA_TEST_CMD_PROCESS = 305;
|
||||||
IGZpbmFsIGludCBTVEFSVF9DT0RFX09ORSA9IDB4MUI7CiAgICBwdWJsaWMgc3RhdGljIGZpbmFs
|
public static final int UART_FM_CAMERA_TEST_ACK_PROCESS = 306;
|
||||||
IGludCBTVEFSVF9DT0RFX1RXTyA9IDB4MkE7CiAgICBwdWJsaWMgc3RhdGljIGZpbmFsIGludCBT
|
public static final int UART_FM_FQC_CMD_PROCESS = 307;
|
||||||
VEFSVF9DT0RFX1RIUkVFID0gMHg0MzsKICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgaW50IFNUQVJU
|
public static final int UART_FM_FQC_ACK_PROCESS = 308;
|
||||||
X0NPREVfRk9VUiA9IDB4NDE7CgoKCiAgICBwcml2YXRlIFVhcnRQcm90b2NvbE1hbmFnZXIoQ29u
|
public static final int UART_FM_SHIPPING_CMD_PROCESS = 309;
|
||||||
dGV4dCBjb250ZXh0LCBCdWlsZGVyIGJ1aWxkZXIpIHsKICAgICAgICB0aGlzLm1Db250ZXh0ID0g
|
public static final int UART_FM_SHIPPING_ACK_PROCESS = 310;
|
||||||
Y29udGV4dDsKICAgICAgICBtUHJpbnRlclJlcXVlc3RNb2RlbCA9IG5ldyBQcmludGVyUmVxdWVz
|
public static final int UART_FM_VER_ASK_CMD_PROCESS = 311;
|
||||||
dE1vZGVsKCkuc2V0UHJvY2Vzc1Rhc2tJRChidWlsZGVyLmdldE1vZGVsKCkuZ2V0UHJvY2Vzc1Rh
|
public static final int UART_FM_VER_ASK_ACK_PROCESS = 312;
|
||||||
c2tJRCgpKS5zZXRQYXlsb2FkKGJ1aWxkZXIuZ2V0TW9kZWwoKS5nZXRQYXlsb2FkKCkpLnNldE51
|
public static final int UART_FM_RESET_CMD_PROCESS = 313;
|
||||||
bWJlck9mQ29waWVzKGJ1aWxkZXIuZ2V0TW9kZWwoKS5nZXROdW1iZXJPZkNvcGllcygpKS5zZXRG
|
public static final int UART_FM_RESET_ACK_PROCESS = 314;
|
||||||
aWxlTmFtZTEoYnVpbGRlci5nZXRNb2RlbCgpLmdldEZpbGVOYW1lMSgpKS5zZXRGaWxlTmFtZTMo
|
|
||||||
YnVpbGRlci5nZXRNb2RlbCgpLmdldEZpbGVOYW1lMygpKS5zZXRGaWxlTmFtZTQoYnVpbGRlci5n
|
|
||||||
ZXRNb2RlbCgpLmdldEZpbGVOYW1lNCgpKS5zZXRGaWxlTmFtZTUoYnVpbGRlci5nZXRNb2RlbCgp
|
//Default byte
|
||||||
LmdldEZpbGVOYW1lNSgpKS5zZXRGaWxlTmFtZTYoYnVpbGRlci5nZXRNb2RlbCgpLmdldEZpbGVO
|
public static final int DEFAULT_BYTE = 0x00;
|
||||||
YW1lNigpKS5zZXRGaWxlTmFtZTcoYnVpbGRlci5nZXRNb2RlbCgpLmdldEZpbGVOYW1lNygpKS5z
|
public static final int START_CODE_ONE = 0x1B;
|
||||||
ZXRGaWxlTmFtZTgoYnVpbGRlci5nZXRNb2RlbCgpLmdldEZpbGVOYW1lOCgpKTsKICAgIH0KCiAg
|
public static final int START_CODE_TWO = 0x2A;
|
||||||
ICBwdWJsaWMgc3RhdGljIFVhcnRQcm90b2NvbE1hbmFnZXIgZ2V0SW5zdGFuY2UoQ29udGV4dCBj
|
public static final int START_CODE_THREE = 0x43;
|
||||||
b250ZXh0LCBCdWlsZGVyIGJ1aWxkZXIpIHsKICAgICAgICByZXR1cm4gbmV3IFVhcnRQcm90b2Nv
|
public static final int START_CODE_FOUR = 0x41;
|
||||||
bE1hbmFnZXIoY29udGV4dCwgYnVpbGRlcik7CiAgICB9CgogICAgcHVibGljIENvbnRleHQgZ2V0
|
|
||||||
Q29udGV4dCgpIHsKICAgICAgICByZXR1cm4gbUNvbnRleHQ7CiAgICB9CgoKICAgIHB1YmxpYyBz
|
|
||||||
dGF0aWMgY2xhc3MgQnVpbGRlciB7CiAgICAgICAgcHJpdmF0ZSBmaW5hbCBDb250ZXh0IG1Db250
|
|
||||||
ZXh0OwogICAgICAgIHByaXZhdGUgUHJpbnRlclJlcXVlc3RNb2RlbCBtb2RlbDsKCiAgICAgICAg
|
private UartProtocolManager(Context context, Builder builder) {
|
||||||
cHVibGljIEJ1aWxkZXIoQ29udGV4dCBjb250ZXh0KSB7CiAgICAgICAgICAgIHRoaXMubUNvbnRl
|
this.mContext = context;
|
||||||
eHQgPSBjb250ZXh0OwogICAgICAgICAgICBtb2RlbCA9IG5ldyBQcmludGVyUmVxdWVzdE1vZGVs
|
mPrinterRequestModel = new PrinterRequestModel().setProcessTaskID(builder.getModel().getProcessTaskID()).setPayload(builder.getModel().getPayload()).setNumberOfCopies(builder.getModel().getNumberOfCopies()).setFileName1(builder.getModel().getFileName1()).setFileName3(builder.getModel().getFileName3()).setFileName4(builder.getModel().getFileName4()).setFileName5(builder.getModel().getFileName5()).setFileName6(builder.getModel().getFileName6()).setFileName7(builder.getModel().getFileName7()).setFileName8(builder.getModel().getFileName8());
|
||||||
KCk7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgQnVpbGRlciBzZXRQcmludGVyUmVxdWVzdE1v
|
}
|
||||||
ZGVsKFByaW50ZXJSZXF1ZXN0TW9kZWwgbW9kZWwpIHsKICAgICAgICAgICAgdGhpcy5tb2RlbCA9
|
|
||||||
IG1vZGVsOwogICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICB9CgogICAgICAgIHB1Ymxp
|
public static UartProtocolManager getInstance(Context context, Builder builder) {
|
||||||
YyBQcmludGVyUmVxdWVzdE1vZGVsIGdldE1vZGVsKCkgewogICAgICAgICAgICByZXR1cm4gbW9k
|
return new UartProtocolManager(context, builder);
|
||||||
ZWw7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgVWFydFByb3RvY29sTWFuYWdlciBidWlsZCgp
|
}
|
||||||
IHsKICAgICAgICAgICAgcmV0dXJuIFVhcnRQcm90b2NvbE1hbmFnZXIuZ2V0SW5zdGFuY2UobUNv
|
|
||||||
bnRleHQsIHRoaXMpOwogICAgICAgIH0KCiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgU3RhcnQg
|
public Context getContext() {
|
||||||
Q29kZSBhbmQgQ3VzdG9tZXIgQ29kZQogICAgICoKICAgICAqIEByZXR1cm4gYnl0ZSBhcnJheQog
|
return mContext;
|
||||||
ICAgICovCiAgICBwdWJsaWMgYnl0ZVtdIGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKCkgewogICAg
|
}
|
||||||
ICAgIHJldHVybiBuZXcgYnl0ZVtdeyhieXRlKSAweDFCLCAoYnl0ZSkgMHgyQSwgKGJ5dGUpIDB4
|
|
||||||
NDMsIChieXRlKSAweDQxfTsKICAgIH0KCiAgICBwdWJsaWMgYnl0ZVtdIGdldEhlYXJ0QmVhdFBy
|
|
||||||
b3RvY29sKCkgewogICAgICAgIC8vMHgxQgkweDJBCTB4NDMJMHg0MQkweDAwCTB4MDEJMHgwNAkw
|
public static class Builder {
|
||||||
eDU1CiAgICAgICAgYnl0ZVtdIHF1ZXJ5RGF0YSA9IG5ldyBieXRlW1RPVEFMX0JZVEVTXTsKICAg
|
private final Context mContext;
|
||||||
ICAgICBxdWVyeURhdGFbMF0gPSBnZXRTdGFydEFuZEN1c3RvbWVyQ29kZSgpWzBdOwogICAgICAg
|
private PrinterRequestModel model;
|
||||||
IHF1ZXJ5RGF0YVsxXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMV07CiAgICAgICAgcXVl
|
|
||||||
cnlEYXRhWzJdID0gZ2V0U3RhcnRBbmRDdXN0b21lckNvZGUoKVsyXTsKICAgICAgICBxdWVyeURh
|
public Builder(Context context) {
|
||||||
dGFbM10gPSBnZXRTdGFydEFuZEN1c3RvbWVyQ29kZSgpWzNdOwogICAgICAgIHF1ZXJ5RGF0YVs0
|
this.mContext = context;
|
||||||
XSA9IChieXRlKSAweDAwOwogICAgICAgIHF1ZXJ5RGF0YVs1XSA9IChieXRlKSAweDAxOwogICAg
|
model = new PrinterRequestModel();
|
||||||
ICAgIHF1ZXJ5RGF0YVs2XSA9IChieXRlKSAweDA0OwogICAgICAgIHF1ZXJ5RGF0YVs3XSA9IChi
|
}
|
||||||
eXRlKSAweDU1OwogICAgICAgIHF1ZXJ5RGF0YVs4XSA9IChieXRlKSAweDAwOwogICAgICAgIHF1
|
|
||||||
ZXJ5RGF0YVs5XSA9IChieXRlKSAweDAwOwogICAgICAgIHF1ZXJ5RGF0YVsxMF0gPSAoYnl0ZSkg
|
public Builder setPrinterRequestModel(PrinterRequestModel model) {
|
||||||
MHgwMDsKICAgICAgICBxdWVyeURhdGFbMTFdID0gKGJ5dGUpIDB4MDA7CiAgICAgICAgcXVlcnlE
|
this.model = model;
|
||||||
YXRhWzEyXSA9IChieXRlKSAweDAwOwogICAgICAgIHF1ZXJ5RGF0YVsxM10gPSAoYnl0ZSkgMHgw
|
return this;
|
||||||
MDsKICAgICAgICBxdWVyeURhdGFbMTRdID0gKGJ5dGUpIDB4MDA7CiAgICAgICAgcXVlcnlEYXRh
|
}
|
||||||
WzE1XSA9IChieXRlKSAweDAwOwoKICAgICAgICByZXR1cm4gcXVlcnlEYXRhOwogICAgfQoKICAg
|
|
||||||
IHB1YmxpYyBieXRlW10gZ2V0U3RhcnRVcFByb3RvY29sKCkgewogICAgICAgIGJ5dGVbXSBxdWVy
|
public PrinterRequestModel getModel() {
|
||||||
eURhdGEgPSBuZXcgYnl0ZVtUT1RBTF9CWVRFU107CiAgICAgICAgcXVlcnlEYXRhWzBdID0gZ2V0
|
return model;
|
||||||
U3RhcnRBbmRDdXN0b21lckNvZGUoKVswXTsKICAgICAgICBxdWVyeURhdGFbMV0gPSBnZXRTdGFy
|
}
|
||||||
dEFuZEN1c3RvbWVyQ29kZSgpWzFdOwogICAgICAgIHF1ZXJ5RGF0YVsyXSA9IGdldFN0YXJ0QW5k
|
|
||||||
Q3VzdG9tZXJDb2RlKClbMl07CiAgICAgICAgcXVlcnlEYXRhWzNdID0gZ2V0U3RhcnRBbmRDdXN0
|
public UartProtocolManager build() {
|
||||||
b21lckNvZGUoKVszXTsKICAgICAgICBxdWVyeURhdGFbNF0gPSAoYnl0ZSkgMHgwMTsKICAgICAg
|
return UartProtocolManager.getInstance(mContext, this);
|
||||||
ICBxdWVyeURhdGFbNV0gPSAoYnl0ZSkgMHgwMTsKICAgICAgICBxdWVyeURhdGFbNl0gPSAoYnl0
|
}
|
||||||
ZSkgMHgwMTsKICAgICAgICBxdWVyeURhdGFbN10gPSAoYnl0ZSkgMHgwMDsKICAgICAgICByZXR1
|
|
||||||
cm4gcXVlcnlEYXRhOwogICAgfQoKICAgIHB1YmxpYyBieXRlW10gc2VuZFByaW50UmVxdWVzdFBy
|
}
|
||||||
b3RvY29sKCkgewogICAgICAgIExvZ2dlci5kKCJOby5vZiBDb3A6ICIgKyBtUHJpbnRlclJlcXVl
|
|
||||||
c3RNb2RlbC5nZXROdW1iZXJPZkNvcGllcygpKTsKICAgICAgICBieXRlW10gcXVlcnlEYXRhID0g
|
/**
|
||||||
bmV3IGJ5dGVbVE9UQUxfQllURVNdOwogICAgICAgIHF1ZXJ5RGF0YVswXSA9IGdldFN0YXJ0QW5k
|
* Get Start Code and Customer Code
|
||||||
Q3VzdG9tZXJDb2RlKClbMF07CiAgICAgICAgcXVlcnlEYXRhWzFdID0gZ2V0U3RhcnRBbmRDdXN0
|
*
|
||||||
b21lckNvZGUoKVsxXTsKICAgICAgICBxdWVyeURhdGFbMl0gPSBnZXRTdGFydEFuZEN1c3RvbWVy
|
* @return byte array
|
||||||
Q29kZSgpWzJdOwogICAgICAgIHF1ZXJ5RGF0YVszXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2Rl
|
*/
|
||||||
KClbM107CiAgICAgICAgcXVlcnlEYXRhWzRdID0gKGJ5dGUpIDB4MDA7CiAgICAgICAgcXVlcnlE
|
public byte[] getStartAndCustomerCode() {
|
||||||
YXRhWzVdID0gKGJ5dGUpIDB4MDE7CiAgICAgICAgcXVlcnlEYXRhWzZdID0gKGJ5dGUpIDB4MDI7
|
return new byte[]{(byte) 0x1B, (byte) 0x2A, (byte) 0x43, (byte) 0x41};
|
||||||
CiAgICAgICAgcXVlcnlEYXRhWzddID0gKGJ5dGUpIDB4MDA7CiAgICAgICAgcXVlcnlEYXRhWzhd
|
}
|
||||||
ID0gKGJ5dGUpIG1QcmludGVyUmVxdWVzdE1vZGVsLmdldE51bWJlck9mQ29waWVzKCk7CiAgICAg
|
|
||||||
ICAgcmV0dXJuIHF1ZXJ5RGF0YTsKICAgIH0KCiAgICBwdWJsaWMgYnl0ZVtdIHNlbmRJbWFnZUlu
|
public byte[] getHeartBeatProtocol() {
|
||||||
Zm9Qcm90b2NvbCgpIHsKICAgICAgICBieXRlW10gcXVlcnlEYXRhID0gbmV3IGJ5dGVbVE9UQUxf
|
//0x1B 0x2A 0x43 0x41 0x00 0x01 0x04 0x55
|
||||||
QllURVNdOwogICAgICAgIGlmIChtUHJpbnRlclJlcXVlc3RNb2RlbCAhPSBudWxsKSB7CiAgICAgICAgICAgIGJ5dGVbXSBhcnJheSA9IG1QcmludGVyUmVxdWVzdE1vZGVsLmdldEZpbGVOYW1lMSgpLmdldEJ5dGVzKCk7CiAgICAgICAgICAgIHF1ZXJ5RGF0YVswXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMF07CiAgICAgICAgICAgIHF1ZXJ5RGF0YVsxXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMV07CiAgICAgICAgICAgIHF1ZXJ5RGF0YVsyXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMl07CiAgICAgICAgICAgIHF1ZXJ5RGF0YVszXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbM107CiAgICAgICAgICAgIHF1ZXJ5RGF0YVs0XSA9IChieXRlKSAweDAwOwogICAgICAgICAgICBxdWVyeURhdGFbNV0gPSAoYnl0ZSkgMHgwMTsKICAgICAgICAgICAgcXVlcnlEYXRhWzZdID0gKGJ5dGUpIDB4MDI7CiAgICAgICAgICAgIHF1ZXJ5RGF0YVs3XSA9IChieXRlKSAweDAxOwogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IE1hdGgubWluKGFycmF5Lmxlbmd0aCwgOCk7IGkrKykgeyBxdWVyeURhdGFbOCArIGldID0gYXJyYXlbaV07IH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHF1ZXJ5RGF0YTsKICAgIH0KCiAgICBwdWJsaWMgYnl0ZVtdIGdldEdvUHJpbnRBQ0tQcm90b2NvbCgpIHsKICAgICAgICBieXRlW10gcXVlcnlEYXRhID0gbmV3IGJ5dGVbVE9UQUxfQllURVNdOwogICAgICAgIHF1ZXJ5RGF0YVswXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMF07CiAgICAgICAgcXVlcnlEYXRhWzFdID0gZ2V0U3RhcnRBbmRDdXN0b21lckNvZGUoKVsxXTsKICAgICAgICBxdWVyeURhdGFbMl0gPSBnZXRTdGFydEFuZEN1c3RvbWVyQ29kZSgpWzJdOwogICAgICAgIHF1ZXJ5RGF0YVszXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbM107CiAgICAgICAgcXVlcnlEYXRhWzRdID0gKGJ5dGUpIDB4MDA7CiAgICAgICAgcXVlcnlEYXRhWzVdID0gKGJ5dGUpIDB4MDE7CiAgICAgICAgcXVlcnlEYXRhWzZdID0gKGJ5dGUpIDB4MDI7CiAgICAgICAgcXVlcnlEYXRhWzddID0gKGJ5dGUpIDB4MDI7CiAgICAgICAgcmV0dXJuIHF1ZXJ5RGF0YTsKICAgIH0KCiAgICBwdWJsaWMgYnl0ZVtdIGdldEVuZE9mUHJpbnRBQ0tQcm90b2NvbCgpIHsKICAgICAgICBieXRlW10gcXVlcnlEYXRhID0gbmV3IGJ5dGVbVE9UQUxfQllURVNdOwogICAgICAgIHF1ZXJ5RGF0YVswXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMF07CiAgICAgICAgcXVlcnlEYXRhWzFdID0gZ2V0U3RhcnRBbmRDdXN0b21lckNvZGUoKVsxXTsKICAgICAgICBxdWVyeURhdGFbMl0gPSBnZXRTdGFydEFuZEN1c3RvbWVyQ29kZSgpWzJdOwogICAgICAgIHF1ZXJ5RGF0YVszXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbM107CiAgICAgICAgcXVlcnlEYXRhWzRdID0gKGJ5dGUpIDB4MDA7CiAgICAgICAgcXVlcnlEYXRhWzVdID0gKGJ5dGUpIDB4MDE7CiAgICAgICAgcXVlcnlEYXRhWzZdID0gKGJ5dGUpIDB4MDI7CiAgICAgICAgcXVlcnlEYXRhWzddID0gKGJ5dGUpIDB4MDM7CiAgICAgICAgcmV0dXJuIHF1ZXJ5RGF0YTsKICAgIH0KCiAgICBwdWJsaWMgYnl0ZVtdIGdldEZXVXBncmFkZVJlcXVlc3RQcm90b2NvbCgpIHsKICAgICAgICBieXRlW10gcXVlcnlEYXRhID0gbmV3IGJ5dGVbVE9UQUxfQllURVNdOwogICAgICAgIHF1ZXJ5RGF0YVswXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMF07CiAgICAgICAgcXVlcnlEYXRhWzFdID0gZ2V0U3RhcnRBbmRDdXN0b21lckNvZGUoKVsxXTsKICAgICAgICBxdWVyeURhdGFbMl0gPSBnZXRTdGFydEFuZEN1c3RvbWVyQ29kZSgpWzJdOwogICAgICAgIHF1ZXJ5RGF0YVszXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbM107CiAgICAgICAgcXVlcnlEYXRhWzRdID0gKGJ5dGUpIDB4MDA7CiAgICAgICAgcXVlcnlEYXRhWzVdID0gKGJ5dGUpIDB4MDE7CiAgICAgICAgcXVlcnlEYXRhWzZdID0gKGJ5dGUpIDB4MDM7CiAgICAgICAgcXVlcnlEYXRhWzddID0gKGJ5dGUpIDB4MDA7CiAgICAgICAgcmV0dXJuIHF1ZXJ5RGF0YTsKICAgIH0KCiAgICBwdWJsaWMgYnl0ZVtdIGdldEZXR29VcGdyYWRlQUNLUHJvdG9jb2woKSB7CiAgICAgICAgYnl0ZVtdIHF1ZXJ5RGF0YSA9IG5ldyBieXRlW1RPVEFMX0JZVEVTXTsKICAgICAgICBxdWVyeURhdGFbMF0gPSBnZXRTdGFydEFuZEN1c3RvbWVyQ29kZSgpWzBdOwogICAgICAgIHF1ZXJ5RGF0YVsxXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMV07CiAgICAgICAgcXVlcnlEYXRhWzJdID0gZ2V0U3RhcnRBbmRDdXN0b21lckNvZGUoKVsyXTsKICAgICAgICBxdWVyeURhdGFbM10gPSBnZXRTdGFydEFuZEN1c3RvbWVyQ29kZSgpWzNdOwogICAgICAgIHF1ZXJ5RGF0YVs0XSA9IChieXRlKSAweDAwOwogICAgICAgIHF1ZXJ5RGF0YVs1XSA9IChieXRlKSAweDAxOwogICAgICAgIHF1ZXJ5RGF0YVs2XSA9IChieXRlKSAweDAzOwogICAgICAgIHF1ZXJ5RGF0YVs3XSA9IChieXRlKSAweDAyOwogICAgICAgIHJldHVybiBxdWVyeURhdGE7CiAgICB9CgogICAgcHVibGljIGJ5dGVbXSBnZXRGV0VuZE9mVXBncmFkZUFDS1Byb3RvY29sKCkgewogICAgICAgIGJ5dGVbXSBxdWVyeURhdGEgPSBuZXcgYnl0ZVtUT1RBTF9CWVRFU107CiAgICAgICAgcXVlcnlEYXRhWzBdID0gZ2V0U3RhcnRBbmRDdXN0b21lckNvZGUoKVswXTsKICAgICAgICBxdWVyeURhdGFbMV0gPSBnZXRTdGFydEFuZEN1c3RvbWVyQ29kZSgpWzFdOwogICAgICAgIHF1ZXJ5RGF0YVsyXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMl07CiAgICAgICAgcXVlcnlEYXRhWzNdID0gZ2V0U3RhcnRBbmRDdXN0b21lckNvZGUoKVszXTsKICAgICAgICBxdWVyeURhdGFbNF0gPSAoYnl0ZSkgMHgwMDsKICAgICAgICBxdWVyeURhdGFbNV0gPSAoYnl0ZSkgMHgwMTsKICAgICAgICBxdWVyeURhdGFbNl0gPSAoYnl0ZSkgMHgwMzsKICAgICAgICBxdWVyeURhdGFbN10gPSAoYnl0ZSkgMHgwMzsKICAgICAgICByZXR1cm4gcXVlcnlEYXRhOwogICAgfQoKICAgIHB1YmxpYyBieXRlW10gZ2V0UHJpbnRlckNvb2xpbmdBQ0tQcm90b2NvbCgpIHsKICAgICAgICBieXRlW10gcXVlcnlEYXRhID0gbmV3IGJ5dGVbVE9UQUxfQllURVNdOwogICAgICAgIHF1ZXJ5RGF0YVswXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbMF07CiAgICAgICAgcXVlcnlEYXRhWzFdID0gZ2V0U3RhcnRBbmRDdXN0b21lckNvZGUoKVsxXTsKICAgICAgICBxdWVyeURhdGFbMl0gPSBnZXRTdGFydEFuZEN1c3RvbWVyQ29kZSgpWzJdOwogICAgICAgIHF1ZXJ5RGF0YVszXSA9IGdldFN0YXJ0QW5kQ3VzdG9tZXJDb2RlKClbM107CiAgICAgICAgcXVlcnlEYXRhWzRdID0gKGJ5dGUpIDB4MDA7CiAgICAgICAgcXVlcnlEYXRhWzVdID0gKGJ5dGUpIDB4MDE7CiAgICAgICAgcXVlcnlEYXRhWzZdID0gKGJ5dGUpIDB4MDI7CiAgICAgICAgcXVlcnlEYXRhWzddID0gKGJ5dGUpIDB4MEY7CiAgICAgICAgcmV0dXJuIHF1ZXJ5RGF0YTsKICAgIH0KCiAgICBwdWJsaWMgYnl0ZVtdIGFza0Z3VmVyc2lvblByb3RvY29sKCkgewogICAgICAgIGJ5dGVbXSBxdWVyeURhdGEgPSBuZXcgYnl0ZVtUT1RBTF9CWVRFU107CiAgICAgICAgcXVlcnlEYXRhWzBdID0gZ2V0U3RhcnRBbmRDdXN0b21lckNvZGUoKVswXTsKICAgICAgICBxdWVyeURhdGFbMV0gPSBLine truncated
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
kYXRlUHJvY2Vzc01hbmFnZXIuZ2V0SW5zdGFuY2UoZ2V0Q29udGV4dCgpKS5kb0ZXRW5kT2ZVcGdyYWRlUHJvY2VzcyhwYXlsb2FkKTsgfQogICAgICAgICAgICAgICAgZWxzZSBpZiAodGFza0lkID09IFVBUlRfUFJJTlRFUl9DT09MSU5HX1BST0NFU1MpIHsgcmVzcG9uc2VNb2RlbCA9IFByaW50SW1hZ2VQcm9jZXNzTWFuYWdlci5nZXRJbnN0YW5jZShnZXRDb250ZXh0KCkpLmRvUHJpbnRlcklzQ29vbGluZ1Byb2Nlc3MocGF5bG9hZCk7IH0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRhc2tJZCA9PSBVQVJUX0FTS19GV19WRVJTSU9OX1BST0NFU1MpIHsgcmVzcG9uc2VNb2RlbCA9IFByaW50SW1hZ2VQcm9jZXNzTWFuYWdlci5nZXRJbnN0YW5jZShnZXRDb250ZXh0KCkpLmRvRldWZXJzaW9uUHJvY2VzcyhwYXlsb2FkKTsgfQogICAgICAgICAgICAgICAgZWxzZSBpZiAodGFza0lkID09IFVBUlRfU01BUlRfU0hFRVRfUFJJTlRfUFJPQ0VTUykgeyByZXNwb25zZU1vZGVsID0gUHJpbnRJbWFnZVByb2Nlc3NNYW5hZ2VyLmdldEluc3RhbmNlKGdldENvbnRleHQoKSkuZG9QcmludFNtYXJ0U2hlZXRQcm9jZXNzKHBheWxvYWQpOyB9CiAgICAgICAgICAgICAgICBlbHNlIGlmICh0YXNrSWQgPT0gVUFSVF9TTUFSVF9TSEVFVF9FTkRfT0ZfUFJPQ0VTUykgeyByZXNwb25zZU1vZGVsID0gUHJpbnRJbWFnZVByb2Nlc3NNYW5hZ2VyLmdldEluc3RhbmNlKGdldENvbnRleHQoKSkuZG9FbmRPZlNtYXJ0U2hlZXRQcm9jZXNzKHBheWxvYWQpOyB9CiAgICAgICAgICAgICAgICBlbHNlIGlmICh0YXNrSWQgPT0gVUFSVF9GTV9SRVFVRVNUX0NNRF9QUk9DRVNTKSB7IHJlc3BvbnNlTW9kZWwgPSBGYWN0b3J5TW9kZVByb2Nlc3NNYW5hZ2VyLmdldEluc3RhbmNlKGdldENvbnRleHQoKSkucGFyc2VGTVJlcXVlc3RBQ0tQcm9jZXNzKHBheWxvYWQpOyB9CiAgICAgICAgICAgICAgICBlbHNlIGlmICh0YXNrSWQgPT0gVUFSVF9GTV9CVVJOX0lOX0NNRF9QUk9DRVNTKSB7IHJlc3BvbnNlTW9kZWwgPSBGYWN0b3J5TW9kZVByb2Nlc3NNYW5hZ2VyLmdldEluc3RhbmNlKGdldENvbnRleHQoKSkucGFyc2VCdXJuSW5BY2tQcm9jZXNzKHBheWxvYWQpOyB9CiAgICAgICAgICAgICAgICBlbHNlIGlmICh0YXNrSWQgPT0gVUFSVF9GTV9GUUNfQ01EX1BST0NFU1MpIHsgcmVzcG9uc2VNb2RlbCA9IEZhY3RvcnlNb2RlUHJvY2Vzc01hbmFnZXIuZ2V0SW5zdGFuY2UoZ2V0Q29udGV4dCgpKS5wYXJzZUZRQ0Fja1Byb2Nlc3MocGF5bG9hZCk7IH0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRhc2tJZCA9PSBVQVJUX0ZNX1NISVBQSU5HX0NNRF9QUk9DRVNTKSB7IHJlc3BvbnNlTW9kZWwgPSBGYWN0b3J5TW9kZVByb2Nlc3NNYW5hZ2VyLmdldEluc3RhbmNlKGdldENvbnRleHQoKSkucGFyc2VTaGlwcGluZ0Fja1Byb2Nlc3MocGF5bG9hZCk7IH0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRhc2tJZCA9PSBVQVJUX0ZNX1ZFUl9BU0tfQ01EX1BST0NFU1MpIHsgcmVzcG9uc2VNb2RlbCA9IEZhY3RvcnlNb2RlUHJvY2Vzc01hbmFnZXIuZ2V0SW5zdGFuY2UoZ2V0Q29udGV4dCgpKS5wYXJzZVZlcnNpb25Bc2tBY2tQcm9jZXNzKHBheWxvYWQpOyB9CiAgICAgICAgICAgICAgICBlbHNlIGlmICh0YXNrSWQgPT0gVUFSVF9GTV9SRVNFVF9DTURfUFJPQ0VTUykgeyByZXNwb25zZU1vZGVsID0gRmFjdG9yeU1vZGVQcm9jZXNzTWFuYWdlci5nZXRJbnN0YW5jZShnZXRDb250ZXh0KCkpLnBhcnNlVmVyc2lvbkFza0Fja1Byb2Nlc3MocGF5bG9hZCk7IH0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRhc2tJZCA9PSBVQVJUX0ZNX0NBTUVSQV9URVNUX0NNRF9QUk9DRVNTKSB7IHJlc3BvbnNlTW9kZWwgPSBGYWN0b3J5TW9kZVByb2Nlc3NNYW5hZ2VyLmdldEluc3RhbmNlKGdldENvbnRleHQoKSkucGFyc2VDYW1lcmFBY2tQcm9jZXNzKHBheWxvYWQpOyB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlc3BvbnNlTW9kZWw7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBTdHJpbmcgZ2V0VGFza0lkTmFtZShpbnQgaWQpIHsKICAgICAgICBzd2l0Y2ggKGlkKSB7CiAgICAgICAgICAgIGNhc2UgVUFSVF9QUklOVF9SRVFVRVNUX1BST0NFU1M6IHJldHVybiAiVUFSVF9QUklOVF9SRVFVRVNUX1BST0NFU1MiOwogICAgICAgICAgICBjYXNlIFVBUlRfU1RBUlRfUFJPQ0VTUzogcmV0dXJuICJVQVJUX1NUQVJUX1BST0NFU1MiOwogICAgICAgICAgICBjYXNlIFVBUlRfSEVBUlRfQkVBVF9QUk9DRVNTOiByZXR1cm4gIlVBUlRfSEVBUlRfQkVBVF9QUk9DRVNTIjsKICAgICAgICAgICAgY2FzZSBVQVJUX0lNQUdFX0lORk9fUFJPQ0VTUzogcmV0dXJuICJVQVJUX0lNQUdFX0lORk9fUFJPQ0VTUyI7CiAgICAgICAgICAgIGNhc2UgVUFSVF9HT19QUklOVF9QUk9DRVNTOiByZXR1cm4gIlVBUlRfR09fUFJJTlRfUFJPQ0VTUyI7CiAgICAgICAgICAgIGNhc2UgVUFSVF9FTkRfT0ZfUFJJTlRfUFJPQ0VTUzogcmV0dXJuICJVQVJUX0VORF9PRl9QUklOVF9QUk9DRVNTIjsKICAgICAgICAgICAgY2FzZSBVQVJUX1BSSU5URVJfQ09PTElOR19QUk9DRVNTOiByZXR1cm4gIlVBUlRfUFJJTlRFUl9DT09MSU5HX1BST0NFU1MiOwogICAgICAgICAgICBjYXNlIFVBUlRfUFJJTlRfTU9SRV9QUk9DRVNTOiByZXR1cm4gIlVBUlRfUFJJTlRfTU9SRV9QUk9DRVNTIjsKICAgICAgICAgICAgY2FzZSBVQVJUX0FTS19GV19WRVJTSU9OX1BST0NFU1M6IHJldHVybiAiVUFSVF9BU0tfRldfVkVSU0lPTl9QUk9DRVNTIjsKICAgICAgICAgICAgY2FzZSBVQVJUX0ZXX1VQR1JBREVfUkVRVUVTVF9QUk9DRVNTOiByZXR1cm4gIlVBUlRfRldfVVBHUkFERV9SRVFVRVNUX1BST0NFU1MiOwogICAgICAgICAgICBjYXNlIFVBUlRfRldfR09fVVBHUkFERV9QUk9DRVNTOiByZXR1cm4gIlVBUlRfRldfR09fVVBHUkFERV9QUk9DRVNTIjsKICAgICAgICAgICAgY2FzZSBVQVJUX0ZXX0dPX1VQR1JBREVfQUNLX1BST0NFU1M6IHJldHVybiAiVUFSVF9GV19HT19VUEdSQURFX0FDS19QUk9DRVNTIjsKICAgICAgICAgICAgY2FzZSBVQVJUX0ZXX0VORF9PRl9VUEdSQURFX1BST0NFU1M6IHJldHVybiAiVUFSVF9GV19FTkRfT0ZfVVBHUkFERV9QUk9DRVNTIjsKICAgICAgICAgICAgY2FzZSBVQVJUX0ZXX0VORF9PRl9VUEdSQURFX0FDS19QUk9DRVNTOiByZXR1cm4gIlVBUlRfRldfRU5EX09GX1VQR1JBREVfQUNLX1BST0NFU1MiOwogICAgICAgICAgICBkZWZhdWx0OiByZXR1cm4gIlVOS05PV04iOwogICAgICAgIH0KICAgIH0KfQo=
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x04;
|
||||||
|
queryData[7] = (byte) 0x55;
|
||||||
|
queryData[8] = (byte) 0x00;
|
||||||
|
queryData[9] = (byte) 0x00;
|
||||||
|
queryData[10] = (byte) 0x00;
|
||||||
|
queryData[11] = (byte) 0x00;
|
||||||
|
queryData[12] = (byte) 0x00;
|
||||||
|
queryData[13] = (byte) 0x00;
|
||||||
|
queryData[14] = (byte) 0x00;
|
||||||
|
queryData[15] = (byte) 0x00;
|
||||||
|
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getStartUpProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x01;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x01;
|
||||||
|
queryData[7] = (byte) 0x00;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] sendPrintRequestProtocol() {
|
||||||
|
Logger.d("No.of Cop: " + mPrinterRequestModel.getNumberOfCopies());
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x02;
|
||||||
|
queryData[7] = (byte) 0x00;
|
||||||
|
queryData[8] = (byte) mPrinterRequestModel.getNumberOfCopies();
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] sendImageInfoProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
if (mPrinterRequestModel != null) {
|
||||||
|
byte[] array = mPrinterRequestModel.getFileName1().getBytes();
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x02;
|
||||||
|
queryData[7] = (byte) 0x01;
|
||||||
|
for (int i = 0; i < Math.min(array.length, 8); i++) { queryData[8 + i] = array[i]; }
|
||||||
|
}
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getGoPrintACKProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x02;
|
||||||
|
queryData[7] = (byte) 0x02;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getEndOfPrintACKProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x02;
|
||||||
|
queryData[7] = (byte) 0x03;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFWUpgradeRequestProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x03;
|
||||||
|
queryData[7] = (byte) 0x00;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFWGoUpgradeACKProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x03;
|
||||||
|
queryData[7] = (byte) 0x02;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFWEndOfUpgradeACKProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x03;
|
||||||
|
queryData[7] = (byte) 0x03;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getPrinterCoolingACKProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x02;
|
||||||
|
queryData[7] = (byte) 0x0F;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] askFwVersionProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x03;
|
||||||
|
queryData[7] = (byte) 0xFF;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] sendPrintSmartSheetProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x01;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0x02;
|
||||||
|
queryData[7] = (byte) 0xAA;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFactoryModeRequestProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[0] = getStartAndCustomerCode()[0];
|
||||||
|
queryData[1] = getStartAndCustomerCode()[1];
|
||||||
|
queryData[2] = getStartAndCustomerCode()[2];
|
||||||
|
queryData[3] = getStartAndCustomerCode()[3];
|
||||||
|
queryData[4] = (byte) 0x00;
|
||||||
|
queryData[5] = (byte) 0x01;
|
||||||
|
queryData[6] = (byte) 0xF0;
|
||||||
|
queryData[7] = (byte) 0x00;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFactoryModeBurnInProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[6] = (byte) 0xF0; queryData[7] = (byte) 0x01;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFactoryModeCameraTestProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[6] = (byte) 0xF0; queryData[7] = (byte) 0x02;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFactoryModeFQCProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[6] = (byte) 0xF0; queryData[7] = (byte) 0x03;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFactoryModeShippingProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[6] = (byte) 0xF0; queryData[7] = (byte) 0x04;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFactoryModeVersionAskProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[6] = (byte) 0xF0; queryData[7] = (byte) 0x05;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getFactoryModeResetProtocol() {
|
||||||
|
byte[] queryData = new byte[TOTAL_BYTES];
|
||||||
|
queryData[6] = (byte) 0xF0; queryData[7] = (byte) 0xFF;
|
||||||
|
return queryData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PrinterResponseModel findPrinterResponse() {
|
||||||
|
PrinterResponseModel responseModel = null;
|
||||||
|
if (mPrinterRequestModel != null) {
|
||||||
|
int taskId = mPrinterRequestModel.getProcessTaskID();
|
||||||
|
byte[] payload = mPrinterRequestModel.getPayload();
|
||||||
|
if (payload != null) {
|
||||||
|
if (taskId == UART_HEART_BEAT_PROCESS) { responseModel = PrintImageProcessManager.getInstance(getContext()).doHeartBeatProcess(payload); }
|
||||||
|
else if (taskId == UART_PRINT_REQUEST_PROCESS) { responseModel = PrintImageProcessManager.getInstance(getContext()).doPrintRequestACKProcess(payload); }
|
||||||
|
else if (taskId == UART_IMAGE_INFO_PROCESS) { responseModel = PrintImageProcessManager.getInstance(getContext()).doGoPrintACKPetProcess(payload); }
|
||||||
|
else if (taskId == UART_GO_PRINT_PROCESS) { responseModel = PrintImageProcessManager.getInstance(getContext()).doEndOfPrintProcess(payload); }
|
||||||
|
else if (taskId == UART_END_OF_PRINT_PROCESS) { responseModel = PrintImageProcessManager.getInstance(getContext()).doEndOfPrintProcess(payload); }
|
||||||
|
else if (taskId == UART_FW_UPGRADE_REQUEST_PROCESS) { responseModel = FWUpdateProcessManager.getInstance(getContext()).doFWUpgradeRequestACKPetProcess(payload); }
|
||||||
|
else if (taskId == UART_FW_GO_UPGRADE_PROCESS) { responseModel = FWUpdateProcessManager.getInstance(getContext()).doFWGoUpgradeProcess(payload); }
|
||||||
|
else if (taskId == UART_FW_END_OF_UPGRADE_PROCESS) { responseModel = FWUpdateProcessManager.getInstance(getContext()).doFWEndOfUpgradeProcess(payload); }
|
||||||
|
else if (taskId == UART_PRINTER_COOLING_PROCESS) { responseModel = PrintImageProcessManager.getInstance(getContext()).doPrinterIsCoolingProcess(payload); }
|
||||||
|
else if (taskId == UART_ASK_FW_VERSION_PROCESS) { responseModel = PrintImageProcessManager.getInstance(getContext()).doFWVersionProcess(payload); }
|
||||||
|
else if (taskId == UART_SMART_SHEET_PRINT_PROCESS) { responseModel = PrintImageProcessManager.getInstance(getContext()).doPrintSmartSheetProcess(payload); }
|
||||||
|
else if (taskId == UART_SMART_SHEET_END_OF_PROCESS) { responseModel = PrintImageProcessManager.getInstance(getContext()).doEndOfSmartSheetProcess(payload); }
|
||||||
|
else if (taskId == UART_FM_REQUEST_CMD_PROCESS) { responseModel = FactoryModeProcessManager.getInstance(getContext()).parseFMRequestACKProcess(payload); }
|
||||||
|
else if (taskId == UART_FM_BURN_IN_CMD_PROCESS) { responseModel = FactoryModeProcessManager.getInstance(getContext()).parseBurnInAckProcess(payload); }
|
||||||
|
else if (taskId == UART_FM_FQC_CMD_PROCESS) { responseModel = FactoryModeProcessManager.getInstance(getContext()).parseFQCAckProcess(payload); }
|
||||||
|
else if (taskId == UART_FM_SHIPPING_CMD_PROCESS) { responseModel = FactoryModeProcessManager.getInstance(getContext()).parseShippingAckProcess(payload); }
|
||||||
|
else if (taskId == UART_FM_VER_ASK_CMD_PROCESS) { responseModel = FactoryModeProcessManager.getInstance(getContext()).parseVersionAskAckProcess(payload); }
|
||||||
|
else if (taskId == UART_FM_RESET_CMD_PROCESS) { responseModel = FactoryModeProcessManager.getInstance(getContext()).parseVersionAskAckProcess(payload); }
|
||||||
|
else if (taskId == UART_FM_CAMERA_TEST_CMD_PROCESS) { responseModel = FactoryModeProcessManager.getInstance(getContext()).parseCameraAckProcess(payload); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return responseModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getTaskIdName(int id) {
|
||||||
|
switch (id) {
|
||||||
|
case UART_PRINT_REQUEST_PROCESS: return "UART_PRINT_REQUEST_PROCESS";
|
||||||
|
case UART_START_PROCESS: return "UART_START_PROCESS";
|
||||||
|
case UART_HEART_BEAT_PROCESS: return "UART_HEART_BEAT_PROCESS";
|
||||||
|
case UART_IMAGE_INFO_PROCESS: return "UART_IMAGE_INFO_PROCESS";
|
||||||
|
case UART_GO_PRINT_PROCESS: return "UART_GO_PRINT_PROCESS";
|
||||||
|
case UART_END_OF_PRINT_PROCESS: return "UART_END_OF_PRINT_PROCESS";
|
||||||
|
case UART_PRINTER_COOLING_PROCESS: return "UART_PRINTER_COOLING_PROCESS";
|
||||||
|
case UART_PRINT_MORE_PROCESS: return "UART_PRINT_MORE_PROCESS";
|
||||||
|
case UART_ASK_FW_VERSION_PROCESS: return "UART_ASK_FW_VERSION_PROCESS";
|
||||||
|
case UART_FW_UPGRADE_REQUEST_PROCESS: return "UART_FW_UPGRADE_REQUEST_PROCESS";
|
||||||
|
case UART_FW_GO_UPGRADE_PROCESS: return "UART_FW_GO_UPGRADE_PROCESS";
|
||||||
|
case UART_FW_GO_UPGRADE_ACK_PROCESS: return "UART_FW_GO_UPGRADE_ACK_PROCESS";
|
||||||
|
case UART_FW_END_OF_UPGRADE_PROCESS: return "UART_FW_END_OF_UPGRADE_PROCESS";
|
||||||
|
case UART_FW_END_OF_UPGRADE_ACK_PROCESS: return "UART_FW_END_OF_UPGRADE_ACK_PROCESS";
|
||||||
|
default: return "UNKNOWN";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user