From 8a79c56fa2af387ac95fff4885e87f41897707ae Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Wed, 13 Oct 2021 23:09:03 +0800 Subject: [PATCH] =?UTF-8?q?bark=E6=96=B0=E5=A2=9E=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=B6=88=E6=81=AF=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idormy/sms/forwarder/SenderActivity.java | 11 ++++++--- .../sms/forwarder/model/vo/BarkSettingVo.java | 4 +++- .../idormy/sms/forwarder/sender/SendUtil.java | 2 +- .../sms/forwarder/sender/SenderBarkMsg.java | 5 +++- .../res/layout/alert_dialog_setview_bark.xml | 23 +++++++++++++++++++ app/src/main/res/values-en/strings.xml | 21 ++++++++++++++++- app/src/main/res/values/strings.xml | 18 +++++++++++++++ 7 files changed, 77 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java b/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java index c2d0cfb0..a83be07e 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java +++ b/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java @@ -465,6 +465,8 @@ public class SenderActivity extends AppCompatActivity { if (senderModel != null) editTextBarkName.setText(senderModel.getName()); final EditText editTextBarkServer = view1.findViewById(R.id.editTextBarkServer); if (barkSettingVo != null) editTextBarkServer.setText(barkSettingVo.getServer()); + final EditText editTextBarkIcon = view1.findViewById(R.id.editTextBarkIcon); + if (barkSettingVo != null) editTextBarkIcon.setText(barkSettingVo.getIcon()); Button buttonBarkOk = view1.findViewById(R.id.buttonBarkOk); Button buttonBarkDel = view1.findViewById(R.id.buttonBarkDel); @@ -484,7 +486,8 @@ public class SenderActivity extends AppCompatActivity { newSenderModel.setType(TYPE_BARK); newSenderModel.setStatus(STATUS_ON); BarkSettingVo barkSettingVoNew = new BarkSettingVo( - editTextBarkServer.getText().toString() + editTextBarkServer.getText().toString(), + editTextBarkIcon.getText().toString() ); newSenderModel.setJsonSetting(JSON.toJSONString(barkSettingVoNew)); SenderUtil.addSender(newSenderModel); @@ -495,7 +498,8 @@ public class SenderActivity extends AppCompatActivity { senderModel.setType(TYPE_BARK); senderModel.setStatus(STATUS_ON); BarkSettingVo barkSettingVoNew = new BarkSettingVo( - editTextBarkServer.getText().toString() + editTextBarkServer.getText().toString(), + editTextBarkIcon.getText().toString() ); senderModel.setJsonSetting(JSON.toJSONString(barkSettingVoNew)); SenderUtil.updateSender(senderModel); @@ -516,9 +520,10 @@ public class SenderActivity extends AppCompatActivity { }); buttonBarkTest.setOnClickListener(view -> { String barkServer = editTextBarkServer.getText().toString(); + String barkIcon = editTextBarkIcon.getText().toString(); if (!barkServer.isEmpty()) { try { - SenderBarkMsg.sendMsg(0, handler, barkServer, getString(R.string.test_phone_num), getString(R.string.test_sms), getString(R.string.test_group_name)); + SenderBarkMsg.sendMsg(0, handler, barkServer, barkIcon, getString(R.string.test_phone_num), getString(R.string.test_sms), getString(R.string.test_group_name)); } catch (Exception e) { Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show(); e.printStackTrace(); diff --git a/app/src/main/java/com/idormy/sms/forwarder/model/vo/BarkSettingVo.java b/app/src/main/java/com/idormy/sms/forwarder/model/vo/BarkSettingVo.java index 83e821bc..df6fd00e 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/model/vo/BarkSettingVo.java +++ b/app/src/main/java/com/idormy/sms/forwarder/model/vo/BarkSettingVo.java @@ -7,12 +7,14 @@ import lombok.Data; @Data public class BarkSettingVo implements Serializable { private String server; + private String icon; public BarkSettingVo() { } - public BarkSettingVo(String server) { + public BarkSettingVo(String server, String icon) { this.server = server; + this.icon = icon; } } diff --git a/app/src/main/java/com/idormy/sms/forwarder/sender/SendUtil.java b/app/src/main/java/com/idormy/sms/forwarder/sender/SendUtil.java index 97e3ea38..1c316151 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/sender/SendUtil.java +++ b/app/src/main/java/com/idormy/sms/forwarder/sender/SendUtil.java @@ -145,7 +145,7 @@ public class SendUtil { BarkSettingVo barkSettingVo = JSON.parseObject(senderModel.getJsonSetting(), BarkSettingVo.class); if (barkSettingVo != null) { try { - SenderBarkMsg.sendMsg(logId, handError, barkSettingVo.getServer(), smsVo.getMobile(), smsVo.getSmsVoForSend(), senderModel.getName()); + SenderBarkMsg.sendMsg(logId, handError, barkSettingVo.getServer(), barkSettingVo.getIcon(), smsVo.getMobile(), smsVo.getSmsVoForSend(), senderModel.getName()); } catch (Exception e) { LogUtil.updateLog(logId, 0, e.getMessage()); Log.e(TAG, "senderSendMsg: SenderBarkMsg error " + e.getMessage()); diff --git a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBarkMsg.java b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBarkMsg.java index e4d6a92e..63c66546 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBarkMsg.java +++ b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBarkMsg.java @@ -28,7 +28,7 @@ public class SenderBarkMsg extends SenderBaseMsg { static final String TAG = "SenderBarkMsg"; - public static void sendMsg(final long logId, final Handler handError, String barkServer, String from, String content, String groupName) throws Exception { + public static void sendMsg(final long logId, final Handler handError, String barkServer, String barkIcon, String from, String content, String groupName) throws Exception { Log.i(TAG, "sendMsg barkServer:" + barkServer + " from:" + from + " content:" + content); if (barkServer == null || barkServer.isEmpty()) { @@ -42,6 +42,9 @@ public class SenderBarkMsg extends SenderBaseMsg { barkServer += "/" + URLEncoder.encode(content, "UTF-8"); barkServer += "?isArchive=1"; //自动保存 barkServer += "&group=" + URLEncoder.encode(groupName, "UTF-8"); //增加支持分组 + if (!barkIcon.isEmpty()) { + barkServer += "&icon=" + URLEncoder.encode(barkIcon, "UTF-8"); //指定推送消息图标 + } int isCode = content.indexOf("验证码"); int isPassword = content.indexOf("动态密码"); if (isCode != -1 || isPassword != -1) { diff --git a/app/src/main/res/layout/alert_dialog_setview_bark.xml b/app/src/main/res/layout/alert_dialog_setview_bark.xml index 13d0ce1e..31f1697d 100644 --- a/app/src/main/res/layout/alert_dialog_setview_bark.xml +++ b/app/src/main/res/layout/alert_dialog_setview_bark.xml @@ -56,6 +56,29 @@ tools:ignore="LabelFor" /> + + + + + + + Confirm All Select + Clone Settings Settings About Rule Setting @@ -104,6 +105,7 @@ New Sender Bark Group Name Bark-Server, e.g. https://bark.bms.ink/XXXXXXXX/ + Bark-Icon (optional), e.g. http://day.app/assets/images/avatar.jpg Name Token e.g. the XXXXXX part of https://oapi.dingtalk.com/robot/send?access_token=XXXXXX Secret (optional) @@ -161,7 +163,7 @@ Incoming telegram Your phone does not support this setting Set successfully! - + v1.0 https://github.com/pppscn/SmsForwarder https://gitee.com/pp/SmsForwarder @@ -171,4 +173,21 @@ 多重匹配规则示例:\n \n 并且 是 手机号 相等 10086\n 或者 是 手机号 相等 10011\n 并且 是 短信内容 包含 欠费\n \n 以上规则表示:收到短信,并且(手机号是10086 或者 手机号是10010),并且 短信内容 包含 欠费 时转发短信\n 注意:每行开始的空格代表层级,太过复杂的多重规则可能导致内存占用很大! POST GET + + Local IP: + Operation instructions: \n1. Please keep the old and new phones in the same WiFi network, and do not turn on isolation \n2.The old mobile phone directly click "send" button, get "server IP" \n3. After filling in "Server IP" for the new mobile phone, click "Receive" button \n [note], the sender and forwarding rules will be completely covered after the new mobile phone receives! + Send + Stop + I\'m the old phone + Receive + I\'m the new phone + Server IP: + . + Please enter a valid IP address + The server is started successfully + The server has been stopped + This mobile phone is the sender and cannot receive files. + If the Wifi network is not connected, the one-click cloning function cannot be used. + Please enter a valid server IP address + Download Failed diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9e062f43..ba7109e7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,6 +9,7 @@ 确认 全部 选择 + 一键克隆 设置 关于 设置转发规则 @@ -104,6 +105,7 @@ 添加发送方 设置分组名称 设置Bark-Server地址,示例:https://bark.bms.ink/XXXXXXXX/ + 设置推送消息图标(可选),示例:http://day.app/assets/images/avatar.jpg 设置名称 设置Token 例如 https://oapi.dingtalk.com/robot/send?access_token=XXXXXX 中的 XXXXXX 加签 Secret (没有可不填) @@ -171,4 +173,20 @@ 多重匹配规则示例:\n \n 并且 是 手机号 相等 10086\n 或者 是 手机号 相等 10011\n 并且 是 短信内容 包含 欠费\n \n 以上规则表示:收到短信,并且(手机号是10086 或者 手机号是10010),并且 短信内容 包含 欠费 时转发短信\n 注意:每行开始的空格代表层级,太过复杂的多重规则可能导致内存占用很大! POST GET + 本机IP: + 操作说明:\n1.请保持新旧手机在同一个WiFi网络下,且没有开启隔离\n2.旧手机直接点【发送】按钮,获取到【服务端IP】\n3.新手机填写【服务端IP】后,点【接收】按钮\n【注意】新手机接收后,发送方、转发规则将完全被覆盖! + 发送 + 停止 + 我是旧手机 + 接收 + 我是新手机 + 服务端IP: + . + 请输入合法的IP地址 + 服务端已启动 + 服务端已停止 + 本手机是发送端,不可接收文件,请先停止服务端! + 未接入Wifi网络,不可使用一键克隆功能! + 请输入服务端IP + 下载文件失败