From dd0f9e5f533d868d68c5fc343a44356b537b3988 Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期五, 06 六月 2025 15:36:45 +0800
Subject: [PATCH] feat(nfc): 新增用户卡写入功能并优化开卡流程

---
 baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java |   79 +++++++++++++++++++++++++++++++++------
 1 files changed, 66 insertions(+), 13 deletions(-)

diff --git a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java
index bed540e..afee1df 100644
--- a/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java
+++ b/baselibrary/src/main/java/com/dayu/baselibrary/tools/nfc/NfcWriteAdapter.java
@@ -6,6 +6,9 @@
 
 import com.dayu.baselibrary.activity.BaseNfcActivity;
 import com.dayu.baselibrary.bean.BaseUserCardCard;
+import com.dayu.baselibrary.utils.ModelUtils;
+
+import java.util.List;
 
 /**
  * author: zuo
@@ -15,29 +18,71 @@
  */
 public class NfcWriteAdapter extends BaseNfcWriteHelper {
     NativeNfcWriteHelper nativeNfcWriteHelper;
+
     public NfcWriteAdapter(Intent intent, Activity activity) {
-        switch (BaseNfcActivity.adapterType){
-            case NfcCommonData.defaultType:
-                nativeNfcWriteHelper=new NativeNfcWriteHelper(intent,activity);
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                nativeNfcWriteHelper = NativeNfcWriteHelper.getInstence(intent, activity);
                 break;
         }
     }
 
     @Override
-    public boolean writeUserData(BaseUserCardCard userCard) {
-        switch (BaseNfcActivity.adapterType){
-            case NfcCommonData.defaultType:
-                return  nativeNfcWriteHelper.writeUserData(userCard);
+    public void setIntent(Intent intent) {
+        nativeNfcWriteHelper.setIntent(intent);
+    }
 
+    @Override
+    public boolean writeUserData(BaseUserCardCard userCard, int sector) {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcWriteHelper.writeUserData(userCard, sector);
+
+        }
+        return false;
+    }
+
+    /**
+     * 鍐欑敤鎴锋暟鎹紙甯﹀洖璋冿級
+     *
+     * @param userCard 鐢ㄦ埛鍗℃暟鎹�
+     * @param sector   鎵囧尯
+     * @param callBack 鍥炶皟鎺ュ彛
+     * @return 鏄惁鎴愬姛
+     */
+    public boolean writeUserData(BaseUserCardCard userCard, int sector, NFCCallBack callBack) {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcWriteHelper.writeUserData(userCard, sector, callBack);
         }
         return false;
     }
 
     @Override
     public boolean writeData(byte[] str, int a, int b) {
-        switch (BaseNfcActivity.adapterType){
-            case NfcCommonData.defaultType:
-                return  nativeNfcWriteHelper.writeData(str,a,b);
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcWriteHelper.writeData(str, a, b);
+
+        }
+        return false;
+    }
+
+    @Override
+    public boolean writeData(byte[] str, int a, int b, NFCCallBack callBack) {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcWriteHelper.writeData(str, a, b, callBack);
+
+        }
+        return false;
+    }
+
+    @Override
+    public boolean writeData(byte[] str, int a, int b, boolean isConnect, NFCCallBack callBack) {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcWriteHelper.writeData(str, a, b, isConnect, callBack);
 
         }
         return false;
@@ -45,11 +90,19 @@
 
     @Override
     public boolean changePasword(int a, MifareClassic mfc) {
-        switch (BaseNfcActivity.adapterType){
-            case NfcCommonData.defaultType:
-                return  nativeNfcWriteHelper.changePasword(a,mfc);
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcWriteHelper.changePasword(a, mfc);
 
         }
         return false;
     }
+
+    public boolean changePasword(List<byte[]> passWord, boolean isConnect, boolean isClose, NFCCallBack callBack) {
+        switch (BaseNfcActivity.adapterType) {
+            case ModelUtils.defaultType:
+                return nativeNfcWriteHelper.changePasword(passWord, isConnect, isClose, callBack);
+        }
+        return false;
+    }
 }

--
Gitblit v1.8.0