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