From 91b3cd11dcba0649ba2dd02b42db2c2aeb09a0bd Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Mon, 8 Aug 2022 15:50:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A`=E4=B8=BB=E5=8A=A8?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=C2=B7=E5=AE=A2=E6=88=B7=E7=AB=AF`=E7=9A=84`?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E5=88=97=E8=A1=A8`=E5=A2=9E=E5=8A=A0`?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=90=8D=E7=A7=B0`=E3=80=81`=E8=BF=9C?= =?UTF-8?q?=E7=A8=8B=E5=8F=91=E7=9F=AD=E4=BF=A1`=E5=A2=9E=E5=8A=A0`?= =?UTF-8?q?=E5=8D=A1=E6=A7=BD=E5=A4=87=E6=B3=A8`=20#201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sms/forwarder/fragment/ClientFragment.kt | 16 +++++++++++++--- .../forwarder/fragment/client/SmsSendFragment.kt | 9 +++++++++ .../com/idormy/sms/forwarder/utils/Constants.kt | 1 + .../sms/forwarder/utils/HttpServerUtils.kt | 8 ++++++++ .../main/res/layout/fragment_client_sms_send.xml | 6 +++--- app/src/main/res/values/styles_widget.xml | 7 +++++++ 6 files changed, 41 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/ClientFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/ClientFragment.kt index ccb8aa26..0674c002 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/ClientFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/ClientFragment.kt @@ -137,12 +137,18 @@ class ClientFragment : BaseFragment(), } Log.d(TAG, "serverHistory = $serverHistory") - MaterialDialog.Builder(context!!) + MaterialDialog.Builder(requireContext()) .title(R.string.server_history) .items(serverHistory.keys) .itemsCallbackSingleChoice(0) { _: MaterialDialog?, _: View?, _: Int, text: CharSequence -> //XToastUtils.info("$which: $text") - binding!!.etServerAddress.setText(text) + val matches = Regex("【(.*)】(.*)", RegexOption.IGNORE_CASE).findAll(text).toList().flatMap(MatchResult::groupValues) + Log.i(TAG, "matches = $matches") + if (matches.isNotEmpty()) { + binding!!.etServerAddress.setText(matches[2]) + } else { + binding!!.etServerAddress.setText(text) + } binding!!.etSignKey.setText(serverHistory[text]) true // allow selection } @@ -241,9 +247,13 @@ class ClientFragment : BaseFragment(), if (resp.code == 200) { serverConfig = resp.data!! if (needToast) XToastUtils.success(ResUtils.getString(R.string.request_succeeded)) + //删除3.0.8之前保存的记录 + serverHistory.remove(HttpServerUtils.serverAddress.toString()) //添加到历史记录 - serverHistory[HttpServerUtils.serverAddress.toString()] = HttpServerUtils.clientSignKey ?: "" + val key = "【${serverConfig?.extraDeviceMark}】${HttpServerUtils.serverAddress.toString()}" + serverHistory[key] = HttpServerUtils.clientSignKey ?: "" HttpServerUtils.serverHistory = Gson().toJson(serverHistory) + HttpServerUtils.serverConfig = Gson().toJson(serverConfig) } else { if (needToast) XToastUtils.error(ResUtils.getString(R.string.request_failed) + resp.msg) } diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsSendFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsSendFragment.kt index 15d7c619..89786374 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsSendFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/client/SmsSendFragment.kt @@ -10,6 +10,7 @@ import com.idormy.sms.forwarder.R import com.idormy.sms.forwarder.core.BaseFragment import com.idormy.sms.forwarder.databinding.FragmentClientSmsSendBinding import com.idormy.sms.forwarder.server.model.BaseResponse +import com.idormy.sms.forwarder.server.model.ConfigData import com.idormy.sms.forwarder.utils.* import com.jeremyliao.liveeventbus.LiveEventBus import com.xuexiang.xaop.annotation.SingleClick @@ -56,6 +57,14 @@ class SmsSendFragment : BaseFragment(), View.OnCl binding!!.btnSubmit.text = getString(R.string.send) } }) + + //卡槽信息 + val serverConfigStr = HttpServerUtils.serverConfig + if (!TextUtils.isEmpty(serverConfigStr)) { + val serverConfig: ConfigData = Gson().fromJson(serverConfigStr, object : TypeToken() {}.type) + binding!!.rbSimSlot1.text = "SIM1:" + serverConfig.extraSim1 + binding!!.rbSimSlot2.text = "SIM2:" + serverConfig.extraSim2 + } } override fun initListeners() { diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/Constants.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/Constants.kt index e11feabb..f99e41c2 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/Constants.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/Constants.kt @@ -245,6 +245,7 @@ const val SP_ENABLE_API_WOL = "enable_api_wol" const val SP_WOL_HISTORY = "wol_history" const val SP_SERVER_ADDRESS = "server_address" const val SP_SERVER_HISTORY = "server_history" +const val SP_SERVER_CONFIG = "server_config" const val SP_CLIENT_SIGN_KEY = "client_sign_key" var CLIENT_FRAGMENT_LIST = listOf( PageInfo(getString(R.string.api_clone), "com.idormy.sms.forwarder.fragment.client.CloneFragment", "{\"\":\"\"}", CoreAnim.slide, R.drawable.icon_api_clone), diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt index 98d41195..b4049d20 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt @@ -56,6 +56,14 @@ class HttpServerUtils private constructor() { MMKVUtils.put(SP_SERVER_HISTORY, serverHistory) } + //服务端配置 + @JvmStatic + var serverConfig: String? + get() = MMKVUtils.getString(SP_SERVER_CONFIG, "") + set(serverConfig) { + MMKVUtils.put(SP_SERVER_CONFIG, serverConfig) + } + //客户端签名密钥 @JvmStatic var clientSignKey: String? diff --git a/app/src/main/res/layout/fragment_client_sms_send.xml b/app/src/main/res/layout/fragment_client_sms_send.xml index e0936ab8..b5212865 100644 --- a/app/src/main/res/layout/fragment_client_sms_send.xml +++ b/app/src/main/res/layout/fragment_client_sms_send.xml @@ -41,17 +41,17 @@ + android:orientation="vertical"> diff --git a/app/src/main/res/values/styles_widget.xml b/app/src/main/res/values/styles_widget.xml index 7dce439b..d95ab90b 100644 --- a/app/src/main/res/values/styles_widget.xml +++ b/app/src/main/res/values/styles_widget.xml @@ -191,4 +191,11 @@ 13sp + + \ No newline at end of file