fix: decode base64-encoded file content
This commit is contained in:
@@ -1,129 +1,184 @@
|
||||
cGFja2FnZSBhbmRyb2lkLnNlcmlhbHBvcnQubWFuYWdlcjsKCmltcG9ydCBhbmRyb2lkLmNvbnRl
|
||||
bnQuQ29udGV4dDsKaW1wb3J0IGFuZHJvaWQuc2VyaWFscG9ydC5tb2RlbC5QcmludGVyUmVzcG9u
|
||||
c2VNb2RlbDsKaW1wb3J0IGFuZHJvaWQuc2VyaWFscG9ydC51dGlscy5CeXRlVXRpbDsKaW1wb3J0
|
||||
IGFuZHJvaWQuc2VyaWFscG9ydC51dGlscy5Mb2dnZXI7CmltcG9ydCBhbmRyb2lkLnV0aWwuTG9n
|
||||
OwppbXBvcnQgYW5kcm9pZC53aWRnZXQuVG9hc3Q7CgpwdWJsaWMgY2xhc3MgRldVcGRhdGVQcm9j
|
||||
ZXNzTWFuYWdlciB7CiAgICBwcml2YXRlIENvbnRleHQgbUNvbnRleHQ7CiAgICBwcml2YXRlIHN0
|
||||
YXRpYyBGV1VwZGF0ZVByb2Nlc3NNYW5hZ2VyIG1Qcm90b2NvbE1hbmFnZXI7CiAgICBwcml2YXRl
|
||||
IHN0YXRpYyBmaW5hbCBpbnQgVE9UQUxfQllURVMgPSA2NDsKICAgIC8vUHJpbnQgUmVxdWVzdCBB
|
||||
bnN3ZXIKICAgIC8vRmlsZSBBdmFpbGFibGUKICAgIHByaXZhdGUgZmluYWwgaW50IFBSSU5UX1JF
|
||||
UVVFU1RfQUxMT1cgPSAweDAxOwogICAgcHJpdmF0ZSBmaW5hbCBpbnQgUFJJTlRfUkVRVUVTVF9S
|
||||
RUpFQ1QgPSAweEZGOwoKICAgIHByaXZhdGUgZmluYWwgaW50IE5PTkVfRVJST1IgPSAweDAwOwog
|
||||
ICAgcHJpdmF0ZSBmaW5hbCBpbnQgU1lTVEVNX09WRVJfSEVBVCA9IDB4MDU7CiAgICBwcml2YXRl
|
||||
IGZpbmFsIGludCBTWVNURU1fT1ZFUl9DT0xEID0gMHgwNjsKICAgIHByaXZhdGUgZmluYWwgaW50
|
||||
IERVUklOR19VUEdSQURJTkcgPSAweDBFOwogICAgcHJpdmF0ZSBmaW5hbCBpbnQgRFVSSU5HX1BS
|
||||
SU5USU5HID0gMHgxMDsKCgogICAgLy9FbmQgb2YgcHJpbnRlcgogICAgcHJpdmF0ZSBmaW5hbCBp
|
||||
bnQgRU5EX09GX1BSSU5UX1NVQ0NFU1MgPSAweDU1OwogICAgcHJpdmF0ZSBmaW5hbCBpbnQgRU5E
|
||||
X09GX1BSSU5UX0VSUk9SID0gMHhBMDsKCiAgICAvL0ZXIFZhcmlhYmxlCiAgICAvL1VwZ3JhZGUg
|
||||
RXJyb3IgTWVzc2FnZSAoZm9yIFVwZ3JhZGVFcnJNZXNzYWdlKQogICAgcHJpdmF0ZSBmaW5hbCBp
|
||||
bnQgRklMRV9FUlJPUiA9IDB4MDE7CgogICAgcHJpdmF0ZSBGV1VwZGF0ZVByb2Nlc3NNYW5hZ2Vy
|
||||
KENvbnRleHQgY29udGV4dCkgewogICAgICAgIG1Db250ZXh0ID0gY29udGV4dDsKICAgIH0KCiAg
|
||||
ICBwdWJsaWMgc3RhdGljIEZXVXBkYXRlUHJvY2Vzc01hbmFnZXIgZ2V0SW5zdGFuY2UoQ29udGV4
|
||||
dCBjb250ZXh0KSB7CiAgICAgICAgaWYgKG1Qcm90b2NvbE1hbmFnZXIgPT0gbnVsbCkgewogICAg
|
||||
ICAgICAgICBtUHJvdG9jb2xNYW5hZ2VyID0gbmV3IEZXVXBkYXRlUHJvY2Vzc01hbmFnZXIoY29u
|
||||
dGV4dCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBtUHJvdG9jb2xNYW5hZ2VyOwogICAgfQog
|
||||
ICAgLyoqCiAgICAgKiBTdGFydCBGVyB1cGdyYWRlIHJlcXVlc3QgcmVzcG9uc2UgYXMgcGVyIHBy
|
||||
aW50ZXIgYWNrbm93bGVkZ21lbnQKICAgICAqCiAgICAgKiBAcGFyYW0gcGF5bG9hZCAtIFByaW50
|
||||
ZXIgcGF5bG9hZAogICAgICogQHJldHVybiAtIFByaW50ZXJSZXNwb25zZSBNb2RlbChJc1N1Y2Nl
|
||||
c3MsIE1lc3NhZ2UsIEVycm9yQ29kZSkKICAgICAqLwogICAgcHVibGljIFByaW50ZXJSZXNwb25z
|
||||
ZU1vZGVsIGRvRldVcGdyYWRlUmVxdWVzdEFDS1Byb2Nlc3MoYnl0ZVtdIHBheWxvYWQpIHsKICAg
|
||||
ICAgICAvLzB4MUIJMHgyQQkweDQzCTB4NDEJMHgwMQkweDAxCTB4MDMJMHgwMAlhbGxvdzogMHgw
|
||||
MSByZWplY3Q6IDB4RkYJUmVhc29uCiAgICAgICAgUHJpbnRlclJlc3BvbnNlTW9kZWwgcmVzcG9u
|
||||
c2UgPSBudWxsOwogICAgICAgIGlmIChwYXlsb2FkICE9IG51bGwgJiYgcGF5bG9hZC5sZW5ndGgg
|
||||
PT0gVE9UQUxfQllURVMpIHsKICAgICAgICAgICAgZmluYWwgYnl0ZSByZXF1ZXN0QW5zd2VyID0g
|
||||
cGF5bG9hZFs4XTsKICAgICAgICAgICAgZmluYWwgYnl0ZSByZWFzb24gPSBwYXlsb2FkWzldOwog
|
||||
ICAgICAgICAgICByZXNwb25zZSA9IG5ldyBQcmludGVyUmVzcG9uc2VNb2RlbCgpOwogICAgICAg
|
||||
ICAgICBMb2dnZXIuZCgiRldVcGdyYWRlIHJlcXVlc3RBbnN3ZXI6ICIrQnl0ZVV0aWwuYnl0ZXNU
|
||||
b0hleFdpdGhTcGFjZShyZXF1ZXN0QW5zd2VyKSk7CiAgICAgICAgICAgIExvZ2dlci5kKCJGV1Vw
|
||||
Z3JhZGUgcmVhc29uOiAiK0J5dGVVdGlsLmJ5dGVzVG9IZXhXaXRoU3BhY2UocmVhc29uKSk7CiAg
|
||||
ICAgICAgICAgIGlmIChyZXF1ZXN0QW5zd2VyID09IChieXRlKSBQUklOVF9SRVFVRVNUX1JFSkVD
|
||||
VCkgewogICAgICAgICAgICAgICAgcmVzcG9uc2Uuc2V0U3VjY2VzcyhmYWxzZSk7CiAgICAgICAg
|
||||
ICAgICAgICBzd2l0Y2ggKHJlYXNvbikgewogICAgICAgICAgICAgICAgICAgIC8vMHgwNSBTeXN0
|
||||
ZW0gT3ZlckhlYXQKICAgICAgICAgICAgICAgICAgICAvLzB4MDYgU3lzdGVtIE92ZXJDb2xkCiAg
|
||||
ICAgICAgICAgICAgICAgICAgLy8weDBFIER1cmluZyBVcGdyYWRpbmcKICAgICAgICAgICAgICAg
|
||||
ICAgICAvLzB4MTAgRHVyaW5nIFByaW50aW5nCiAgICAgICAgICAgICAgICAgICAgY2FzZSBTWVNU
|
||||
RU1fT1ZFUl9IRUFUOgogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5zZXRFcnJvckNv
|
||||
ZGUoU1lTVEVNX09WRVJfSEVBVCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNl
|
||||
dE1lc3NhZ2UoIlN5c3RlbSBPdmVyIEhlYXQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJl
|
||||
YWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSBTWVNURU1fT1ZFUl9DT0xEOgogICAgICAgICAg
|
||||
ICAgICAgICAgICAgICByZXNwb25zZS5zZXRFcnJvckNvZGUoU1lTVEVNX09WRVJfQ09MRCk7CiAg
|
||||
ICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNldE1lc3NhZ2UoIlN5c3RlbSBPdmVyIENv
|
||||
bGQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAg
|
||||
Y2FzZSBEVVJJTkdfVVBHUkFESU5HOgogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5z
|
||||
ZXRFcnJvckNvZGUoRFVSSU5HX1VQR1JBRElORyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJl
|
||||
c3BvbnNlLnNldE1lc3NhZ2UoIkR1cmluZyBVcGdyYWRpbmciKTsKICAgICAgICAgICAgICAgICAg
|
||||
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSBEVVJJTkdfUFJJTlRJTkc6CiAg
|
||||
ICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNldEVycm9yQ29kZShEVVJJTkdfUFJJTlRJ
|
||||
TkcpOwogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5zZXRNZXNzYWdlKCJEdXJpbmcg
|
||||
UHJpbnRpbmciKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
|
||||
ICB9CiAgICAgICAgICAgIH1lbHNlIGlmIChyZXF1ZXN0QW5zd2VyID09IFBSSU5UX1JFUVVFU1Rf
|
||||
QUxMT1cpIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNldFN1Y2Nlc3ModHJ1ZSk7CiAgICAg
|
||||
ICAgICAgICAgICByZXNwb25zZS5zZXRTdWNjZXNzQ29kZShQUklOVF9SRVFVRVNUX0FMTE9XKTsK
|
||||
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNldFN1Y2Nlc3Mo
|
||||
dHJ1ZSk7CiAgICAgICAgICAgICAgICByZXNwb25zZS5zZXRTdWNjZXNzQ29kZShQUklOVF9SRVFV
|
||||
RVNUX0FMTE9XKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gcmVzcG9u
|
||||
c2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBTdGFydCBGVyBnbyB1cGdyYWRlIHJlc3BvbnNlIGFz
|
||||
IHBlciBwcmludGVyIGFja25vd2xlZGdtZW50CiAgICAgKgogICAgICogQHBhcmFtIHBheWxvYWQg
|
||||
LSBQcmludGVyIHBheWxvYWQKICAgICAqIEByZXR1cm4gLSBQcmludGVyUmVzcG9uc2UgTW9kZWwo
|
||||
SXNTdWNjZXNzLCBNZXNzYWdlLCBFcnJvckNvZGUpCiAgICAgKi8KICAgIHB1YmxpYyBQcmludGVy
|
||||
UmVzcG9uc2VNb2RlbCBkb0ZXR29VcGdyYWRlUHJvY2VzcyhieXRlW10gcGF5bG9hZCkgewogICAg
|
||||
ICAgIC8vMHgxQgkweDJBCTB4NDMJMHg0MQkweDAxCTB4MDEJMHgwMwkweDAyCiAgICAgICAgLy8w
|
||||
eDFCCTB4MkEJMHg0MwkweDQxCTB4MDAJMHgwMQkweDAzCTB4MDIKICAgICAgICAvLzFCIDJBIDQz
|
||||
IDQxIDAxIDAxIDAzIDAyIDAwIDAwIDAwIDAgICAgICAgCiAgICAgICAgLy8xQiAyQSA0MyA0MSAwMSAw
|
||||
MSAwMyAwMyBBMCAwMCAwMCAwMCAwCiAgICAgICAgYnl0ZSBvbmVDaGFyICAgPSAweDFCOwogICAg
|
||||
ICAgIGJ5dGUgdHdvQ2hhciAgID0gMHgyQTsKICAgICAgICBieXRlIHRocmVlQ2hhciA9IDB4NDM7
|
||||
CiAgICAgICAgYnl0ZSBmb3VyQ2hhciAgPSAweDQxOwogICAgICAgIGJ5dGUgZml2ZUNoYXIgID0g
|
||||
MHgwMTsKICAgICAgICBieXRlIHNpeENoYXIgICA9IDB4MDE7CiAgICAgICAgYnl0ZSBzZXZlbkNo
|
||||
YXIgPSAweDAzOwogICAgICAgIGJ5dGUgZWlnaHRDaGFyID0gMHgwMjsKICAgICAgICBQcmludGVy
|
||||
UmVzcG9uc2VNb2RlbCByZXNwb25zZSA9IG51bGw7CiAgICAgICAgaWYgKHBheWxvYWQgIT0gbnVs
|
||||
bCAmJiBwYXlsb2FkLmxlbmd0aCA9PSBUT1RBTF9CWVRFUykgewogICAgICAgICAgIHJlc3BvbnNl
|
||||
ID0gbmV3IFByaW50ZXJSZXNwb25zZU1vZGVsKCk7CiAgICAgICAgICAgIGlmIChvbmVDaGFyID09
|
||||
IHBheWxvYWRbMF0KICAgICAgICAgICAgICAgICAgICAmJiB0d29DaGFyID09IHBheWxvYWRbMV0K
|
||||
ICAgICAgICAgICAgICAgICAgICAmJiB0aHJlZUNoYXIgPT0gcGF5bG9hZFsyXQogICAgICAgICAg
|
||||
ICAgICAgICAgICYmIGZvdXJDaGFyID09IHBheWxvYWRbM10KICAgICAgICAgICAgICAgICAgICAm
|
||||
JiBmaXZlQ2hhciA9PSBwYXlsb2FkWzRdCiAgICAgICAgICAgICAgICAgICAgJiYgc2l4Q2hhciA9
|
||||
PSBwYXlsb2FkWzVdCiAgICAgICAgICAgICAgICAgICAgJiYgc2V2ZW5DaGFyID09IHBheWxvYWRb
|
||||
Nl0KICAgICAgICAgICAgICAgICAgICAmJiBlaWdodENoYXIgPT0gcGF5bG9hZFs3XSkgewogICAg
|
||||
ICAgICAgICAgICAgcmVzcG9uc2Uuc2V0U3VjY2Vzcyh0cnVlKTsKICAgICAgICAgICAgICAgIHJl
|
||||
c3BvbnNlLnNldFN1Y2Nlc3NDb2RlKFBSSU5UX1JFUVVFU1RfQUxMT1cpOwogICAgICAgICAgICAg
|
||||
ICAgTG9nZ2VyLmQoICJvRldHb1VwZ3JhZGVQcm9jZXNzIFN1Y2Nlc3MiKTsKICAgICAgICAgICAg
|
||||
fSBlbHNlICB7CiAgICAgICAgICAgICAgICByZXNwb25zZS5zZXRTdWNjZXNzKGZhbHNlKTsKICAg
|
||||
ICAgICAgICAgICAgIHJlc3BvbnNlLnNldEVycm9yQ29kZShQUklOVF9SRVFVRVNUX1JFSkVDVCk7
|
||||
CiAgICAgICAgICAgICAgICBMb2dnZXIuZCggIm9GV0dvVXBncmFkZVByb2Nlc3MgUmVqZWN0Iik7
|
||||
CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwogICAgfQog
|
||||
ICAgLyoqCiAgICAgKiBTdGFydCBFbmQgb2YgIHVwZ3JhZGUgY29tbWFuZCByZXNwb25zZSBhcyBw
|
||||
ZXIgcHJpbnRlciBhY2tub3dsZWRnbWVudAogICAgICoKICAgICAqIEBwYXJhbSBwYXlsb2FkIC0g
|
||||
UHJpbnRlciBwYXlsb2FkCiAgICAgKiBAcmV0dXJuIC0gUHJpbnRlclJlc3BvbnNlIE1vZGVsKElz
|
||||
U3VjY2VzcywgTWVzc2FnZSwgRXJyb3JDb2RlKQogICAgICovCiAgICBwdWJsaWMgUHJpbnRlclJl
|
||||
c3BvbnNlTW9kZWwgZG9GV0VuZE9mVXBncmFkZVByb2Nlc3MoYnl0ZVtdIHBheWxvYWQpIHsKICAg
|
||||
ICAgICAvLzB4MUIJMHgyQQkweDQzCTB4NDEJMHgwMQkweDAxCTB4MDMJMHgwMwlTdWNjZXNzOiAw
|
||||
eDU1IEVycm9yOiAweEEwCUVycm9yCiAgICAgICAgUHJpbnRlclJlc3BvbnNlTW9kZWwgcmVzcG9u
|
||||
c2UgPSBudWxsOwogICAgICAgIGlmIChwYXlsb2FkICE9IG51bGwgJiYgcGF5bG9hZC5sZW5ndGgg
|
||||
PT0gVE9UQUxfQllURVMpIHsKICAgICAgICAgICAgZmluYWwgYnl0ZSBwcmludFJlc3VsdCA9IHBh
|
||||
eWxvYWRbOF07CiAgICAgICAgICAgIExvZ2dlci5kKCAicHJpbnRSZXN1bHQ6ICIgKyBwcmludFJl
|
||||
c3VsdCk7CiAgICAgICAgICAgIHJlc3BvbnNlID0gbmV3IFByaW50ZXJSZXNwb25zZU1vZGVsKCk7
|
||||
CiAgICAgICAgICAgIGlmIChwcmludFJlc3VsdCA9PSBFTkRfT0ZfUFJJTlRfU1VDQ0VTUykgewog
|
||||
ICAgICAgICAgICAgICAgcmVzcG9uc2Uuc2V0U3VjY2Vzcyh0cnVlKTsKICAgICAgICAgICAgICAg
|
||||
IHJlc3BvbnNlLnNldE1lc3NhZ2UoIkVuZCBvZiBQcmludCBTdWNjZXNzIik7CiAgICAgICAgICAg
|
||||
ICAgICByZXNwb25zZS5zZXRTdWNjZXNzQ29kZShFTkRfT0ZfUFJJTlRfU1VDQ0VTUyk7CiAgICAg
|
||||
ICAgICAgIH0gZWxzZSBpZiAocHJpbnRSZXN1bHQgPT0gKGJ5dGUpIEVORF9PRl9QUklOVF9FUlJP
|
||||
UikgewogICAgICAgICAgICAgICAgZmluYWwgYnl0ZSByZWFzb24gPSBwYXlsb2FkWzldOwogICAg
|
||||
ICAgICAgICAgICAgcmVzcG9uc2Uuc2V0U3VjY2VzcyhmYWxzZSk7CgogICAgICAgICAgICAgICAg
|
||||
c3dpdGNoIChyZWFzb24pIHsKICAgICAgICAgICAgICAgICAgICBjYXNlIE5PTkVfRVJST1I6CiAg
|
||||
ICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNldEVycm9yQ29kZShOT05FX0VSUk9SKTsK
|
||||
ICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Uuc2V0TWVzc2FnZSgiTm9uZSBFcnJvciIp
|
||||
OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlIEZJ
|
||||
TEVfRVJST1I6CiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNldEVycm9yQ29kZShG
|
||||
SUFMRV9FUlJPUik7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNldE1lc3NhZ2Uo
|
||||
IkZpbGUgRXJyb3IiKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
|
||||
ICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwog
|
||||
ICAgfQoKICAgIC8qKgogICAgICogU3RhcnQgRW5kIG9mICB1cGdyYWRlIGNvbW1hbmQgcmVzcG9u
|
||||
c2UgYXMgcGVyIHByaW50ZXIgYWNrbm93bGVkZ21lbnQKICAgICAqCiAgICAgKiBAcGFyYW0gcGF5
|
||||
bG9hZCAtIFByaW50ZXIgcGF5bG9hZAogICAgICogQHJldHVybiAtIFByaW50ZXJSZXNwb25zZSBN
|
||||
b2RlbChJc1N1Y2Nlc3MsIE1lc3NhZ2UsIEVycm9yQ29kZSkKICAgICAqLwogICAgcHVibGljIFBy
|
||||
aW50ZXJSZXNwb25zZU1vZGVsIGRvRldFbmRPZlVwZ3JhZGVBS0NQcm9jZXNzKGJ5dGVbXSBwYXls
|
||||
b2FkKSB7CiAgICAgICAgUHJpbnRlclJlc3BvbnNlTW9kZWwgIHJlc3BvbnNlID0gbmV3IFByaW50
|
||||
ZXJSZXNwb25zZU1vZGVsKCk7CiAgICAgICAgcmVzcG9uc2Uuc2V0U3VjY2Vzcyh0cnVlKTsKICAg
|
||||
ICAgICByZXNwb25zZS5zZXRNZXNzYWdlKCJGVyBFbmQgb2YgVXBncmFkZSBBS0MgU3VjY2VzcyIp
|
||||
OwogICAgICAgIHJlc3BvbnNlLnNldFN1Y2Nlc3NDb2RlKEVORF9PRl9QUklOVF9TVUNDRVNTKTsK
|
||||
ICAgICAgICByZXR1cm4gcmVzcG9uc2U7CiAgICB9Cn0K
|
||||
package android.serialport.manager;
|
||||
|
||||
import android.content.Context;
|
||||
import android.serialport.model.PrinterResponseModel;
|
||||
import android.serialport.utils.ByteUtil;
|
||||
import android.serialport.utils.Logger;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
public class FWUpdateProcessManager {
|
||||
private Context mContext;
|
||||
private static FWUpdateProcessManager mProtocolManager;
|
||||
private static final int TOTAL_BYTES = 64;
|
||||
//Print Request Answer
|
||||
//File Available
|
||||
private final int PRINT_REQUEST_ALLOW = 0x01;
|
||||
private final int PRINT_REQUEST_REJECT = 0xFF;
|
||||
|
||||
private final int NONE_ERROR = 0x00;
|
||||
private final int SYSTEM_OVER_HEAT = 0x05;
|
||||
private final int SYSTEM_OVER_COLD = 0x06;
|
||||
private final int DURING_UPGRADING = 0x0E;
|
||||
private final int DURING_PRINTING = 0x10;
|
||||
|
||||
|
||||
//End of printer
|
||||
private final int END_OF_PRINT_SUCCESS = 0x55;
|
||||
private final int END_OF_PRINT_ERROR = 0xA0;
|
||||
|
||||
//FW Variable
|
||||
//Upgrade Error Message (for UpgradeErrMessage)
|
||||
private final int FILE_ERROR = 0x01;
|
||||
|
||||
private FWUpdateProcessManager(Context context) {
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
public static FWUpdateProcessManager getInstance(Context context) {
|
||||
if (mProtocolManager == null) {
|
||||
mProtocolManager = new FWUpdateProcessManager(context);
|
||||
}
|
||||
return mProtocolManager;
|
||||
}
|
||||
/**
|
||||
* Start FW upgrade request response as per printer acknowledgment
|
||||
*
|
||||
* @param payload - Printer payload
|
||||
* @return - PrinterResponse Model(IsSuccess, Message, ErrorCode)
|
||||
*/
|
||||
public PrinterResponseModel doFWUpgradeRequestACKProcess(byte[] payload) {
|
||||
//0x1B 0x2A 0x43 0x41 0x01 0x01 0x03 0x00 allow: 0x01 reject: 0xFF Reason
|
||||
PrinterResponseModel response = null;
|
||||
if (payload != null && payload.length == TOTAL_BYTES) {
|
||||
final byte requestAnswer = payload[8];
|
||||
final byte reason = payload[9];
|
||||
response = new PrinterResponseModel();
|
||||
Logger.d("FWUpgrade requestAnswer: "+ByteUtil.bytesToHexWithSpace(requestAnswer));
|
||||
Logger.d("FWUpgrade reason: "+ByteUtil.bytesToHexWithSpace(reason));
|
||||
if (requestAnswer == (byte) PRINT_REQUEST_REJECT) {
|
||||
response.setSuccess(false);
|
||||
switch (reason) {
|
||||
//0x05 System OverHeat
|
||||
//0x06 System OverCold
|
||||
//0x0E During Upgrading
|
||||
//0x10 During Printing
|
||||
case SYSTEM_OVER_HEAT:
|
||||
response.setErrorCode(SYSTEM_OVER_HEAT);
|
||||
response.setMessage("System Over Heat");
|
||||
break;
|
||||
case SYSTEM_OVER_COLD:
|
||||
response.setErrorCode(SYSTEM_OVER_COLD);
|
||||
response.setMessage("System Over Cold");
|
||||
break;
|
||||
case DURING_UPGRADING:
|
||||
response.setErrorCode(DURING_UPGRADING);
|
||||
response.setMessage("During Upgrading");
|
||||
break;
|
||||
case DURING_PRINTING:
|
||||
response.setErrorCode(DURING_PRINTING);
|
||||
response.setMessage("During Printing");
|
||||
break;
|
||||
}
|
||||
}else if (requestAnswer == PRINT_REQUEST_ALLOW) {
|
||||
response.setSuccess(true);
|
||||
response.setSuccessCode(PRINT_REQUEST_ALLOW);
|
||||
} else {
|
||||
response.setSuccess(true);
|
||||
response.setSuccessCode(PRINT_REQUEST_ALLOW);
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start FW go upgrade response as per printer acknowledgment
|
||||
*
|
||||
* @param payload - Printer payload
|
||||
* @return - PrinterResponse Model(IsSuccess, Message, ErrorCode)
|
||||
*/
|
||||
public PrinterResponseModel doFWGoUpgradeProcess(byte[] payload) {
|
||||
//0x1B 0x2A 0x43 0x41 0x01 0x01 0x03 0x02
|
||||
//0x1B 0x2A 0x43 0x41 0x00 0x01 0x03 0x02
|
||||
//1B 2A 43 41 01 01 03 02 00 00 00 0
|
||||
//1B 2A 43 41 01 01 03 03 A0 00 00 00 0
|
||||
byte oneChar = 0x1B;
|
||||
byte twoChar = 0x2A;
|
||||
byte threeChar = 0x43;
|
||||
byte fourChar = 0x41;
|
||||
byte fiveChar = 0x01;
|
||||
byte sixChar = 0x01;
|
||||
byte sevenChar = 0x03;
|
||||
byte eightChar = 0x02;
|
||||
PrinterResponseModel response = null;
|
||||
if (payload != null && payload.length == TOTAL_BYTES) {
|
||||
response = new PrinterResponseModel();
|
||||
if (oneChar == payload[0]
|
||||
&& twoChar == payload[1]
|
||||
&& threeChar == payload[2]
|
||||
&& fourChar == payload[3]
|
||||
&& fiveChar == payload[4]
|
||||
&& sixChar == payload[5]
|
||||
&& sevenChar == payload[6]
|
||||
&& eightChar == payload[7]) {
|
||||
response.setSuccess(true);
|
||||
response.setSuccessCode(PRINT_REQUEST_ALLOW);
|
||||
Logger.d( "oFWGoUpgradeProcess Success");
|
||||
} else {
|
||||
response.setSuccess(false);
|
||||
response.setErrorCode(PRINT_REQUEST_REJECT);
|
||||
Logger.d( "oFWGoUpgradeProcess Reject");
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
/**
|
||||
* Start End of upgrade command response as per printer acknowledgment
|
||||
*
|
||||
* @param payload - Printer payload
|
||||
* @return - PrinterResponse Model(IsSuccess, Message, ErrorCode)
|
||||
*/
|
||||
public PrinterResponseModel doFWEndOfUpgradeProcess(byte[] payload) {
|
||||
//0x1B 0x2A 0x43 0x41 0x01 0x01 0x03 0x03 Success: 0x55 Error: 0xA0 Error
|
||||
PrinterResponseModel response = null;
|
||||
if (payload != null && payload.length == TOTAL_BYTES) {
|
||||
final byte printResult = payload[8];
|
||||
Logger.d( "printResult: " + printResult);
|
||||
response = new PrinterResponseModel();
|
||||
if (printResult == END_OF_PRINT_SUCCESS) {
|
||||
response.setSuccess(true);
|
||||
response.setMessage("End of Print Success");
|
||||
response.setSuccessCode(END_OF_PRINT_SUCCESS);
|
||||
} else if (printResult == (byte) END_OF_PRINT_ERROR) {
|
||||
final byte reason = payload[9];
|
||||
response.setSuccess(false);
|
||||
|
||||
switch (reason) {
|
||||
case NONE_ERROR:
|
||||
response.setErrorCode(NONE_ERROR);
|
||||
response.setMessage("None Error");
|
||||
break;
|
||||
case FILE_ERROR:
|
||||
response.setErrorCode(FIALE_ERROR);
|
||||
response.setMessage("File Error");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start End of upgrade command response as per printer acknowledgment
|
||||
*
|
||||
* @param payload - Printer payload
|
||||
* @return - PrinterResponse Model(IsSuccess, Message, ErrorCode)
|
||||
*/
|
||||
public PrinterResponseModel doFWEndOfUpgradeAKCProcess(byte[] payload) {
|
||||
PrinterResponseModel response = new PrinterResponseModel();
|
||||
response.setSuccess(true);
|
||||
response.setMessage("FW End of Upgrade AKC Success");
|
||||
response.setSuccessCode(END_OF_PRINT_SUCCESS);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user