From 50f6dd3b617f769e7fc6094c2dd0752747541489 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 23 十一月 2023 18:04:05 +0800 Subject: [PATCH] 修复导出充值记录bug 优化充值记录加载逻辑和速度 优化导出记录逻辑 --- app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java | 149 +++++++++++++++++-------------------------------- 1 files changed, 52 insertions(+), 97 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 d7f58d0..5b04dc2 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; @@ -96,12 +94,12 @@ @Override public void onNewIntent(Intent intent) { - super.onNewIntent(intent); this.intent = intent; ProgressDialog.show(this); if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { readAllData(intent); } + super.onNewIntent(intent); } /** @@ -110,136 +108,93 @@ 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); -- Gitblit v1.8.0