From b05d856f26c24b49e4283db5e841659063c95cc4 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Thu, 14 Nov 2024 19:15:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A`bark`=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=80=9A=E9=81=93=E5=85=81=E8=AE=B8=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E8=87=AA=E5=8A=A8=E5=A4=8D=E5=88=B6`copy`=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=20#538?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../forwarder/entity/setting/BarkSetting.kt | 4 +- .../fragment/senders/BarkFragment.kt | 30 +++++++- .../sms/forwarder/utils/sender/BarkUtils.kt | 23 +++--- .../main/res/layout/fragment_senders_bark.xml | 71 ++++++++++++++++++- app/src/main/res/values-en/strings.xml | 1 + app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 8 files changed, 119 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/entity/setting/BarkSetting.kt b/app/src/main/java/com/idormy/sms/forwarder/entity/setting/BarkSetting.kt index 7165182a..0448a2e8 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/entity/setting/BarkSetting.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/entity/setting/BarkSetting.kt @@ -27,4 +27,6 @@ data class BarkSetting( val iv: String = "", //持续提醒 val call: String = "", -) : Serializable \ No newline at end of file + //自动复制模板 + val autoCopy: String = "", +) : Serializable diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/BarkFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/BarkFragment.kt index 005d378f..5ab4d743 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/BarkFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/BarkFragment.kt @@ -183,6 +183,10 @@ class BarkFragment : BaseFragment(), View.OnClickLi binding!!.btInsertExtra.setOnClickListener(this) binding!!.btInsertTime.setOnClickListener(this) binding!!.btInsertDeviceName.setOnClickListener(this) + binding!!.btInsertSenderApp.setOnClickListener(this) + binding!!.btInsertUid.setOnClickListener(this) + binding!!.btInsertTitleApp.setOnClickListener(this) + binding!!.btInsertContentApp.setOnClickListener(this) binding!!.btnTest.setOnClickListener(this) binding!!.btnDel.setOnClickListener(this) binding!!.btnSave.setOnClickListener(this) @@ -193,6 +197,7 @@ class BarkFragment : BaseFragment(), View.OnClickLi override fun onClick(v: View) { try { val etTitleTemplate: EditText = binding!!.etTitleTemplate + val etAutoCopyTemplate: EditText = binding!!.etAutoCopyTemplate when (v.id) { R.id.bt_insert_sender -> { CommonUtils.insertOrReplaceText2Cursor(etTitleTemplate, getString(R.string.tag_from)) @@ -214,6 +219,26 @@ class BarkFragment : BaseFragment(), View.OnClickLi return } + R.id.bt_insert_sender_app -> { + CommonUtils.insertOrReplaceText2Cursor(etAutoCopyTemplate, getString(R.string.tag_package_name)) + return + } + + R.id.bt_insert_uid -> { + CommonUtils.insertOrReplaceText2Cursor(etAutoCopyTemplate, getString(R.string.tag_uid)) + return + } + + R.id.bt_insert_title_app -> { + CommonUtils.insertOrReplaceText2Cursor(etAutoCopyTemplate, getString(R.string.tag_title)) + return + } + + R.id.bt_insert_content_app -> { + CommonUtils.insertOrReplaceText2Cursor(etAutoCopyTemplate, getString(R.string.tag_msg)) + return + } + R.id.btn_test -> { mCountDownHelper?.start() Thread { @@ -290,6 +315,7 @@ class BarkFragment : BaseFragment(), View.OnClickLi throw Exception(getString(R.string.invalid_bark_url)) } val title = binding!!.etTitleTemplate.text.toString().trim() + val autoCopy = binding!!.etAutoCopyTemplate.text.toString().trim() val key = binding!!.etEncryptionKey.text.toString().trim() val iv = binding!!.etEncryptionIv.text.toString().trim() if (transformation.startsWith("AES128") && key.length != 16) { @@ -303,7 +329,7 @@ class BarkFragment : BaseFragment(), View.OnClickLi throw Exception(getString(R.string.bark_encryption_key_error4)) } - return BarkSetting(server, group, icon, sound, badge, url, barkLevel, title, transformation, key, iv, call) + return BarkSetting(server, group, icon, sound, badge, url, barkLevel, title, transformation, key, iv, call, autoCopy) } override fun onDestroyView() { @@ -311,4 +337,4 @@ class BarkFragment : BaseFragment(), View.OnClickLi super.onDestroyView() } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/BarkUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/BarkUtils.kt index b8968196..75c7a691 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/BarkUtils.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/BarkUtils.kt @@ -70,15 +70,20 @@ class BarkUtils { if (!TextUtils.isEmpty(setting.url)) msgMap["url"] = setting.url if (!TextUtils.isEmpty(setting.call)) msgMap["call"] = setting.call - //自动复制验证码 - val pattern = Regex("(?)?([::\\s是为]|[Ii][Ss]){0,3}[\\((\\[【{「]?(([0-9\\s]{4,7})|([\\dA-Za-z]{5,6})(?!([Vv]erification)?([Cc][Oo][Dd][Ee])|:))[」}】\\])\\)]?(?=([^0-9a-zA-Z]|\$))(.*)".toRegex(), "$7").trim() - code = code.replace("\\D*[\\((\\[【{「]?([0-9]{3}\\s?[0-9]{1,3})[」}】\\])\\)]?(?=.*((代|授权|验证|动态|校验)码|[【\\[].*[】\\]]|[Cc][Oo][Dd][Ee]|[Vv]erification\\s?([Cc]ode)?))(.*)".toRegex(), "$1").trim() - if (code.isNotEmpty()) { - msgMap["copy"] = code - msgMap["autoCopy"] = 1 + //自动复制 + if (TextUtils.isEmpty(setting.autoCopy)) { + val pattern = Regex("(?)?([::\\s是为]|[Ii][Ss]){0,3}[\\((\\[【{「]?(([0-9\\s]{4,7})|([\\dA-Za-z]{5,6})(?!([Vv]erification)?([Cc][Oo][Dd][Ee])|:))[」}】\\])\\)]?(?=([^0-9a-zA-Z]|\$))(.*)".toRegex(), "$7").trim() + code = code.replace("\\D*[\\((\\[【{「]?([0-9]{3}\\s?[0-9]{1,3})[」}】\\])\\)]?(?=.*((代|授权|验证|动态|校验)码|[【\\[].*[】\\]]|[Cc][Oo][Dd][Ee]|[Vv]erification\\s?([Cc]ode)?))(.*)".toRegex(), "$1").trim() + if (code.isNotEmpty()) { + msgMap["copy"] = code + msgMap["autoCopy"] = 1 + } } + } else { + msgMap["copy"] = msgInfo.getContentForSend(setting.autoCopy) + msgMap["autoCopy"] = 1 } val requestMsg: String = Gson().toJson(msgMap) @@ -162,4 +167,4 @@ class BarkUtils { } } -} \ No newline at end of file +} diff --git a/app/src/main/res/layout/fragment_senders_bark.xml b/app/src/main/res/layout/fragment_senders_bark.xml index d92459d3..a434e3f4 100644 --- a/app/src/main/res/layout/fragment_senders_bark.xml +++ b/app/src/main/res/layout/fragment_senders_bark.xml @@ -325,6 +325,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index ec6dead9..ba8def3f 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -411,6 +411,7 @@ WebServer ]]> Title Template + Auto Copy Priority(1 – 9) Dingtalk Group Bot Dingtalk Inner Bot diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index f6ccc67a..f588d602 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -412,6 +412,7 @@ WebServer ]]> 标题模板 + 自动复制 优先级(1 – 9) 钉钉群机器人 钉钉企业机器人 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index ce817f49..7afb697e 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -405,6 +405,7 @@ WebServer ]]> 標題模板 + 自動複製 優先級(1 – 9) 釘釘群機器人 釘釘企業機器人 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7bb27279..7dbd2998 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -439,6 +439,7 @@ WebServer ]]> 标题模板 + 自动复制 优先级(1 – 9) 钉钉群机器人 钉钉企业机器人