From ddafb0f0951e68b4e56bfceef43cf78559f5161f Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期三, 26 六月 2024 14:52:27 +0800 Subject: [PATCH] 1.修复河南版本域名卡结构不同问题 2.修复齐河版本最终购水日期的bug --- henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java | 57 +++++----------------------- henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java | 30 +++++++++++--- ocridcardlibrary/src/main/jniLibs/arm64-v8a/libtflite-android.so | 0 ocridcardlibrary/src/main/jniLibs/arm64-v8a/libtensorflowlite.so | 0 ocridcardlibrary/src/main/jniLibs/arm64-v8a/libMLClassifier.so | 0 ocridcardlibrary/src/main/jniLibs/arm64-v8a/libAndroidIDCard.so | 0 app/build.gradle | 10 ++-- 7 files changed, 39 insertions(+), 58 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 94d0b6d..ed99b59 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,13 +16,13 @@ applicationId "com.dayu.recharge" minSdk 23 targetSdk 26 - versionCode 24 - versionName "2.4" + versionCode 253 + versionName "2.5.3" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" -// ndk { -// abiFilters 'armeabi-v7a' -// } + ndk { + abiFilters 'armeabi-v7a','arm64-v8a' + } signingConfig signingConfigs.debug } diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java index 5f11fca..8fb1d67 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/activity/NFCWreatActivity.java @@ -210,7 +210,7 @@ } if (this.getIntent().hasExtra("domainCard_luyi")) { domainCard = (DomainCard) this.getIntent().getSerializableExtra("domainCard_luyi"); - binding.cardData.setText("鍒朵綔璁剧疆鏂颁埂鍩熷悕鍗�"); + binding.cardData.setText("鍒朵綔璁剧疆楣块倯鍩熷悕鍗�"); } if (this.getIntent().hasExtra("testCard")) { testCard = (TestCard) this.getIntent().getSerializableExtra("testCard"); @@ -524,7 +524,11 @@ } private void setmanageCard(Intent intent, final ManageCard manageCard) { - manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toZeroByte(baseDao), 1, 0); + try { + manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toZeroByte(baseDao), 1, 0); + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -534,7 +538,11 @@ * @param clearOrInitCard */ private void setClean(Intent intent, final CleanCard clearOrInitCard) { - cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(baseDao), 1, 0); + try { + cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(baseDao), 1, 0); + } catch (Exception e) { + e.printStackTrace(); + } } @@ -545,7 +553,11 @@ * @param registeredCard */ private void setRegisteredCard(Intent intent, RegisteredCard registeredCard) { - registeredFlag = NFCWriteHelper.getInstence(intent, this).writeData(registeredCard.toByte(baseDao), 1, 0); + try { + registeredFlag = NFCWriteHelper.getInstence(intent, this).writeData(registeredCard.toByte(baseDao), 1, 0); + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -555,7 +567,11 @@ * @param cleanUserCard */ private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) { - cleanUserCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(cleanUserCard.toByte(baseDao), 1, 0); + try { + cleanUserCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(cleanUserCard.toByte(baseDao), 1, 0); + } catch (Exception e) { + e.printStackTrace(); + } } /** @@ -577,7 +593,7 @@ domainCrdFlag = NFCWriteHelper.getInstence(intent, this).writeData(domainXinXiangCard.getTwoByte(), 1, 2); } catch (Exception e) { domainCrdFlag = false; - throw new RuntimeException(e); + e.printStackTrace(); } } @@ -595,7 +611,7 @@ configPowerFlag = NFCWriteHelper.getInstence(intent, this).writeData(configurationPowerCard.toByte(baseDao), 1, 0); } catch (Exception e) { configPowerFlag = false; - throw new RuntimeException(e); + e.printStackTrace(); } } diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java index 977ad1b..4c3e93d 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/card/DomainCard.java @@ -172,13 +172,13 @@ public byte[] toByte() { byte[] data = new byte[16]; data[0] = HexUtil.hexToByte(cardType); + domainLength = domainName.length(); // 鍩熷悕鍗℃柊涔1鍚庢湁01==0锛岄箍閭戞病鏈�01==1 if (type == 0) { if (domainNumber != null) { byte[] domainNumbers = BcdUtil.strToBcd(domainNumber); data[1] = domainNumbers[0]; } - domainLength = domainName.length(); data[2] = HexUtil.hexToByte(HexUtil.get10to16(domainLength)); String portStr = String.valueOf(port); int lenght = portStr.length(); @@ -187,11 +187,7 @@ } String ascii = IDN.toASCII(domainName + "," + portStr + "#"); asciiByte = ascii.getBytes(); - if (asciiByte.length < 12) { - System.arraycopy(asciiByte, 0, data, 3, asciiByte.length); - } else { - System.arraycopy(asciiByte, 0, data, 3, 12); - } + System.arraycopy(asciiByte, 0, data, 3, Math.min(asciiByte.length, 12)); } else { data[1] = HexUtil.hexToByte(HexUtil.get10to16(domainLength)); String portStr = String.valueOf(port); @@ -201,13 +197,7 @@ } String ascii = IDN.toASCII(domainName + "," + portStr + "#"); asciiByte = ascii.getBytes(); - if (asciiByte.length < 13) { - System.arraycopy(asciiByte, 0, data, 1, asciiByte.length); - } else { - System.arraycopy(asciiByte, 0, data, 1, 13); - } - - + System.arraycopy(asciiByte, 0, data, 2, Math.min(asciiByte.length, 13)); } @@ -224,22 +214,10 @@ public byte[] toBytes() { byte[] data = new byte[16]; - if (type==0){ - if (asciiByte.length > 12) { - if (asciiByte.length - 12 < 15) { - System.arraycopy(asciiByte, 12, data, 0, asciiByte.length - 12); - } else { - System.arraycopy(asciiByte, 12, data, 0, 15); - } - } - }else { - if (asciiByte.length > 13) { - if (asciiByte.length - 13 < 15) { - System.arraycopy(asciiByte, 13, data, 0, asciiByte.length - 12); - } else { - System.arraycopy(asciiByte, 13, data, 0, 15); - } - } + int offset = (type == 0) ? 12 : 13; + + if (asciiByte.length > offset) { + System.arraycopy(asciiByte, offset, data, 0, Math.min(asciiByte.length - offset, 15)); } data[15] = getByteSum(data); @@ -255,24 +233,11 @@ public class Two extends BaseCard { public byte[] toBytes() { byte[] data = new byte[16]; - if (type==0){ - if (asciiByte.length > (12 + 15)) { - if (asciiByte.length - (12 + 15) < 15) { - System.arraycopy(asciiByte, 12 + 15, data, 0, asciiByte.length - (12 + 15)); - } else { - System.arraycopy(asciiByte, 12 + 15, data, 0, 15); - } - } - }else { - if (asciiByte.length > (13 + 15)) { - if (asciiByte.length - (13 + 15) < 15) { - System.arraycopy(asciiByte, 13 + 15, data, 0, asciiByte.length - (12 + 15)); - } else { - System.arraycopy(asciiByte, 13 + 15, data, 0, 15); - } - } + int offset = (type == 0) ? 27 : 28; // 12 + 15 and 13 + 15 + if (asciiByte.length > offset) { + int lengthToCopy = Math.min(asciiByte.length - offset, 15); + System.arraycopy(asciiByte, offset, data, 0, lengthToCopy); } - data[15] = getByteSum(data); return data; } diff --git a/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libAndroidIDCard.so b/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libAndroidIDCard.so new file mode 100644 index 0000000..78b6a92 --- /dev/null +++ b/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libAndroidIDCard.so Binary files differ diff --git a/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libMLClassifier.so b/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libMLClassifier.so new file mode 100644 index 0000000..f47645e --- /dev/null +++ b/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libMLClassifier.so Binary files differ diff --git a/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libtensorflowlite.so b/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libtensorflowlite.so new file mode 100644 index 0000000..ae47a2c --- /dev/null +++ b/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libtensorflowlite.so Binary files differ diff --git a/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libtflite-android.so b/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libtflite-android.so new file mode 100644 index 0000000..7d4e55f --- /dev/null +++ b/ocridcardlibrary/src/main/jniLibs/arm64-v8a/libtflite-android.so Binary files differ -- Gitblit v1.8.0