From dbab4718e003a2e454e76a62174a5fe1337ad95d Mon Sep 17 00:00:00 2001
From: pppscn <35696959@qq.com>
Date: Tue, 23 Nov 2021 16:06:42 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E9=82=AE=E4=BB=B6?=
=?UTF-8?q?=E4=B8=BB=E9=A2=98=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89?=
=?UTF-8?q?=E6=A8=A1=E6=9D=BF=20=E6=96=B0=E5=A2=9E=EF=BC=9A{{=E5=BD=93?=
=?UTF-8?q?=E5=89=8D=E5=BA=94=E7=94=A8=E7=89=88=E6=9C=AC=E5=8F=B7}}=20?=
=?UTF-8?q?=E6=9D=A5=E8=8E=B7=E5=8F=96=20SmsForwarder=20=E5=BD=93=E5=89=8D?=
=?UTF-8?q?=E7=89=88=E6=9C=AC=E5=90=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../idormy/sms/forwarder/SenderActivity.java | 68 +++++++++----
.../forwarder/model/vo/EmailSettingVo.java | 4 +-
.../idormy/sms/forwarder/model/vo/SmsVo.java | 17 ++++
.../idormy/sms/forwarder/sender/SendUtil.java | 2 +-
.../sms/forwarder/utils/SettingUtil.java | 17 ++++
.../res/layout/alert_dialog_setview_email.xml | 96 +++++++++++++++++++
.../res/layout/alert_dialog_setview_rule.xml | 1 -
app/src/main/res/values-en/strings.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
9 files changed, 187 insertions(+), 20 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 0d06f692..000d4965 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java
@@ -353,21 +353,25 @@ public class SenderActivity extends AppCompatActivity {
final EditText editTextEmailName = view1.findViewById(R.id.editTextEmailName);
if (senderModel != null) editTextEmailName.setText(senderModel.getName());
+
final EditText editTextEmailHost = view1.findViewById(R.id.editTextEmailHost);
- if (emailSettingVo != null) editTextEmailHost.setText(emailSettingVo.getHost());
final EditText editTextEmailPort = view1.findViewById(R.id.editTextEmailPort);
- if (emailSettingVo != null) editTextEmailPort.setText(emailSettingVo.getPort());
-
@SuppressLint("UseSwitchCompatOrMaterialCode") final Switch switchEmailSSl = view1.findViewById(R.id.switchEmailSSl);
- if (emailSettingVo != null) switchEmailSSl.setChecked(emailSettingVo.getSsl());
final EditText editTextEmailFromAdd = view1.findViewById(R.id.editTextEmailFromAdd);
- if (emailSettingVo != null) editTextEmailFromAdd.setText(emailSettingVo.getFromEmail());
final EditText editTextEmailNickname = view1.findViewById(R.id.editTextEmailNickname);
- if (emailSettingVo != null) editTextEmailNickname.setText(emailSettingVo.getNickname());
final EditText editTextEmailPsw = view1.findViewById(R.id.editTextEmailPsw);
- if (emailSettingVo != null) editTextEmailPsw.setText(emailSettingVo.getPwd());
final EditText editTextEmailToAdd = view1.findViewById(R.id.editTextEmailToAdd);
- if (emailSettingVo != null) editTextEmailToAdd.setText(emailSettingVo.getToEmail());
+ final EditText editTextEmailTitle = view1.findViewById(R.id.editTextEmailTitle);
+ if (emailSettingVo != null) {
+ editTextEmailHost.setText(emailSettingVo.getHost());
+ editTextEmailPort.setText(emailSettingVo.getPort());
+ switchEmailSSl.setChecked(emailSettingVo.getSsl());
+ editTextEmailFromAdd.setText(emailSettingVo.getFromEmail());
+ editTextEmailNickname.setText(emailSettingVo.getNickname());
+ editTextEmailPsw.setText(emailSettingVo.getPwd());
+ editTextEmailToAdd.setText(emailSettingVo.getToEmail());
+ editTextEmailTitle.setText(emailSettingVo.getTitle());
+ }
Button buttonEmailOk = view1.findViewById(R.id.buttonEmailOk);
Button buttonEmailDel = view1.findViewById(R.id.buttonEmailDel);
@@ -380,7 +384,6 @@ public class SenderActivity extends AppCompatActivity {
final AlertDialog show = alertDialog71.show();
buttonEmailOk.setOnClickListener(view -> {
-
if (senderModel == null) {
SenderModel newSenderModel = new SenderModel();
newSenderModel.setName(editTextEmailName.getText().toString());
@@ -393,7 +396,8 @@ public class SenderActivity extends AppCompatActivity {
editTextEmailFromAdd.getText().toString(),
editTextEmailNickname.getText().toString(),
editTextEmailPsw.getText().toString(),
- editTextEmailToAdd.getText().toString()
+ editTextEmailToAdd.getText().toString(),
+ editTextEmailTitle.getText().toString()
);
newSenderModel.setJsonSetting(JSON.toJSONString(emailSettingVoNew));
SenderUtil.addSender(newSenderModel);
@@ -410,7 +414,8 @@ public class SenderActivity extends AppCompatActivity {
editTextEmailFromAdd.getText().toString(),
editTextEmailNickname.getText().toString(),
editTextEmailPsw.getText().toString(),
- editTextEmailToAdd.getText().toString()
+ editTextEmailToAdd.getText().toString(),
+ editTextEmailTitle.getText().toString()
);
senderModel.setJsonSetting(JSON.toJSONString(emailSettingVoNew));
SenderUtil.updateSender(senderModel);
@@ -419,8 +424,6 @@ public class SenderActivity extends AppCompatActivity {
}
show.dismiss();
-
-
});
buttonEmailDel.setOnClickListener(view -> {
if (senderModel != null) {
@@ -438,14 +441,15 @@ public class SenderActivity extends AppCompatActivity {
String pwd = editTextEmailPsw.getText().toString();
String toEmail = editTextEmailToAdd.getText().toString();
+ String title = editTextEmailTitle.getText().toString();
+ if (title.isEmpty()) title = "SmsForwarder Title";
+
String nickname = editTextEmailNickname.getText().toString();
- if (nickname.equals("")) {
- nickname = "SmsForwarder";
- }
+ if (nickname.isEmpty()) nickname = "SmsForwarder";
if (!host.isEmpty() && !port.isEmpty() && !fromEmail.isEmpty() && !pwd.isEmpty() && !toEmail.isEmpty()) {
try {
- SenderMailMsg.sendEmail(0, handler, host, port, ssl, fromEmail, nickname, pwd, toEmail, "SmsForwarder Title", R.string.test_content + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
+ SenderMailMsg.sendEmail(0, handler, host, port, ssl, fromEmail, nickname, pwd, toEmail, title, R.string.test_content + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
} catch (Exception e) {
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
e.printStackTrace();
@@ -454,6 +458,36 @@ public class SenderActivity extends AppCompatActivity {
Toast.makeText(SenderActivity.this, R.string.invalid_email, Toast.LENGTH_LONG).show();
}
});
+
+
+ Button buttonInsertSender = view1.findViewById(R.id.bt_insert_sender);
+ buttonInsertSender.setOnClickListener(view -> {
+ editTextEmailTitle.setFocusable(true);
+ editTextEmailTitle.requestFocus();
+ editTextEmailTitle.append("{{来源号码}}");
+ });
+
+ Button buttonInsertExtra = view1.findViewById(R.id.bt_insert_extra);
+ buttonInsertExtra.setOnClickListener(view -> {
+ editTextEmailTitle.setFocusable(true);
+ editTextEmailTitle.requestFocus();
+ editTextEmailTitle.append("{{卡槽信息}}");
+ });
+
+ Button buttonInsertTime = view1.findViewById(R.id.bt_insert_time);
+ buttonInsertTime.setOnClickListener(view -> {
+ editTextEmailTitle.setFocusable(true);
+ editTextEmailTitle.requestFocus();
+ editTextEmailTitle.append("{{接收时间}}");
+ });
+
+ Button buttonInsertDeviceName = view1.findViewById(R.id.bt_insert_device_name);
+ buttonInsertDeviceName.setOnClickListener(view -> {
+ editTextEmailTitle.setFocusable(true);
+ editTextEmailTitle.requestFocus();
+ editTextEmailTitle.append("{{设备名称}}");
+ });
+
}
//Bark
diff --git a/app/src/main/java/com/idormy/sms/forwarder/model/vo/EmailSettingVo.java b/app/src/main/java/com/idormy/sms/forwarder/model/vo/EmailSettingVo.java
index 19f31aeb..6baf95a0 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/model/vo/EmailSettingVo.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/model/vo/EmailSettingVo.java
@@ -13,11 +13,12 @@ public class EmailSettingVo implements Serializable {
private String nickname;
private String pwd;
private String toEmail;
+ private String title;
public EmailSettingVo() {
}
- public EmailSettingVo(String host, String port, Boolean ssl, String fromEmail, String nickname, String pwd, String toEmail) {
+ public EmailSettingVo(String host, String port, Boolean ssl, String fromEmail, String nickname, String pwd, String toEmail, String title) {
this.host = host;
this.port = port;
this.ssl = ssl;
@@ -25,6 +26,7 @@ public class EmailSettingVo implements Serializable {
this.nickname = nickname;
this.pwd = pwd;
this.toEmail = toEmail;
+ this.title = title;
}
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/model/vo/SmsVo.java b/app/src/main/java/com/idormy/sms/forwarder/model/vo/SmsVo.java
index 2c1fb1b8..9234a606 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/model/vo/SmsVo.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/model/vo/SmsVo.java
@@ -29,6 +29,21 @@ public class SmsVo implements Serializable {
this.simInfo = simInfo;
}
+ @SuppressLint("SimpleDateFormat")
+ public String getTitleForSend(String titleTemplate) {
+ if (titleTemplate == null || titleTemplate.isEmpty()) titleTemplate = "{{来源号码}}";
+
+ String deviceMark = SettingUtil.getAddExtraDeviceMark().trim();
+ String versionName = SettingUtil.getVersionName();
+ return titleTemplate.replace("{{来源号码}}", mobile).replace("{{APP包名}}", mobile)
+ .replace("{{短信内容}}", content).replace("{{通知内容}}", content)
+ .replace("{{卡槽信息}}", simInfo)
+ .replace("{{接收时间}}", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date))
+ .replace("{{设备名称}}", deviceMark)
+ .replace("{{当前应用版本号}}", versionName)
+ .trim();
+ }
+
@SuppressLint("SimpleDateFormat")
public String getSmsVoForSend(String ruleSmsTemplate) {
String deviceMark = SettingUtil.getAddExtraDeviceMark().trim();
@@ -45,11 +60,13 @@ public class SmsVo implements Serializable {
}
}
+ String versionName = SettingUtil.getVersionName();
return customSmsTemplate.replace("{{来源号码}}", mobile).replace("{{APP包名}}", mobile)
.replace("{{短信内容}}", content).replace("{{通知内容}}", content)
.replace("{{卡槽信息}}", simInfo)
.replace("{{接收时间}}", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date))
.replace("{{设备名称}}", deviceMark)
+ .replace("{{当前应用版本号}}", versionName)
.trim();
}
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 28895c8f..7419829d 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
@@ -133,7 +133,7 @@ public class SendUtil {
if (emailSettingVo != null) {
try {
SenderMailMsg.sendEmail(logId, handError, emailSettingVo.getHost(), emailSettingVo.getPort(), emailSettingVo.getSsl(), emailSettingVo.getFromEmail(), emailSettingVo.getNickname(),
- emailSettingVo.getPwd(), emailSettingVo.getToEmail(), smsVo.getMobile(), smsVo.getSmsVoForSend(smsTemplate));
+ emailSettingVo.getPwd(), emailSettingVo.getToEmail(), smsVo.getTitleForSend(emailSettingVo.getTitle()), smsVo.getSmsVoForSend(smsTemplate));
} catch (Exception e) {
LogUtil.updateLog(logId, 0, e.getMessage());
Log.e(TAG, "senderSendMsg: SenderMailMsg error " + e.getMessage());
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtil.java b/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtil.java
index bd0b850b..362f0db1 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtil.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtil.java
@@ -3,6 +3,8 @@ package com.idormy.sms.forwarder.utils;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.SharedPreferences;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
import android.preference.PreferenceManager;
import android.util.Log;
@@ -203,4 +205,19 @@ public class SettingUtil {
public static void setPrevNoticeHash(String key, String value) {
sp_setting.edit().putString(key, value).apply();
}
+
+ //获取当前版本名称
+ public static String getVersionName() {
+ // 获取PackageManager的实例
+ PackageManager packageManager = context.getPackageManager();
+ // getPackageName()是你当前类的包名,0代表是获取版本信息
+ PackageInfo packInfo = null;
+ try {
+ packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
+ return packInfo.versionName;
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ return "";
+ }
+ }
}
diff --git a/app/src/main/res/layout/alert_dialog_setview_email.xml b/app/src/main/res/layout/alert_dialog_setview_email.xml
index 3af22b47..1ecf20ad 100644
--- a/app/src/main/res/layout/alert_dialog_setview_email.xml
+++ b/app/src/main/res/layout/alert_dialog_setview_email.xml
@@ -189,6 +189,102 @@
tools:ignore="LabelFor" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
Password/Auth Code
Nickname
Send To
+ Email Title
Webhook
Secret (optional)
Corp ID
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 342882d7..646423dd 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -129,6 +129,7 @@
登录密码/授权码
发件人昵称
收件地址
+ 邮件主题
Webhook 地址
加签 Secret (没有可不填)
Corp ID