From 9c11fb9a45b0f1ff2a86eb139078e5361216434b Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 29 十一月 2023 14:59:10 +0800
Subject: [PATCH] 读取模拟卡修改后注释(未完成)

---
 app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java |  181 +++++++++++++++++----------------------------
 1 files changed, 69 insertions(+), 112 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
index 48f91a6..964df1c 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
@@ -3,11 +3,9 @@
 import android.content.Intent;
 import android.nfc.NfcAdapter;
 import android.os.Bundle;
-import android.os.Handler;
 import android.os.Message;
 import android.view.LayoutInflater;
 import android.view.View;
-
 
 import com.dayu.recharge.card.ConfigurationPowerCard;
 import com.dayu.recharge.card.DomainCard;
@@ -27,6 +25,7 @@
 import com.dayu.recharge.utils.MyCommon;
 import com.dayu.recharge.utils.SocketUtil;
 import com.dayu.recharge.utils.TipUtil;
+import com.dayu.recharge.view.ProgressDialog;
 
 import java.util.Arrays;
 import java.util.Calendar;
@@ -74,7 +73,7 @@
         redCardBinding.redRemainderBlance.setText("鍓╀綑閲戦锛�" + MornyUtil.changeF2Y(blance) + "鍏�");
         redCardBinding.redStatu.setText("鍗$姸鎬侊細" + statu);
         if (userCard != null) {
-            redCardBinding.redInitCode.setText("鐢ㄦ埛娉ㄥ唽缂栧彿锛�" + userCard.getInitPeasantCode());
+            redCardBinding.redInitCode.setText( userCard.getInitPeasantCode());
             Calendar calendar = userCard.getRechargeDate();
             if (calendar != null) {
                 int year = calendar.get(Calendar.YEAR);
@@ -95,150 +94,107 @@
 
     @Override
     public void onNewIntent(Intent intent) {
-        super.onNewIntent(intent);
         this.intent = intent;
-        startAnim();
+        ProgressDialog.show(this);
         if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
             readAllData(intent);
         }
+        super.onNewIntent(intent);
     }
 
     /**
      * 璇诲彇鍏ㄩ儴鏁版嵁
      */
 
-   public   void readAllData(Intent intent) {
+    public void readAllData(Intent intent) {
         NfcReadHelper.getInstence(intent)
-                .getAllData(new NfcReadHelper.NFCCallListback() {
+                .getOneSectorData(new NfcReadHelper.NFCCallListback() {
                     @Override
-                    public void callBack(Map<String, List<byte[]>> data) {
-                        Message message = new Message();
+                    public void callBack(List<byte[]> data) {
                         //鑾峰彇1鎵囧尯鏁版嵁
-                        List<byte[]> oneSector = data.get("1");
-                        if (oneSector != null && oneSector.size() > 0) {
-                            byte cardType = oneSector.get(0)[0];
+                        if (data != null && data.size() > 0) {
+                            byte cardType = data.get(0)[0];
                             String cardTypeStr = HexUtil.byteToHex(cardType);
                             switch (cardTypeStr) {
                                 case MyCommon.USER_CARD_TYPE_1:
                                 case MyCommon.USER_CARD_TYPE_2:
                                 case MyCommon.USER_CARD_TYPE_3:
-                                    userCard = UserCard.getBean(oneSector);
-                                    message.what = USER_CRAD;
+                                    userCard = UserCard.getBean(data);
+                                    selectBalance(userCard.getInitPeasantCode());
                                     break;
                                 case MyCommon.MANAGE_CRAD:
-                                    message.what = MANAGE_CRAD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.CLEAN_CARD_TYPE:
-                                    message.what = CLEAN_CARD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓烘竻闆跺崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.REGISTERED_CARD_TYPE:
-                                    message.what = REGISTERED_CARD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓洪噸鏂版敞鍐岃澶囧崱");
+                                    stopAnim();
+
                                     break;
                                 case MyCommon.CLEAN_ALL_USER_CARD_TYPE:
-                                    message.what = CLEAN_ALL_USER;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓哄垹闄ゅ叏閮ㄧ敤鎴峰崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.DOMAIN_CARD_TYPE:
-                                    message.what = DOMAIN_CARD;
-                                    message.obj = oneSector;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓鸿缃煙鍚嶅崱");
+                                    DomainCard domainCard = DomainCard.toBean(data);
+                                    redCardBinding.readCardDataTV.setText("搴忓彿锛�" + domainCard.getDomainNumber() + "\n" + "鍩熷悕锛�" + domainCard.getDomainName() + "\n" + "绔彛鍙凤細" + domainCard.getPort());
+                                    stopAnim();
                                     break;
                                 case MyCommon.TEST_CARD_TYPE:
-                                    message.what = TEST_CARD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓烘祴璇曞崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.CONFIGURATION_CARD_TYPE:
-                                    message.what = CONFIGURATION_CARD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓洪厤缃澶囨敞鍐屼俊鎭崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.CONFIGURATION_POWER_CARD_TYPE:
-                                    message.what = CONFIGURATION_POWER_CARD;
-                                    message.obj = oneSector.get(0);
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠閰嶇疆姘存车鍔熺巼鍗�");
+                                    ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(data.get(0));
+                                    redCardBinding.readCardDataTV.setText(powerCard.getPower());
+                                    stopAnim();
+                                    break;
+                                default:
+                                    TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
+                                    stopAnim();
                                     break;
                             }
 
                         } else {
-                            message.what = MyCommon.ERROR;
+                            TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
+                            stopAnim();
                         }
-                        handler.sendMessage(message);
-                    }
 
+                    }
 
                     @Override
                     public void error(int code) {
-                        Message message = new Message();
-                        message.what = code;
-                        handler.sendMessage(message);
+                        switch (code) {
+                            case MyCommon.ERROR_MOVE:
+                                stopAnim();
+                                TipUtil.show("杩炴帴涓柇锛岃閲嶆柊璐村悎鍗$墖");
+                                break;
+                            default:
+                                stopAnim();
+                                TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
+                        }
                     }
                 });
     }
 
-    Handler handler = new Handler(new Handler.Callback() {
-        @Override
-        public boolean handleMessage(Message msg) {
-            switch (msg.what) {
-                case USER_CRAD:
-                    selectBalance(userCard.getInitPeasantCode());
-                    break;
-                case MANAGE_CRAD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱");
-                    stopAnim();
-                    break;
-                case CLEAN_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓烘竻闆跺崱");
-                    stopAnim();
-                    break;
-                case REGISTERED_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓洪噸鏂版敞鍐岃澶囧崱");
-                    stopAnim();
-                    break;
-                case CLEAN_ALL_USER:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓哄垹闄ゅ叏閮ㄧ敤鎴峰崱");
-                    stopAnim();
-                    break;
-                case DOMAIN_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓鸿缃煙鍚嶅崱");
-                    List<byte[]> data = (List<byte[]>) msg.obj;
-                    DomainCard domainCard = DomainCard.toBean(data);
-                    redCardBinding.readCardDataTV.setText("搴忓彿锛�" + domainCard.getDomainNumber() + "\n" + "鍩熷悕锛�" + domainCard.getDomainName() + "\n" + "绔彛鍙凤細" + domainCard.getPort());
-                    stopAnim();
-                    break;
-                case TEST_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓烘祴璇曞崱");
-                    stopAnim();
-                    break;
-                case CONFIGURATION_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓洪厤缃澶囨敞鍐屼俊鎭崱");
-                    stopAnim();
-                    break;
-                case CONFIGURATION_POWER_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠閰嶇疆姘存车鍔熺巼鍗�");
-                    byte[] powerData = (byte[]) msg.obj;
-                    ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(powerData);
-                    redCardBinding.readCardDataTV.setText(powerCard.getPower());
-                    stopAnim();
-                    break;
-                case PASS_WORD_CRAD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓哄瘑鐮佸崱");
-                    stopAnim();
-                    break;
-                case MyCommon.ERROR_MOVE:
-                    stopAnim();
-                    TipUtil.show("杩炴帴涓柇锛岃閲嶆柊璐村悎鍗$墖");
-                    break;
-                default:
-                    TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
-                    stopAnim();
-                    break;
-            }
-            return false;
-        }
-    });
 
     private void viweGone(boolean isUSerCard) {
         redCardBinding.readImgLL.setVisibility(View.GONE);
@@ -252,14 +208,9 @@
 
     }
 
-    void startAnim() {
-        redCardBinding.avi.setVisibility(View.VISIBLE);
-        redCardBinding.avi.show();
-        // or avi.smoothToShow();
-    }
 
     void stopAnim() {
-        redCardBinding.avi.hide();
+        ProgressDialog.dismiss();
         // or avi.smoothToHide();
     }
 
@@ -283,12 +234,18 @@
 
                     try {
                         stateText = new StringBuffer();
-                        //閲戦
-                        byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
-                        int balance = SocketUtil.get16to10LowHigh(blanceByte);
-                        //濮撳悕
-                        byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
-                        String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
+                        int balance = 0;
+                        String name = null;
+                        try {
+                            //閲戦
+                            byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7);
+                            balance = SocketUtil.get16to10LowHigh(blanceByte);
+                            //濮撳悕
+                            byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19);
+                            name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
 
                         String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]);  //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s
                         if ("00".equals(state)) {

--
Gitblit v1.8.0