From ebc06a3ae3a42bd6ac1359a59c55d5e6f1a0e2f0 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 26 三月 2024 16:18:08 +0800
Subject: [PATCH] 优化通讯 写卡界面添加二次确认 优化用户写卡逻辑,提高写卡速度。

---
 app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java |   58 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 30 insertions(+), 28 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
index 12031d2..57b9d9b 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
@@ -65,7 +65,7 @@
 
         try {
             this.intent = intent;
-            userCard = NfcReadHelper.getInstence(intent).getUserCardData();
+            userCard = NfcReadHelper.getInstence(intent, this).getUserCardData();
             if (userCard != null) {
                 ProgressDialog.show(this);
                 selectBalance(userCard.getInitPeasantCode());
@@ -88,23 +88,21 @@
             e.printStackTrace();
             CrashReport.postCatchedException(e);
         }
-        binding.rechargeRegistBtn.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                String morny = binding.rechargeWater.getText().toString();
-                if (!TextUtils.isEmpty(morny)) {
-                    String initCode = DeviceNumberUtils.getDeviceNumber();
-                    if (TextUtils.isEmpty(initCode)) {
-                        TipUtil.show(RechargeActivity.this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃");
-                    }
-                    Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class);
-                    intent.putExtra("morny", morny);
-                    intent.putExtra("userName", userName);
-                    intent.putExtra("userCard", userCard);
-                    startActivity(intent);
-                } else {
-                    TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級");
+        binding.rechargeRegistBtn.setOnClickListener(v -> {
+            String morny = binding.rechargeWater.getText().toString();
+            if (!TextUtils.isEmpty(morny)) {
+                String initCode = DeviceNumberUtils.getDeviceNumber();
+                if (TextUtils.isEmpty(initCode)) {
+                    TipUtil.show(RechargeActivity.this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃");
+                    return;
                 }
+                Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class);
+                intent.putExtra("morny", morny);
+                intent.putExtra("userName", userName);
+                intent.putExtra("userCard", userCard);
+                startActivity(intent);
+            } else {
+                TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級");
             }
         });
     }
@@ -135,7 +133,6 @@
                     if (!s.toString().substring(1, 2).equals(".")) {
                         editText.setText(s.subSequence(0, 1));
                         editText.setSelection(1);
-                        return;
                     }
                 }
             }
@@ -170,23 +167,28 @@
             requestBean.setInitCode(initCode);
             requestBean.setInitPeasantCode(initPeasantCode);
             requestBean.setXuLie(SocketUtil.getXuLie(this));
-            SocketNet.getInstance().sendTestMessage(requestBean.pack(), new SocketCallBack() {
+            SocketNet.getInstance().sendTestMessage(requestBean.pack(),"94", new SocketCallBack() {
                 @Override
                 public void onSocketResponse(SocketData readData) {
                     ProgressDialog.dismiss();
                     if (CRC8.isCRC8(readData.getOriginDataBytes())) {
-                        StringBuffer stateText = null;
+                        StringBuffer stateText ;
                         try {
                             stateText = new StringBuffer();
                             String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]);  //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s
+                            int balance = 0;
 
-                            //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊�
-                            //閲戦
-                            byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
-                            int balance = SocketUtil.get16to10LowHigh(blanceByte);
-                            //濮撳悕
-                            byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
-                            userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
+                            try {
+                                //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊�
+                                //閲戦
+                                byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
+                                balance = SocketUtil.get16to10LowHigh(blanceByte);
+                                //濮撳悕
+                                byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
+                                userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
                             binding.rechargeLL.setVisibility(View.VISIBLE);
                             binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
                             binding.rechargeReadLL.setVisibility(View.GONE);
@@ -207,7 +209,7 @@
                                 stateText.append("璇ュ崱宸茶绂佺敤");
                                 userCard.setState("01");
                                 userCard.setBalance(balance);
-                                userFlag = WriteCardUtils.setUser(intent, userCard);
+                                userFlag = WriteCardUtils.setUser(intent, userCard, RechargeActivity.this);
                             } else if ("02".equals(state)) {
                                 stateText.append("闅跺睘淇℃伅涓嶇");
                             } else if ("03".equals(state)) {

--
Gitblit v1.8.0