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' } }