From 2b02b6e854a56a511588e4865ddf2c6597675329 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 16 六月 2025 16:04:54 +0800
Subject: [PATCH] feat(nfc): 添加读卡功能并优化写卡流程

---
 baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java |   68 ++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 15 deletions(-)

diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java
index fcbae8b..e3d8fbd 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcReadAdapter.java
@@ -3,10 +3,14 @@
 import android.app.Activity;
 import android.content.Intent;
 
+import androidx.annotation.NonNull;
+
 import com.dayu.baselibrary.activity.BaseNfcActivity;
 import com.dayu.baselibrary.bean.BaseUserCardCard;
+import com.dayu.baselibrary.utils.ModelUtils;
 
-import java.util.Collections;
+import org.jetbrains.annotations.NotNull;
+
 import java.util.List;
 
 /**
@@ -19,10 +23,15 @@
 
     NativeNfcReadHelper nativeNfcReadHelper;
 
+    @Override
+    public void setIntent(Intent intent) {
+        nativeNfcReadHelper.setIntent(intent);
+    }
+
     public NfcReadAdapter(Intent intent, Activity activity) {
         switch (BaseNfcActivity.adapterType) {
-            case NfcCommonData.defaultType:
-                nativeNfcReadHelper = new NativeNfcReadHelper(intent, activity);
+            case ModelUtils.defaultType:
+                nativeNfcReadHelper = NativeNfcReadHelper.getInstence(intent, activity);
                 break;
         }
 
@@ -31,7 +40,7 @@
     @Override
     public String getCradType() {
         switch (BaseNfcActivity.adapterType) {
-            case NfcCommonData.defaultType:
+            case ModelUtils.defaultType:
                 return nativeNfcReadHelper.getCradType();
 
         }
@@ -41,7 +50,7 @@
     @Override
     public void getAllData(NFCCallMapback callback) {
         switch (BaseNfcActivity.adapterType) {
-            case NfcCommonData.defaultType:
+            case ModelUtils.defaultType:
                 nativeNfcReadHelper.getAllData(callback);
                 break;
 
@@ -51,7 +60,7 @@
     @Override
     public void getOneSectorData(NFCCallListback callback) {
         switch (BaseNfcActivity.adapterType) {
-            case NfcCommonData.defaultType:
+            case ModelUtils.defaultType:
                 nativeNfcReadHelper.getOneSectorData(callback);
                 break;
 
@@ -60,22 +69,42 @@
 
     @Override
     public String getCardNumber() {
+        return getCardNumber(false);
+    }
+
+
+    public String getCardNumber(boolean isChangePS) {
         switch (BaseNfcActivity.adapterType) {
-            case NfcCommonData.defaultType:
+            case ModelUtils.defaultType:
                 return nativeNfcReadHelper.getCardNumber();
+        }
+        return "";
+    }
 
 
+    public String getCardNumberNoClose() {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcReadHelper.getCardNumberNoClose();
+        }
+        return "";
+    }
+
+
+    @Override
+    public String getCradTypeAndCardNumber() {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcReadHelper.getCradTypeAndCardNumber();
         }
         return "";
     }
 
     @Override
-    public String getCradTypeAndCardNumber() {
+    public String getCradTypeAndCardNumber(int sectorIndex, int blockIndex, int cardTypeIndex) {
         switch (BaseNfcActivity.adapterType) {
-            case NfcCommonData.defaultType:
-                return nativeNfcReadHelper.getCradTypeAndCardNumber();
-
-
+            case ModelUtils.defaultType:
+                return nativeNfcReadHelper.getCradTypeAndCardNumber(sectorIndex, blockIndex, cardTypeIndex);
         }
         return "";
     }
@@ -83,7 +112,7 @@
     @Override
     public void getData(int a, int b, NFCCallByteback callback) {
         switch (BaseNfcActivity.adapterType) {
-            case NfcCommonData.defaultType:
+            case ModelUtils.defaultType:
                 nativeNfcReadHelper.getData(a, b, callback);
                 break;
         }
@@ -92,7 +121,7 @@
     @Override
     public List<byte[]> getOnesectorData() {
         switch (BaseNfcActivity.adapterType) {
-            case NfcCommonData.defaultType:
+            case ModelUtils.defaultType:
                 return nativeNfcReadHelper.getOnesectorData();
 
 
@@ -103,9 +132,18 @@
     @Override
     public BaseUserCardCard getUserCardData(BaseUserCardCard userCardCard) {
         switch (BaseNfcActivity.adapterType) {
-            case NfcCommonData.defaultType:
+            case ModelUtils.defaultType:
                 return nativeNfcReadHelper.getUserCardData(userCardCard);
         }
         return null;
     }
+
+    @Override
+    public BaseUserCardCard getUserCardData(int sectorIndex, BaseUserCardCard userCardCard) {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcReadHelper.getUserCardData(sectorIndex, userCardCard);
+        }
+        return null;
+    }
 }

--
Gitblit v1.8.0