From 1690ddce15cc489a76726eccee740d5beaef79e9 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 10 六月 2025 17:45:15 +0800
Subject: [PATCH] refactor(generallibrary):优化 NFC 写卡流程
---
generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt | 11 ++++++++++-
generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt | 24 +++++++++++++++---------
2 files changed, 25 insertions(+), 10 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt b/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt
index 947b440..11fb883 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt
@@ -69,6 +69,7 @@
companion object {
private const val TAG = "NewCard2Activity"
+ private const val REQUEST_CODE_NFC_WRITE = 1001
}
@@ -381,7 +382,7 @@
putExtra("operationTypeCode", CardOperationType.OpenCard.code)
putExtra("orderNumber", response.content?.orderNo)
putExtra("cardFee", cardFee)
- startActivity(this)
+ startActivityForResult(this, REQUEST_CODE_NFC_WRITE)
}
} catch (e: Exception) {
CrashReport.postCatchedException(e)
@@ -499,4 +500,12 @@
}
}
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ super.onActivityResult(requestCode, resultCode, data)
+ if (requestCode == REQUEST_CODE_NFC_WRITE && resultCode == RESULT_OK) {
+ // 鍐欏崱鎴愬姛锛屽叧闂綋鍓岮ctivity
+ finish()
+ }
+ }
+
}
\ No newline at end of file
diff --git a/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt
index 3c9910b..9cdccc5 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt
@@ -111,10 +111,7 @@
runOnUiThread {
if (success) {
postCardData(cardType, cardAddr)
- // 鍐欏崱鎴愬姛鍚庢洿鏂版暟鎹簱涓殑isCardWritten鐘舵��
- updateCardWrittenStatus(cardAddr)
ToastUtil.show("鍐欏崱鎴愬姛!")
- // 澶勭悊鍐欏崱鎴愬姛鐨勬儏鍐�
} else {
// 澶勭悊鍐欏崱澶辫触鐨勬儏鍐�
ToastUtil.show(message)
@@ -129,9 +126,8 @@
// 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢�
runOnUiThread {
if (flag) {
- // 鍐欏崱鎴愬姛鍚庢洿鏂版暟鎹簱涓殑isCardWritten鐘舵��
- updateCardWrittenStatus(cardAddr)
- ToastUtil.show("鍐欏崱鎴愬姛!")
+ postCardData(cardType, cardAddr)
+
} else {
ToastUtil.show("鍐欏崱澶辫触: ${msg ?: "鏈煡閿欒"}")
}
@@ -169,11 +165,20 @@
val updatedCardRegistration = cardRegistration.copy(isCardWritten = true)
// 鏇存柊鏁版嵁搴撹褰�
cardRegistrationDao.update(updatedCardRegistration)
+
+ // 鍦ㄤ富绾跨▼涓叧闂瑼ctivity
+ runOnUiThread {
+ setResult(RESULT_OK)
+ finish()
+ ToastUtil.show("鍐欏崱鎴愬姛")
+ }
}
} catch (e: Exception) {
CrashReport.postCatchedException(e)
e.printStackTrace()
- ToastUtil.show("鏇存柊鍐欏崱鐘舵�佸け璐�: ${e.message}")
+ runOnUiThread {
+ ToastUtil.show("鏇存柊鍐欏崱鐘舵�佸け璐�: ${e.message}")
+ }
}
}
}
@@ -203,8 +208,9 @@
object : SubscriberListener<BaseResponse<String>>() {
override fun onNext(t: BaseResponse<String>) {
if (t.success) {
- ToastUtil.show("鍐欏崱鎴愬姛")
- this@NfcWreatActivity.finish()
+
+ updateCardWrittenStatus(cardAddr)
+
} else {
// 澶勭悊鎼滅储澶辫触鐨勬儏鍐�
--
Gitblit v1.8.0