From c1d325aeb5bfc710b1ef4d801619ffb65e0afe90 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 24 十一月 2023 18:03:15 +0800
Subject: [PATCH] 修复当查无此卡状态时的bug
---
app/src/main/java/com/dayu/recharge/MyApplication.java | 9 ++--
app/src/main/java/com/dayu/recharge/activity/MyActivity.java | 7 +++
app/src/main/java/com/dayu/recharge/net/SocketNet.java | 6 +-
app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java | 20 ++++++---
app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java | 9 ----
app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java | 2 +
app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java | 20 ++++++---
app/src/main/res/layout/activity_recharge_detail.xml | 2
app/src/main/res/layout/activity_red_card.xml | 20 ++++++++--
9 files changed, 60 insertions(+), 35 deletions(-)
diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java
index 4f9b349..da04377 100644
--- a/app/src/main/java/com/dayu/recharge/MyApplication.java
+++ b/app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -45,6 +45,7 @@
public boolean isConncet = false;
private final Timer timer = new Timer();
+
@Override
public void onCreate() {
super.onCreate();
@@ -66,7 +67,7 @@
isAidl = aidl;
}
- IpBean ipBean;
+ public IpBean ipBean;
/**
* 鍒濆鍖朎asySocket
@@ -232,9 +233,9 @@
.setSocketAddress(new SocketAddress(ip, port))
// 瀹氫箟娑堟伅鍗忚锛屾柟渚胯В鍐� socket榛忓寘銆佸垎鍖呯殑闂
.setReaderProtocol(new ScoketMessageProtocol())
- .setMaxWriteBytes(1024)
- .setMaxReadBytes(1024)
- .setRequestTimeout(10 * 1000)
+ .setMaxWriteBytes(150)
+ .setMaxReadBytes(150)
+ .setRequestTimeout(5 * 1000)
.build();
// 鍒濆鍖�
diff --git a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
index 54db2fd..66804f1 100644
--- a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
@@ -66,16 +66,7 @@
super.onStart();
//姝ゅadapter闇�瑕侀噸鏂拌幏鍙栵紝鍚﹀垯鏃犳硶鑾峰彇message
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
- if (mNfcAdapter != null){
- mNfcAdapter.setNdefPushMessageCallback(new NfcAdapter.CreateNdefMessageCallback() {
- @Override
- public NdefMessage createNdefMessage(NfcEvent nfcEvent) {
- // 鍦ㄦ澶勫鐞哊FC娑堟伅鐨勫垱寤�
- return null;
- }
- }, this);
- }
// mNfcAdapter.enableReaderMode(this, new NfcAdapter.ReaderCallback() {
// @Override
// public void onTagDiscovered(Tag tag) {
diff --git a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
index 69f46bc..f2b190a 100644
--- a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
@@ -130,6 +130,9 @@
case 1:
TipUtil.show(MyActivity.this, "瀵煎嚭鎴愬姛!");
break;
+ case 3:
+ TipUtil.show(MyActivity.this, "璁板綍涓虹┖!");
+ break;
default:
TipUtil.show(MyActivity.this, "瀵煎嚭澶辫触!");
break;
@@ -161,6 +164,10 @@
} else {
listData = baseDao.userCardDao().findByTime(beginTime, endTime);
}
+ if (listData == null || listData.size() == 0) {
+ handler.sendEmptyMessage(2);
+ return;
+ }
} catch (Exception e) {
e.printStackTrace();
}
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 5b04dc2..964df1c 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
@@ -73,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);
@@ -234,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)) {
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..5895e71 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
@@ -96,6 +96,7 @@
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);
@@ -179,14 +180,19 @@
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);
diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java b/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java
index 7d1f2ac..118d523 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java
@@ -51,9 +51,11 @@
private void setUserData(String userName, String statu) {
int balance = userCard.getBalance();
if (!TextUtils.isEmpty(morny)) {
+ binding.tip.setText("鍏呭�兼垚鍔燂紒");
balance = userCard.getBalance() + MornyUtil.changeY2F(morny);
binding.redRemainderMorny.setText("鍏呭�奸噾棰濓細" + morny + " 鍏�");
} else {
+ binding.tip.setText("寮�鍗℃垚鍔燂紒");
balance = userCard.getBalance();
binding.redRemainderMorny.setVisibility(View.GONE);
}
diff --git a/app/src/main/java/com/dayu/recharge/net/SocketNet.java b/app/src/main/java/com/dayu/recharge/net/SocketNet.java
index f1dbe8f..dd42aa1 100644
--- a/app/src/main/java/com/dayu/recharge/net/SocketNet.java
+++ b/app/src/main/java/com/dayu/recharge/net/SocketNet.java
@@ -102,10 +102,10 @@
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
- IpBean ipBean = BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst();
+
AdminDataBean adminData = BaseDaoSingleton.getInstance(MyApplication.myApplication).adminDao().findFirst();
- if (ipBean != null && adminData != null) {
- MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode());
+ if (MyApplication.myApplication.ipBean != null && adminData != null) {
+ MyApplication.myApplication.initMachineRequestBean(MyApplication.myApplication.ipBean.getIp(), MyApplication.myApplication.ipBean.getPort(), adminData.getAddressCode());
}
}
}, 500);
diff --git a/app/src/main/res/layout/activity_recharge_detail.xml b/app/src/main/res/layout/activity_recharge_detail.xml
index 8412dce..3608404 100644
--- a/app/src/main/res/layout/activity_recharge_detail.xml
+++ b/app/src/main/res/layout/activity_recharge_detail.xml
@@ -79,7 +79,7 @@
android:textSize="@dimen/text_size" />
<TextView
-
+ android:id="@+id/tip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
diff --git a/app/src/main/res/layout/activity_red_card.xml b/app/src/main/res/layout/activity_red_card.xml
index 985f6d9..07f0256 100644
--- a/app/src/main/res/layout/activity_red_card.xml
+++ b/app/src/main/res/layout/activity_red_card.xml
@@ -34,13 +34,25 @@
android:text="鐢ㄦ埛濮撳悕锛�"
android:textSize="@dimen/text_size" />
- <TextView
- android:id="@+id/red_initCode"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
- android:text="鐢ㄦ埛娉ㄥ唽缂栧彿锛�"
- android:textSize="@dimen/text_size" />
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="鐢ㄦ埛娉ㄥ唽缂栧彿锛�"
+ android:textSize="@dimen/text_size" />
+
+ <TextView
+ android:id="@+id/red_initCode"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text=""
+ android:textSize="@dimen/text_size" />
+ </LinearLayout>
<TextView
--
Gitblit v1.8.0