diff --git a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java
index 79d58fb2..6d0daea9 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java
@@ -461,6 +461,8 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
ToastUtils.show(R.string.delete_log_toast);
dialog.dismiss();
});
+ //取消
+ builder.setPositiveButton(R.string.cancel, (dialog, which) -> dialog.dismiss());
//重发消息回调,重发失败也会触发
Handler handler = new Handler(Looper.myLooper(), msg -> {
@@ -470,7 +472,7 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
});
//对于发送失败的消息添加重发按钮
if (logVo.getForwardStatus() != 2) {
- builder.setPositiveButton(R.string.resend, (dialog, which) -> {
+ builder.setNeutralButton(R.string.resend, (dialog, which) -> {
ToastUtils.show(R.string.resend_toast);
SendUtil.resendMsgByLog(MainActivity.this, handler, logVo);
dialog.dismiss();
diff --git a/app/src/main/java/com/idormy/sms/forwarder/RuleActivity.java b/app/src/main/java/com/idormy/sms/forwarder/RuleActivity.java
index 638d93bf..6f5d7c03 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/RuleActivity.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/RuleActivity.java
@@ -257,6 +257,7 @@ public class RuleActivity extends AppCompatActivity {
Button buttonRuleOk = view1.findViewById(R.id.buttonRuleOk);
Button buttonRuleDel = view1.findViewById(R.id.buttonRuleDel);
+ buttonRuleDel.setText(ruleModel != null ? "删除" : "取消");
Button buttonRuleTest = view1.findViewById(R.id.buttonRuleTest);
alertDialog71
.setTitle(getDialogTitle(currentType))
@@ -541,7 +542,7 @@ public class RuleActivity extends AppCompatActivity {
builder.setTitle(R.string.select_sender);
//添加列表
builder.setItems(senderNames, (dialogInterface, which) -> {
- ToastUtils.delayedShow(senderNames[which], 3000);
+ //ToastUtils.delayedShow(senderNames[which], 3000);
showTv.setText(senderNames[which]);
showTv.setTag(senderModels.get(which).getId());
});
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 eb4050d3..1bbc2560 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java
@@ -442,6 +442,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setdingdingtitle)
@@ -575,6 +576,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setemailtitle)
@@ -779,6 +781,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setbarktitle)
@@ -990,6 +993,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setwebnotifytitle)
@@ -1097,6 +1101,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setqywxgrouprobottitle)
@@ -1215,6 +1220,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setqywxapptitle)
@@ -1332,6 +1338,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setserverchantitle)
@@ -1484,6 +1491,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.settelegramtitle)
@@ -1656,6 +1664,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setsmstitle)
@@ -1759,7 +1768,7 @@ public class SenderActivity extends AppCompatActivity {
switchFeishuEnable.setChecked(senderModel.getStatusChecked());
}
- final EditText editTextFeishuWebhook = view1.findViewById(R.id.editTextFeishuWebhook);
+ final ClearEditText editTextFeishuWebhook = view1.findViewById(R.id.editTextFeishuWebhook);
final ClearEditText editTextFeishuSecret = view1.findViewById(R.id.editTextFeishuSecret);
final RadioGroup radioGroupFeishuMsgType = view1.findViewById(R.id.radioGroupFeishuMsgType);
final EditText editTextFeishuTitle = view1.findViewById(R.id.editTextFeishuTitle);
@@ -1786,6 +1795,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setfeishutitle)
@@ -1801,7 +1811,7 @@ public class SenderActivity extends AppCompatActivity {
return;
}
- String webHook = editTextFeishuWebhook.getText().toString().trim();
+ String webHook = editTextFeishuWebhook.getText().trim();
String secret = editTextFeishuSecret.getText().trim();
String msgType = radioGroupFeishuMsgType.getCheckedRadioButtonId() == R.id.radioFeishuMsgTypeText ? "text" : "interactive";
String titleTemplate = editTextFeishuTitle.getText().toString().trim();
@@ -1844,7 +1854,7 @@ public class SenderActivity extends AppCompatActivity {
});
buttonTest.setOnClickListener(view -> {
- String webHook = editTextFeishuWebhook.getText().toString().trim();
+ String webHook = editTextFeishuWebhook.getText().trim();
String secret = editTextFeishuSecret.getText().trim();
String msgType = radioGroupFeishuMsgType.getCheckedRadioButtonId() == R.id.radioFeishuMsgTypeText ? "text" : "interactive";
String titleTemplate = editTextFeishuTitle.getText().toString().trim();
@@ -1934,6 +1944,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setpushplustitle)
@@ -2087,6 +2098,7 @@ public class SenderActivity extends AppCompatActivity {
Button buttonOk = view1.findViewById(R.id.buttonOk);
Button buttonDel = view1.findViewById(R.id.buttonDel);
+ buttonDel.setText(senderModel != null ? "删除" : "取消");
Button buttonTest = view1.findViewById(R.id.buttonTest);
alertDialog71
.setTitle(R.string.setgotifytitle)
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 af1a3a40..a00e5066 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
@@ -239,7 +239,7 @@ public class SettingUtil {
}
public static String getSmsHubApiUrl() {
- return sp_setting.getString(Define.SP_MSG_KEY_STRING_SMSHUB_API_URL, "http://xxx.com/send_api");
+ return sp_setting.getString(Define.SP_MSG_KEY_STRING_SMSHUB_API_URL, "");
}
public static void switchCallType1(Boolean switchCallType) {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/view/ClearEditText.java b/app/src/main/java/com/idormy/sms/forwarder/view/ClearEditText.java
index 60ea8fdc..c292b476 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/view/ClearEditText.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/view/ClearEditText.java
@@ -3,7 +3,6 @@ package com.idormy.sms.forwarder.view;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.content.res.TypedArray;
-import android.graphics.Color;
import android.text.Editable;
import android.text.InputFilter;
import android.text.InputType;
@@ -40,8 +39,8 @@ public class ClearEditText extends RelativeLayout {
private int cleanPadding = 0;//清除按钮padding边距
private String hintStr;
private String textStr;
- private int mTextColorHint = Color.BLACK;
- private int mTextColor = Color.BLACK;
+ private int mTextColorHint = -1; //Color.LTGRAY
+ private int mTextColor = -1;//Color.BLACK
private int mTextSize = -1;
private int mMaxLength = 2000;
private int mMaxLines = 1;
@@ -97,9 +96,9 @@ public class ClearEditText extends RelativeLayout {
ivEditEye = view.findViewById(R.id.iv_edit_eye);
myEdie.setHint(hintStr);
- myEdie.setHintTextColor(mTextColorHint);
+ if (mTextColorHint != -1) myEdie.setHintTextColor(mTextColorHint);
myEdie.setText(textStr);
- myEdie.setTextColor(mTextColor);
+ if (mTextColor != -1) myEdie.setTextColor(mTextColor);
myEdie.setMaxLines(mMaxLines);
myEdie.setFilters(new InputFilter[]{new InputFilter.LengthFilter(mMaxLength)});
if (mTextSize != -1) {
diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml
index ba5fd19a..619139eb 100644
--- a/app/src/main/res/layout/activity_setting.xml
+++ b/app/src/main/res/layout/activity_setting.xml
@@ -335,6 +335,7 @@
android:id="@+id/editText_text_sms_hub_url"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ app:hint="http://xxx.com/send_api"
app:showEye="true" />
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 fd99e163..755845df 100644
--- a/app/src/main/res/layout/alert_dialog_setview_bark.xml
+++ b/app/src/main/res/layout/alert_dialog_setview_bark.xml
@@ -65,6 +65,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
+ android:hint=""
android:text="@string/set_bark_server_tips"
android:textSize="10sp"
tools:ignore="SmallSp" />
@@ -83,36 +84,24 @@
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
- android:orientation="vertical">
+ android:orientation="horizontal">
-
-
-
-
-
-
+ android:text="@string/set_bark_icon"
+ android:textStyle="bold" />
@@ -122,36 +111,24 @@
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
- android:orientation="vertical">
+ android:orientation="horizontal">
-
-
-
-
-
-
+ android:text="@string/bark_sound"
+ android:textStyle="bold" />
@@ -161,36 +138,24 @@
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
- android:orientation="vertical">
+ android:orientation="horizontal">
-
-
-
-
-
-
+ android:text="@string/bark_badge"
+ android:textStyle="bold" />
@@ -200,37 +165,25 @@
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
- android:orientation="vertical">
+ android:orientation="horizontal">
-
-
-
-
-
-
+ android:text="@string/bark_url"
+ android:textStyle="bold" />
+ android:hint="@string/bark_url_tips"
+ android:inputType="text"
+ android:textSize="14sp"
+ tools:ignore="LabelFor,TextFields" />
@@ -65,8 +65,9 @@
@@ -88,6 +89,7 @@
android:id="@+id/editTextDingdingSecret"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ app:hint="机器人设置→安全设置→加签"
app:showEye="true" />
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 a1010fa6..a722c4fd 100644
--- a/app/src/main/res/layout/alert_dialog_setview_email.xml
+++ b/app/src/main/res/layout/alert_dialog_setview_email.xml
@@ -109,7 +109,6 @@
android:layout_marginStart="3dp"
app:hint="填写登录密码 或 授权码"
app:showEye="true"
- app:textColorHint="#9E9E9E"
app:textSize="13sp" />
diff --git a/app/src/main/res/layout/alert_dialog_setview_feishu.xml b/app/src/main/res/layout/alert_dialog_setview_feishu.xml
index dbe6c775..2a66aed7 100644
--- a/app/src/main/res/layout/alert_dialog_setview_feishu.xml
+++ b/app/src/main/res/layout/alert_dialog_setview_feishu.xml
@@ -56,15 +56,12 @@
android:text="@string/feishu_webhook"
android:textStyle="bold" />
-
+ app:hint="群机器人→Webhook 地址"
+ app:showEye="true" />
@@ -77,16 +74,16 @@
android:orientation="vertical">
diff --git a/app/src/main/res/layout/alert_dialog_setview_pushplus.xml b/app/src/main/res/layout/alert_dialog_setview_pushplus.xml
index daa83032..3ae90197 100644
--- a/app/src/main/res/layout/alert_dialog_setview_pushplus.xml
+++ b/app/src/main/res/layout/alert_dialog_setview_pushplus.xml
@@ -73,7 +73,7 @@
android:id="@+id/editTextPushPlusToken"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginStart="5dp"
+ app:hint="请认准 pushplus 官网地址"
app:showEye="true" />
@@ -97,6 +97,7 @@
android:layout_marginStart="3dp"
android:autofillHints=""
android:ems="14"
+ android:hint="@string/optional"
android:inputType="text"
android:text=""
tools:ignore="LabelFor" />
@@ -172,6 +173,7 @@
android:layout_marginStart="3dp"
android:autofillHints=""
android:ems="14"
+ android:hint="@string/optional"
android:inputType="text"
android:text=""
tools:ignore="LabelFor" />
@@ -197,6 +199,7 @@
android:layout_marginStart="3dp"
android:autofillHints=""
android:ems="14"
+ android:hint="@string/optional"
android:inputType="textUri"
android:text=""
tools:ignore="LabelFor" />
@@ -222,6 +225,7 @@
android:layout_marginStart="3dp"
android:autofillHints=""
android:ems="14"
+ android:hint="@string/optional"
android:inputType="number"
android:text=""
tools:ignore="LabelFor" />
diff --git a/app/src/main/res/layout/alert_dialog_setview_serverchan.xml b/app/src/main/res/layout/alert_dialog_setview_serverchan.xml
index cf5e380a..641b08cb 100644
--- a/app/src/main/res/layout/alert_dialog_setview_serverchan.xml
+++ b/app/src/main/res/layout/alert_dialog_setview_serverchan.xml
@@ -50,14 +50,14 @@
android:orientation="vertical">
diff --git a/app/src/main/res/layout/alert_dialog_setview_telegram.xml b/app/src/main/res/layout/alert_dialog_setview_telegram.xml
index 1462a72c..80c71f8f 100644
--- a/app/src/main/res/layout/alert_dialog_setview_telegram.xml
+++ b/app/src/main/res/layout/alert_dialog_setview_telegram.xml
@@ -50,16 +50,15 @@
android:orientation="vertical">
@@ -121,6 +120,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autofillHints=""
+ android:hint="@string/TelegramChatIdTips"
android:ems="14"
android:inputType="text"
android:text=""
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 06227770..896f2bf8 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -126,9 +126,9 @@
Phone number cannot be blank
GroupName/Status
Bark-Server
- e.g. https://day.app/XXXXXXXX/
- Bark-Icon (optional)
- e.g. http://day.app/assets/images/avatar.jpg
+ e.g. https://api.day.app/XXXXXXXX/
+ Bark-Icon
+ Optional, fill in the Url, the image should not be too big
Name/Staus
Token(Not contain links)
e.g. the XXX part of https://oapi.dingtalk.com/robot/send?access_token=XXX
@@ -397,12 +397,12 @@
Failed to get one-click clone information from sender
Linkman:
Via Number:
- Sound (optional)
- e.g. minuet.caf
- Badge (optional)
- e.g. 888
- Url (optional)
- e.g. https://github.com/pppscn/SmsForwarder
+ Sound
+ optional, e.g. minuet.caf
+ Badge
+ optional, e.g. 888
+ Url
+ optional, e.g. https://github.com/pppscn/SmsForwarder
Level
active
timeSensitive
@@ -445,4 +445,6 @@
format: AAA@BBB.CCC
Other
For other email addresses, please fill in the complete email address and manually fill in the SMTP server information
+ Optional
+ Follow the steps in the wiki to obtain it
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a20cfbf2..b46145a5 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -126,13 +126,13 @@
接收手机号不能为空
分组名称/状态
Bark-Server
- 例:https://day.app/XXXXXXXX/
- 消息图标(可选)
- 例:http://day.app/assets/images/avatar.jpg
+ 例:https://api.day.app/XXXXXXXX/
+ 消息图标
+ 可选,填写Url,图片不要太大
名称/状态
Token(不含链接)
例:https://oapi.dingtalk.com/robot/send?access_token=XXX 中的 XXX
- 加签 Secret (没有可不填)
+ 加签 Secret
转发时@某人
Tips:多个手机号用逗号分开,例如:18888888888,19999999999
服务器地址
@@ -160,7 +160,7 @@
WebHook地址
示例:https://qyapi.weixin.qq.com/cgixx?key=xxx
Server酱·Turbo版的SendKey
- Tg机器人的 ApiToken 或 自定义地址(http开头)
+ ApiToken 或 自定义代理地址(http开头)
被通知人(或群组)的ChatId
请求方式
WebServer
@@ -396,12 +396,12 @@
从发送端获取一键克隆信息失败
联 系 人:
来源号码:
- 消息声音(可选)
- 例:minuet.caf
- 消息角标(可选)
- 例:888
- 消息链接(可选)
- 例:https://github.com/pppscn/SmsForwarder
+ 消息声音
+ 可选,例:minuet.caf
+ 消息角标
+ 可选,例:888
+ 消息链接
+ 可选,例:https://github.com/pppscn/SmsForwarder
通知级别
立即亮屏
时效性
@@ -444,4 +444,6 @@
填写格式: AAA@BBB.CCC
其他邮箱
其他邮箱,请填写完整的邮箱地址并手动填写SMTP服务器信息
+ 可选
+ 请按照wiki中的步骤获取
diff --git a/build.gradle b/build.gradle
index 683f3780..be4a0564 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@ buildscript {
maven { url 'https://repo1.maven.org/maven2/' }
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.1'
+ classpath 'com.android.tools.build:gradle:7.1.2'
classpath 'com.chenenyu:img-optimizer:1.2.0'
}
}