From a8751388c9a86ae95714a15279994d8aa426a26d Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 13 六月 2025 14:59:02 +0800 Subject: [PATCH] feat(generallibrary): 优化充值功能并添加水价获取- 在 activity_recharge_detail.xml 中移除了不必要的 bold 样式- 在 EditText 中添加了金额输入限制(数字和小数点)- 在 BaseApplication 中添加了水价信息存储 - 在 MainActivity 中实现了延时获取水价的功能- 优化了 RechargeDetailActivity 中的水价检查和使用逻辑 - 在 README.md 中添加了金额格式化和水价获取的最佳实践指南 --- generallibrary/src/main/java/com/dayu/general/tool/GeBaseHelper.kt | 46 +++++++++++++++++++++++++--------------------- 1 files changed, 25 insertions(+), 21 deletions(-) diff --git a/generallibrary/src/main/java/com/dayu/general/tool/GeBaseHelper.kt b/generallibrary/src/main/java/com/dayu/general/tool/GeBaseHelper.kt index c3e0916..c007a9b 100644 --- a/generallibrary/src/main/java/com/dayu/general/tool/GeBaseHelper.kt +++ b/generallibrary/src/main/java/com/dayu/general/tool/GeBaseHelper.kt @@ -1,43 +1,47 @@ package com.dayu.general.tool import android.content.Context -import android.util.Base64 import com.dayu.baselibrary.tools.HexUtil import com.dayu.baselibrary.tools.nfc.BaseNFCHelper -import java.nio.charset.StandardCharsets -import javax.crypto.Cipher -import javax.crypto.spec.SecretKeySpec -class GeBaseHelper(private val context: Context) : BaseNFCHelper() { - +open class GeBaseHelper(private val context: Context) : BaseNFCHelper() { companion object { init { - System.loadLibrary("general-native-lib") + try { + System.loadLibrary("general-native-lib") + } catch (e: UnsatisfiedLinkError) { + e.printStackTrace() + } } } private external fun getM1SectorKeySecure(context: Context, sectorIndex: Int): String init { - try { - // 鑾峰彇鎵�鏈夋墖鍖哄瘑閽� - val allKeys: String = getM1SectorKeySecure(context, 0) - val keys: Array<String> = - allKeys.split(",").dropLastWhile { it.isEmpty() }.toTypedArray() - for (i in keys.indices) { - val key = keys[i] - listA_PS.add(HexUtil.hexToByteArray(key)) + if(listA_PS.isEmpty()){ + try { + // 鑾峰彇鎵�鏈夋墖鍖哄瘑閽� + val allKeys: String = getM1SectorKeySecure(context, 0) + if (allKeys.isNotEmpty()) { + val keys: Array<String> = allKeys.split(",").dropLastWhile { it.isEmpty() }.toTypedArray() + for (i in keys.indices) { + val key = keys[i] + if (key.isNotEmpty()) { + listA_PS.add(HexUtil.hexToByteArray(key)) + } + } + } + defauleKey = HexUtil.hexToByteArray("FFFFFFFFFFFF") + } catch (e: Exception) { + e.printStackTrace() + // 璁剧疆榛樿瀵嗛挜 + defauleKey = HexUtil.hexToByteArray("FFFFFFFFFFFF") } - defauleKey = HexUtil.hexToByteArray("FFFFFFFFFFFF") - - - } catch (e: Exception) { - e.printStackTrace() } } fun getKeyList(): List<ByteArray> { - return listKeyA + return listA_PS } } \ No newline at end of file -- Gitblit v1.8.0