From fe79cc8b05637b7dd3fc8f4c37a54e5f85da1efc Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 27 三月 2024 17:35:27 +0800
Subject: [PATCH] 优化卡标识设置界面提示

---
 app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java |  102 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 79 insertions(+), 23 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
index 7d23e6d..096e8f7 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -5,6 +5,7 @@
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.Toast;
@@ -42,7 +43,9 @@
 import com.dayu.recharge.utils.MyCommon;
 import com.dayu.recharge.utils.SocketUtil;
 import com.dayu.recharge.utils.TipUtil;
+import com.dayu.recharge.view.ConfirmDialog;
 import com.dayu.recharge.view.ProgressDialog;
+import com.dayu.recharge.view.TitleBar;
 import com.tencent.bugly.crashreport.CrashReport;
 
 import java.util.Arrays;
@@ -71,6 +74,11 @@
     boolean configDeviceRegiestFlag = false;
 
     boolean configPowerFlag = false;
+
+    /**
+     * 鏄惁涓嶅啀楠岃瘉鐢ㄦ埛鐩存帴鍐欏崱
+     */
+    boolean isAgainWrite = false;
 
     UserCardBean userCardBean;
 
@@ -105,6 +113,7 @@
     //鍏呭�奸�氫俊鏄惁瀹屾垚
     boolean rechargeIsOk = false;
     ActivityWriteTextBinding binding;
+    ConfirmDialog confirmDialog;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -113,12 +122,61 @@
             binding = ActivityWriteTextBinding.inflate(LayoutInflater.from(this));
             setContentView(binding.getRoot());
             nfcWreatActivity = this;
+            setData();
             getData();
             baseApp = (MyApplication) getApplication();
         } catch (Exception e) {
             e.printStackTrace();
             CrashReport.postCatchedException(e);
         }
+    }
+
+
+    private void setData() {
+        titleBar.setOnItemclickListner(TitleBar.ClickType_LEFT_IMAGE, v -> {
+            //澶勭悊鍥犵敤鎴疯鎿嶄綔杩斿洖瀵艰嚧涓嶈兘鍐欏崱鐨勯棶棰橈紝娣诲姞浜屾纭
+            back();
+        });
+    }
+
+    private void back() {
+        if (isUser) {
+            confirmDialog = new ConfirmDialog(NFCWreatActivity.this, v -> {
+                confirmDialog.dismiss();
+                myFinish();
+            });
+            confirmDialog.show();
+        } else if (!TextUtils.isEmpty(morny)) {
+            confirmDialog = new ConfirmDialog(NFCWreatActivity.this, v -> {
+                confirmDialog.dismiss();
+                myFinish();
+            });
+            confirmDialog.show();
+        } else {
+            finish();
+        }
+    }
+
+
+    private void myFinish() {
+        if (NewCardActivity.newCardActivity != null) {
+            NewCardActivity.newCardActivity.finish();
+        }
+        if (RechargeActivity.rechargeActivity != null) {
+            RechargeActivity.rechargeActivity.finish();
+        }
+        NFCWreatActivity.nfcWreatActivity.finish();
+    }
+
+
+    //鐐瑰嚮涓ゆ閫�鍑虹▼搴� 鏈夋椂闂撮棿闅� 闂撮殧鍐呯偣鍑诲垯閫�鍑虹▼搴� 鍚﹀垯 鍒欐彁绀�
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_BACK) {
+            back();
+            return true;
+        }
+        return super.onKeyDown(keyCode, event);
     }
 
 
@@ -201,6 +259,8 @@
             binding.textView.setTextColor(getResources().getColor(R.color.red));
         } else if (cardType.equals("-1")) {
             TipUtil.show(NFCWreatActivity.this, "璇峰嬁绉诲姩鍗$墖锛岃鍗″け璐ヨ閲嶈瘯锛侊紒");
+        } else if (cardType.equals("-2")) {
+            TipUtil.show(NFCWreatActivity.this, "璇诲崱澶辫触,璇锋鏌ュ崱鏄惁鏄敤鎴峰崱");
         } else {
             Log.i("NFCWreatActivity", "olduserCard!=null  saveData");
             saveData();
@@ -219,7 +279,6 @@
                     || configureDeviceRegistrationCrad != null
                     || configurationPowerCard != null) {
                 if (userCard != null && TextUtils.isEmpty(morny)) {
-
                     userFlag = WriteCardUtils.setUser(intent, userCard, this);
                 }
                 if (cleanCard != null) {
@@ -360,7 +419,7 @@
             rechargeRequestBean.setBalance(morny);
 
             rechargeRequestBean.setOrderId(SocketUtil.getOrderId(NFCWreatActivity.this));
-            SocketNet.getInstance().sendTestMessage(rechargeRequestBean.pack(), new SocketCallBack() {
+            SocketNet.getInstance().sendTestMessage(rechargeRequestBean.pack(),"95", new SocketCallBack() {
 
                 @Override
                 public void onSocketResponse(SocketData readData) {
@@ -378,7 +437,7 @@
                         //00鍚敤01绂佺敤02闅跺睘淇℃伅涓嶇03鏃犳鍗′俊鎭�04鍏跺畠
                         if ("00".equalsIgnoreCase(state)) {
                             rechargeIsOk = true;
-                            binding.cardData.setText("鍏呭�奸�氫俊瀹屾垚锛岃甯栧崱鍏呭��");
+                            binding.cardData.setText("鍏呭��"+morny+"鍏冮�氫俊瀹屾垚锛岃甯栧崱鍐欏崱");
                             rechargeBean = new RechargeBean();
                             rechargeBean.setDate(System.currentTimeMillis());
                             rechargeBean.setMorny(morny);
@@ -421,8 +480,11 @@
 
                 @Override
                 public void onSocketError(int code, String msg) {
-                    stopAnim();
-                    TipUtil.show(NFCWreatActivity.this, msg);
+                    runOnUiThread(() -> {
+                        stopAnim();
+                        TipUtil.show(NFCWreatActivity.this, msg);
+                    });
+
                 }
             });
         } catch (Exception e) {
@@ -437,7 +499,7 @@
         UserCard userCardold = NfcReadHelper.getInstence(intent, this).getUserCardData();
         if (userCardold != null) {
             //鍒ゆ柇鏄惁鍏呭�肩殑鏄竴涓崱
-            if (userCard.getInitPeasantCode().equals(userCardold.getInitPeasantCode())) {
+            if (userCard.getInitPeasantCode().equals(userCardold.getInitPeasantCode()) || isAgainWrite) {
                 userCard.setState("00");
                 userFlag = WriteCardUtils.setUser(intent, userCard, this);
                 //   鎵撳嵃鐩稿叧
@@ -445,12 +507,14 @@
                     setPrinterData(rechargeBean);
                     startDetailActivity(userName, "鍚敤");
                 } else {
-                    TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊鍐嶈瘯");
+                    isAgainWrite = true;
+                    TipUtil.show(NFCWreatActivity.this, "鍐欏崱澶辫触锛岃閲嶆柊璐村崱");
                 }
             } else {
                 TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�");
             }
         }
+        stopAnim();
     }
 
     private void setmanageCard(Intent intent, final ManageCard manageCard) {
@@ -539,13 +603,7 @@
             detail.putExtra("morny", morny);
         }
         startActivity(detail);
-        if (NewCardActivity.newCardActivity != null) {
-            NewCardActivity.newCardActivity.finish();
-        }
-        if (RechargeActivity.rechargeActivity != null) {
-            RechargeActivity.rechargeActivity.finish();
-        }
-        NFCWreatActivity.nfcWreatActivity.finish();
+        myFinish();
     }
 
     /**
@@ -564,7 +622,7 @@
             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) {
                     if (CRC8.isCRC8(readData.getOriginDataBytes())) {
@@ -602,12 +660,7 @@
                                 //琛ュ崱閫昏緫
                                 userFlag = WriteCardUtils.setUser(intent, userCard, NFCWreatActivity.this);
                                 if (userFlag) {
-                                    TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛", new TipUtil.TipListener() {
-                                        @Override
-                                        public void onCancle() {
-                                            NFCWreatActivity.this.finish();
-                                        }
-                                    });
+                                    TipUtil.show(NFCWreatActivity.this, "琛ュ崱鎴愬姛", () -> NFCWreatActivity.this.finish());
                                 }
                                 return;
                             } else if ("01".equals(state)) {
@@ -641,9 +694,11 @@
 
                 @Override
                 public void onSocketError(int code, String msg) {
-                    stopAnim();
+                    runOnUiThread(() -> {
+                        stopAnim();
+                        TipUtil.show(NFCWreatActivity.this, msg);
+                    });
 
-                    TipUtil.show(NFCWreatActivity.this, msg);
                 }
             });
         } catch (Exception e) {
@@ -657,6 +712,7 @@
 
     protected void onDestroy() {
         super.onDestroy();
+        ProgressDialog.dismiss();
         nfcWreatActivity = null;
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0