多语言支持(目前:中文、英文)
This commit is contained in:
parent
44b7eb1d55
commit
658ee0b512
|
@ -0,0 +1,79 @@
|
|||
name: Android CI
|
||||
|
||||
# 触发器
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
pull_request:
|
||||
tags:
|
||||
- v*
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
# if: github.event.repository.owner.id == github.event.sender.id
|
||||
|
||||
# 设置jdk环境为1.8
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
# ref: dev
|
||||
# 获取打包秘钥
|
||||
- name: Checkout Android Keystore
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: pppscn/keystore
|
||||
token: ${{ secrets.TOKEN }} # 连接仓库的token,需要单独配置
|
||||
path: keystore # 仓库的根目录名
|
||||
# 打包release
|
||||
- name: Build with Gradle
|
||||
run: bash ./gradlew assembleRelease
|
||||
# 创建release
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
#GitHub 会自动创建 GITHUB_TOKEN 密码以在工作流程中使用。
|
||||
#您可以使用 GITHUB_TOKEN 在工作流程运行中进行身份验证。
|
||||
#当您启用 GitHub Actions 时,GitHub 在您的仓库中安装 GitHub 应用程序。
|
||||
#GITHUB_TOKEN 密码是一种 GitHub 应用程序 安装访问令牌。
|
||||
#您可以使用安装访问令牌代表仓库中安装的 GitHub 应用程序 进行身份验证。
|
||||
#令牌的权限仅限于包含您的工作流程的仓库。 更多信息请参阅“GITHUB_TOKEN 的权限”。
|
||||
#在每个作业开始之前, GitHub 将为作业提取安装访问令牌。 令牌在作业完成后过期。
|
||||
with:
|
||||
tag_name: ${{ github.ref }}
|
||||
release_name: Release ${{ github.ref }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
# 获取apk版本号
|
||||
- name: Get Version Name
|
||||
uses: actions/github-script@v3
|
||||
id: get-version
|
||||
with:
|
||||
script: |
|
||||
const str=process.env.GITHUB_REF;
|
||||
return str.substring(str.indexOf("v"));
|
||||
result-encoding: string
|
||||
# 上传至release的资源
|
||||
- name: Upload Release Asset
|
||||
id: upload-release-asset
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }} # 上传网址,无需改动
|
||||
asset_path: app/build/outputs/apk/release/app-release.apk # 上传路径
|
||||
asset_name: SmsForwarder-${{steps.get-version.outputs.result}}.apk # 资源名
|
||||
asset_content_type: application/vnd.android.package-archiv #资源类型
|
||||
# 存档打包的文件
|
||||
- name: Archive production artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: build
|
||||
path: app/build/outputs #将打包之后的文件全部上传(里面会有混淆的map文件)
|
|
@ -17,3 +17,4 @@ gradle.properties
|
|||
/psd
|
||||
/keystore/keystore.properties
|
||||
/app/release
|
||||
/keystore
|
||||
|
|
55
README.md
55
README.md
|
@ -57,11 +57,12 @@
|
|||
- [x] 支持标注卡槽号码(优先使用)、设备信息;自定义转发信息模版
|
||||
- [x] 支持正则匹配规则
|
||||
- [x] 支持卡槽匹配规则
|
||||
- [x] 来电提醒转发
|
||||
- [x] 转发未接来电提醒
|
||||
- [x] 接口请求失败后延时重试5次(可配置间隔时间)
|
||||
- [x] 转发到飞书机器人
|
||||
- [x] 自定义 Scheme(forwarder://main)用于唤起App
|
||||
- [x] 低电量预警
|
||||
- [x] 多语言支持(目前:中文、英文)
|
||||
|
||||
### 使用流程:
|
||||
|
||||
|
@ -192,32 +193,32 @@
|
|||
|
||||
## 更新记录:(PS.点击版本号下载对应的版本)
|
||||
|
||||
+ [v1.0.0](app/release/SmsForwarder_release_20210213_1.0.0.apk) 优化后第一版
|
||||
+ [v1.1.0](app/release/SmsForwarder_release_20210214_1.1.0.apk) 新增在线升级、缓存清理、加入QQ群功能
|
||||
+ [v1.1.1](app/release/SmsForwarder_release_20210215_1.1.1.apk) 更新应用/通知栏图标
|
||||
+ [v1.1.2](app/release/SmsForwarder_release_20210218_1.1.2.apk) 获取系统(ROM)类别及版本号,MIUI通知栏显示标题
|
||||
+ [v1.1.3](app/release/SmsForwarder_release_20210218_1.1.3.apk) AlertDialog增加滚动条,避免参数过长时无法点击按钮
|
||||
+ [v1.2.0](app/release/SmsForwarder_release_20210219_1.2.0.apk) 重写SMTP邮件发送(推荐升级)
|
||||
+ [v1.2.1](app/release/SmsForwarder_release_20210226_1.2.1.apk) 修复bark-server升级到2.0后的兼容性问题
|
||||
+ [v1.2.2](app/release/SmsForwarder_release_20210302_1.2.2.apk) 【预发布】短信模板增加卡槽标识(SIM1_中国联通_Unknown 或 SIM2_中国移动_+8615866666666)
|
||||
+ [v1.2.3](app/release/SmsForwarder_release_20210302_1.2.3.apk) 【预发布】转发日志列表/详情增加卡槽标识(SIM1 或 SIM2)
|
||||
+ [v1.3.0](app/release/SmsForwarder_release_20210303_1.3.0.apk) 支持双卡手机,增加卡槽标识/运营商/手机号(如果能获取的话)
|
||||
+ [v1.4.0](app/release/SmsForwarder_release_20210304_1.4.0.apk) 支持多重匹配规则
|
||||
+ [v1.4.1](app/release/SmsForwarder_release_20210304_1.4.1.apk) 设置中允许关闭页面帮助/表单填写提示
|
||||
+ [v1.5.0](app/release/SmsForwarder_release_20210305_1.5.0.apk) 新增转发到企业微信应用消息
|
||||
+ [v1.5.1](app/release/SmsForwarder_release_20210310_1.5.1.apk) 解决Android 9.xx、10.xx收不到广播问题
|
||||
+ [v1.5.2](app/release/SmsForwarder_release_20210311_1.5.2.apk) 支持标注卡槽号码(优先使用)、设备信息;自定义转发信息模版
|
||||
+ [v1.6.0](app/release/SmsForwarder_release_20210312_1.6.0.apk) 优化获取SIM信息(兼容高版本Android) & 自动填写设备备注 & 自动填充卡槽信息到SIM1备注/SIM2备注 & 支持卡槽匹配规则 & 支持正则匹配规则
|
||||
+ [v1.6.1](app/release/SmsForwarder_release_20210312_1.6.1.apk) 新增转发到Server酱·Turbo版
|
||||
+ [v1.6.2](app/release/SmsForwarder_release_20210312_1.6.2.apk) 新增转发到Telegram机器人
|
||||
+ [v1.6.3](app/release/SmsForwarder_release_20210313_1.6.3.apk) 转发到webhook支持GET方式(节点改变,原配置要重新编辑);兼容Android5.0(待验证,仅minSdkVersion改为21);修复钉钉机器人没启用加签时url拼接错误问题
|
||||
+ [v1.6.4](app/release/SmsForwarder_release_20210313_1.6.4.apk) Android8.1以下手机重启后尝试启动主界面,以便动态获取权限(修复开机自启后无法转发短信,要打开软件后才会转发短信的问题)
|
||||
+ [v1.7.0](app/release/SmsForwarder_release_20210318_1.7.0.apk) 新增转发到其他手机短信 & 避免热插卡时FC & 规则展示优化 & 获取多卡信息&获取卡槽备注优化 & 新增恢复初始化配置
|
||||
+ [v1.7.1](app/release/SmsForwarder_release_20210321_1.7.1.apk) 新增转发记录的转发状态(成功/失败&应答信息)
|
||||
+ [v1.7.2](app/release/SmsForwarder_release_20210325_1.7.2.apk) 新增V1版证书签名,避免部分低版本系统(Android 6.x)无证书错误 & 发送方邮箱允许自定义发件人昵称
|
||||
+ [v1.7.3](app/release/SmsForwarder_release_20210331_1.7.3.apk) 修复“设置匹配模式”默认选择BUG & 转发到webhook时返回http状态200即为成功 & 转发到其他手机短信支持长短信合并
|
||||
+ [v1.7.4](app/release/SmsForwarder_release_20210715_1.7.4.apk) 修复转发企业微信群机器人碰到"被截断问题 & 转发到webhook时忽略ssl证书校验(提高自建服务端兼容性) & 转发telegram时将 # 替换为 井,避免被当作标签 & 隐私保护,发送方设置中敏感信息(密码/token/secret等)用星号显示 & 更新友盟基础组件库 & 解决“设置页面关闭卡槽信息,同时使用默认模板时,发送消息卡槽信息仍显示”
|
||||
+ [v2.0.0](app/release/SmsForwarder_release_20210930_2.0.0.apk) 来电提醒转发 & 接口请求失败后延时重试5次(可配置间隔时间) & 转发到飞书机器人 & 自定义 Scheme(forwarder://main)用于唤起App & 低电量预警 & 重新梳理代码(消灭waring)& Bark增加支持分组 & 引入Lombok & 升级gradle版本 & 增加电池优化白名单设置和权限 & 转发到webhook增加支持自定义post数据,并支持Json数据提交
|
||||
+ [v1.0.0] 优化后第一版
|
||||
+ [v1.1.0] 新增在线升级、缓存清理、加入QQ群功能
|
||||
+ [v1.1.1] 更新应用/通知栏图标
|
||||
+ [v1.1.2] 获取系统(ROM)类别及版本号,MIUI通知栏显示标题
|
||||
+ [v1.1.3] AlertDialog增加滚动条,避免参数过长时无法点击按钮
|
||||
+ [v1.2.0] 重写SMTP邮件发送(推荐升级)
|
||||
+ [v1.2.1] 修复bark-server升级到2.0后的兼容性问题
|
||||
+ [v1.2.2] 【预发布】短信模板增加卡槽标识(SIM1_中国联通_Unknown 或 SIM2_中国移动_+8615866666666)
|
||||
+ [v1.2.3] 【预发布】转发日志列表/详情增加卡槽标识(SIM1 或 SIM2)
|
||||
+ [v1.3.0] 支持双卡手机,增加卡槽标识/运营商/手机号(如果能获取的话)
|
||||
+ [v1.4.0] 支持多重匹配规则
|
||||
+ [v1.4.1] 设置中允许关闭页面帮助/表单填写提示
|
||||
+ [v1.5.0] 新增转发到企业微信应用消息
|
||||
+ [v1.5.1] 解决Android 9.xx、10.xx收不到广播问题
|
||||
+ [v1.5.2] 支持标注卡槽号码(优先使用)、设备信息;自定义转发信息模版
|
||||
+ [v1.6.0] 优化获取SIM信息(兼容高版本Android) & 自动填写设备备注 & 自动填充卡槽信息到SIM1备注/SIM2备注 & 支持卡槽匹配规则 & 支持正则匹配规则
|
||||
+ [v1.6.1] 新增转发到Server酱·Turbo版
|
||||
+ [v1.6.2] 新增转发到Telegram机器人
|
||||
+ [v1.6.3] 转发到webhook支持GET方式(节点改变,原配置要重新编辑);兼容Android5.0(待验证,仅minSdkVersion改为21);修复钉钉机器人没启用加签时url拼接错误问题
|
||||
+ [v1.6.4] Android8.1以下手机重启后尝试启动主界面,以便动态获取权限(修复开机自启后无法转发短信,要打开软件后才会转发短信的问题)
|
||||
+ [v1.7.0] 新增转发到其他手机短信 & 避免热插卡时FC & 规则展示优化 & 获取多卡信息&获取卡槽备注优化 & 新增恢复初始化配置
|
||||
+ [v1.7.1] 新增转发记录的转发状态(成功/失败&应答信息)
|
||||
+ [v1.7.2] 新增V1版证书签名,避免部分低版本系统(Android 6.x)无证书错误 & 发送方邮箱允许自定义发件人昵称
|
||||
+ [v1.7.3] 修复“设置匹配模式”默认选择BUG & 转发到webhook时返回http状态200即为成功 & 转发到其他手机短信支持长短信合并
|
||||
+ [v1.7.4] 修复转发企业微信群机器人碰到"被截断问题 & 转发到webhook时忽略ssl证书校验(提高自建服务端兼容性) & 转发telegram时将 # 替换为 井,避免被当作标签 & 隐私保护,发送方设置中敏感信息(密码/token/secret等)用星号显示 & 更新友盟基础组件库 & 解决“设置页面关闭卡槽信息,同时使用默认模板时,发送消息卡槽信息仍显示”
|
||||
+ [v2.0.0] 来电提醒转发 & 接口请求失败后延时重试5次(可配置间隔时间)& 转发到飞书机器人 & 自定义 Scheme(forwarder://main)用于唤起App & 低电量预警 & 重新梳理代码(消灭waring)& Bark增加支持分组 & 引入Lombok & 升级gradle版本 & 增加电池优化白名单设置和权限 & 转发到webhook增加支持自定义post数据,并支持Json数据提交
|
||||
|
||||
--------
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ android {
|
|||
}
|
||||
}
|
||||
//apk file name
|
||||
android.applicationVariants.all { variant ->
|
||||
/*android.applicationVariants.all { variant ->
|
||||
variant.outputs.all {
|
||||
//def date = new Date().format("yyyyMMdd" , TimeZone.getTimeZone("Asia/Shanghai"))
|
||||
def date = new Date().format("yyyyMMdd", TimeZone.getTimeZone("GMT+08"))
|
||||
|
@ -69,7 +69,7 @@ android {
|
|||
outputFileName = "SmsForwarder_release_${date}_${versionName}.apk"
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
|
||||
-keep class com.idormy.sms.forwarder.model.**{*;}
|
||||
-keep class com.umeng.** {*;}
|
||||
-keepclassmembers class * {
|
||||
|
@ -28,3 +29,15 @@
|
|||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
-dontwarn com.sun.**
|
||||
-dontwarn javax.mail.**
|
||||
-dontwarn javax.activation.**
|
||||
-keep class com.sun.** { *;}
|
||||
-keep class javax.mail.** { *;}
|
||||
-keep class javax.activation.** { *;}
|
||||
-keep class com.smailnet.emailkit.** { *;}
|
||||
|
||||
-keep class com.xuexiang.xupdate.entity.** { *; }
|
||||
-keep class com.xuexiang.xupdatedemo.entity.** { *; }
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
</activity>
|
||||
<activity
|
||||
android:name=".AboutActivity"
|
||||
android:label="关于">
|
||||
android:label="@string/about">
|
||||
<intent-filter>
|
||||
<!--协议部分,随便设置-->
|
||||
<data
|
||||
|
@ -75,13 +75,13 @@
|
|||
</activity>
|
||||
<activity
|
||||
android:name=".SettingActivity"
|
||||
android:label="设置" />
|
||||
android:label="@string/setting" />
|
||||
<activity
|
||||
android:name=".RuleActivity"
|
||||
android:label="转发规则" />
|
||||
android:label="@string/rule_setting" />
|
||||
<activity
|
||||
android:name=".SenderActivity"
|
||||
android:label="发送方" />
|
||||
android:label="@string/sender_setting" />
|
||||
|
||||
<receiver
|
||||
android:name=".receiver.RebootBroadcastReceiver"
|
||||
|
@ -110,7 +110,6 @@
|
|||
</receiver>
|
||||
|
||||
<service android:name=".service.FrontService" />
|
||||
<service android:name=".service.BatteryService" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
|
@ -63,14 +63,14 @@ public class AboutActivity extends AppCompatActivity {
|
|||
@Override
|
||||
public void onBeforeCheck() {
|
||||
super.onBeforeCheck();
|
||||
Toast.makeText(AboutActivity.this, "查询中...", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(AboutActivity.this, R.string.checking, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void noNewVersion(Throwable throwable) {
|
||||
super.noNewVersion(throwable);
|
||||
// 没有最新版本的处理
|
||||
Toast.makeText(AboutActivity.this, "已是最新版本!", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(AboutActivity.this, R.string.up_to_date, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
})
|
||||
.update();
|
||||
|
@ -94,7 +94,7 @@ public class AboutActivity extends AppCompatActivity {
|
|||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Toast.makeText(AboutActivity.this, "缓存清理完成", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(AboutActivity.this, R.string.cache_purged, Toast.LENGTH_LONG).show();
|
||||
});
|
||||
|
||||
Button join_qq_group1 = findViewById(R.id.join_qq_group1);
|
||||
|
@ -150,7 +150,7 @@ public class AboutActivity extends AppCompatActivity {
|
|||
startActivity(intent);
|
||||
} catch (Exception e) {
|
||||
// 未安装手Q或安装的版本不支持
|
||||
Toast.makeText(AboutActivity.this, "未安装手Q或安装的版本不支持!", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(AboutActivity.this, R.string.unknown_qq_version, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -83,21 +83,21 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
|
|||
|
||||
//定义AlertDialog.Builder对象,当长按列表项的时候弹出确认删除对话框
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
|
||||
builder.setMessage("确定删除?");
|
||||
builder.setTitle("提示");
|
||||
builder.setTitle(R.string.delete_log_title);
|
||||
builder.setMessage(R.string.delete_log_tips);
|
||||
|
||||
//添加AlertDialog.Builder对象的setPositiveButton()方法
|
||||
builder.setPositiveButton("确定", (dialog, which) -> {
|
||||
builder.setPositiveButton(R.string.confirm, (dialog, which) -> {
|
||||
Long id1 = logVos.get(position - 1).getId();
|
||||
Log.d(TAG, "id = " + id1);
|
||||
LogUtil.delLog(id1, null);
|
||||
initTLogs(); //初始化数据
|
||||
showList(logVos);
|
||||
Toast.makeText(getBaseContext(), "删除列表项", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(getBaseContext(), R.string.delete_log_toast, Toast.LENGTH_SHORT).show();
|
||||
});
|
||||
|
||||
//添加AlertDialog.Builder对象的setNegativeButton()方法
|
||||
builder.setNegativeButton("取消", (dialog, which) -> {
|
||||
builder.setNegativeButton(R.string.cancel, (dialog, which) -> {
|
||||
});
|
||||
|
||||
builder.create().show();
|
||||
|
@ -151,29 +151,21 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
|
|||
|
||||
public void logDetail(LogVo logVo) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
|
||||
builder.setTitle("详情");
|
||||
builder.setTitle(R.string.details);
|
||||
String simInfo = logVo.getSimInfo();
|
||||
if (simInfo != null) {
|
||||
builder.setMessage(logVo.getFrom() + "\n\n" + logVo.getContent() + "\n\n" + logVo.getSimInfo() + "\n\n" + logVo.getRule() + "\n\n" + aUtil.utc2Local(logVo.getTime()) + "\n\nResponse:" + logVo.getForwardResponse());
|
||||
} else {
|
||||
builder.setMessage(logVo.getFrom() + "\n\n" + logVo.getContent() + "\n\n" + logVo.getRule() + "\n\n" + aUtil.utc2Local(logVo.getTime()) + "\n\nResponse:" + logVo.getForwardResponse());
|
||||
}
|
||||
//重发
|
||||
/*builder.setPositiveButton("重发", (dialog, which) -> {
|
||||
Long id = logVo.getId();
|
||||
Log.d(TAG, "id = " + id);
|
||||
Log.d(TAG, logVo.toString());
|
||||
Toast.makeText(MainActivity.this, "你确定要重发吗?", Toast.LENGTH_SHORT).show();
|
||||
dialog.dismiss();
|
||||
});*/
|
||||
//删除
|
||||
builder.setNegativeButton("删除", (dialog, which) -> {
|
||||
builder.setNegativeButton(R.string.del, (dialog, which) -> {
|
||||
Long id = logVo.getId();
|
||||
Log.d(TAG, "id = " + id);
|
||||
LogUtil.delLog(id, null);
|
||||
initTLogs(); //初始化数据
|
||||
showList(logVos);
|
||||
Toast.makeText(MainActivity.this, "已删除该条记录", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(MainActivity.this, R.string.delete_log_toast, Toast.LENGTH_SHORT).show();
|
||||
dialog.dismiss();
|
||||
});
|
||||
builder.show();
|
||||
|
@ -201,8 +193,8 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
|
|||
|
||||
public void cleanLog(View view) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
|
||||
builder.setTitle("确定要清空转发记录吗?")
|
||||
.setPositiveButton("清空", (dialog, which) -> {
|
||||
builder.setTitle(R.string.clear_logs_tips)
|
||||
.setPositiveButton(R.string.confirm, (dialog, which) -> {
|
||||
// TODO Auto-generated method stub
|
||||
LogUtil.delLog(null, null);
|
||||
initTLogs();
|
||||
|
|
|
@ -217,14 +217,14 @@ public class RefreshListView extends ListView implements AbsListView.OnScrollLis
|
|||
case PULL:
|
||||
arrow.setVisibility(View.VISIBLE);
|
||||
progress.setVisibility(View.GONE);
|
||||
tip.setText("下拉可以刷新!");
|
||||
tip.setText(R.string.pull_tips);
|
||||
arrow.clearAnimation();
|
||||
arrow.setAnimation(anim1);
|
||||
break;
|
||||
case RELEASE:
|
||||
arrow.setVisibility(View.VISIBLE);
|
||||
progress.setVisibility(View.GONE);
|
||||
tip.setText("松开可以刷新!");
|
||||
tip.setText(R.string.release_tips);
|
||||
arrow.clearAnimation();
|
||||
arrow.setAnimation(anim);
|
||||
break;
|
||||
|
@ -232,7 +232,7 @@ public class RefreshListView extends ListView implements AbsListView.OnScrollLis
|
|||
topPadding(50);
|
||||
arrow.setVisibility(View.GONE);
|
||||
progress.setVisibility(View.VISIBLE);
|
||||
tip.setText("正在刷新...");
|
||||
tip.setText(R.string.reflashing_tips);
|
||||
arrow.clearAnimation();
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -88,20 +88,19 @@ public class RuleActivity extends AppCompatActivity {
|
|||
listView.setOnItemLongClickListener((parent, view, position, id) -> {
|
||||
//定义AlertDialog.Builder对象,当长按列表项的时候弹出确认删除对话框
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(RuleActivity.this);
|
||||
|
||||
builder.setMessage("确定删除?");
|
||||
builder.setTitle("提示");
|
||||
builder.setTitle(R.string.delete_rule_title);
|
||||
builder.setMessage(R.string.delete_rule_tips);
|
||||
|
||||
//添加AlertDialog.Builder对象的setPositiveButton()方法
|
||||
builder.setPositiveButton("确定", (dialog, which) -> {
|
||||
builder.setPositiveButton(R.string.confirm, (dialog, which) -> {
|
||||
RuleUtil.delRule(ruleModels.get(position).getId());
|
||||
initRules();
|
||||
adapter.del(ruleModels);
|
||||
Toast.makeText(getBaseContext(), "删除列表项", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(getBaseContext(), R.string.delete_rule_toast, Toast.LENGTH_SHORT).show();
|
||||
});
|
||||
|
||||
//添加AlertDialog.Builder对象的setNegativeButton()方法
|
||||
builder.setNegativeButton("取消", (dialog, which) -> {
|
||||
builder.setNegativeButton(R.string.cancel, (dialog, which) -> {
|
||||
|
||||
});
|
||||
|
||||
|
@ -219,7 +218,7 @@ public class RuleActivity extends AppCompatActivity {
|
|||
buttonRuleTest.setOnClickListener(view -> {
|
||||
Object senderId = ruleSenderTv.getTag();
|
||||
if (senderId == null) {
|
||||
Toast.makeText(RuleActivity.this, "请先创建选择发送方", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(RuleActivity.this, R.string.new_sender_first, Toast.LENGTH_LONG).show();
|
||||
} else {
|
||||
int radioGroupRuleCheckId = Math.max(radioGroupRuleCheck.getCheckedRadioButtonId(), radioGroupRuleCheck2.getCheckedRadioButtonId());
|
||||
if (ruleModel == null) {
|
||||
|
@ -331,7 +330,7 @@ public class RuleActivity extends AppCompatActivity {
|
|||
public void selectSender(final TextView showTv) {
|
||||
final List<SenderModel> senderModels = SenderUtil.getSender(null, null);
|
||||
if (senderModels.isEmpty()) {
|
||||
Toast.makeText(RuleActivity.this, "请先去设置发送方页面添加", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(RuleActivity.this, R.string.add_sender_first, Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
final CharSequence[] senderNames = new CharSequence[senderModels.size()];
|
||||
|
@ -339,7 +338,7 @@ public class RuleActivity extends AppCompatActivity {
|
|||
senderNames[i] = senderModels.get(i).getName();
|
||||
}
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(RuleActivity.this);
|
||||
builder.setTitle("选择发送方");
|
||||
builder.setTitle(R.string.select_sender);
|
||||
//添加列表
|
||||
builder.setItems(senderNames, (dialogInterface, which) -> {
|
||||
Toast.makeText(RuleActivity.this, senderNames[which], Toast.LENGTH_LONG).show();
|
||||
|
@ -356,7 +355,7 @@ public class RuleActivity extends AppCompatActivity {
|
|||
final EditText editTextTestMsgContent = view.findViewById(R.id.editTextTestMsgContent);
|
||||
Button buttonRuleTest = view.findViewById(R.id.buttonRuleTest);
|
||||
AlertDialog.Builder ad1 = new AlertDialog.Builder(RuleActivity.this);
|
||||
ad1.setTitle("测试规则");
|
||||
ad1.setTitle(R.string.rule_tester);
|
||||
ad1.setIcon(android.R.drawable.ic_dialog_email);
|
||||
ad1.setView(view);
|
||||
buttonRuleTest.setOnClickListener(v -> {
|
||||
|
|
|
@ -143,7 +143,7 @@ public class SenderActivity extends AppCompatActivity {
|
|||
setFeiShu(senderModel);
|
||||
break;
|
||||
default:
|
||||
Toast.makeText(SenderActivity.this, "异常的发送方类型,自动删除!", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_sender, Toast.LENGTH_LONG).show();
|
||||
SenderUtil.delSender(senderModel.getId());
|
||||
initSenders();
|
||||
adapter.del(senderModels);
|
||||
|
@ -155,20 +155,19 @@ public class SenderActivity extends AppCompatActivity {
|
|||
listView.setOnItemLongClickListener((parent, view, position, id) -> {
|
||||
//定义AlertDialog.Builder对象,当长按列表项的时候弹出确认删除对话框
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(SenderActivity.this);
|
||||
|
||||
builder.setMessage("确定删除?");
|
||||
builder.setTitle("提示");
|
||||
builder.setTitle(R.string.delete_sender_title);
|
||||
builder.setMessage(R.string.delete_sender_tips);
|
||||
|
||||
//添加AlertDialog.Builder对象的setPositiveButton()方法
|
||||
builder.setPositiveButton("确定", (dialog, which) -> {
|
||||
builder.setPositiveButton(R.string.confirm, (dialog, which) -> {
|
||||
SenderUtil.delSender(senderModels.get(position).getId());
|
||||
initSenders();
|
||||
adapter.del(senderModels);
|
||||
Toast.makeText(getBaseContext(), "删除列表项", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(getBaseContext(), R.string.delete_sender_toast, Toast.LENGTH_SHORT).show();
|
||||
});
|
||||
|
||||
//添加AlertDialog.Builder对象的setNegativeButton()方法
|
||||
builder.setNegativeButton("取消", (dialog, which) -> {
|
||||
builder.setNegativeButton(R.string.cancel, (dialog, which) -> {
|
||||
|
||||
});
|
||||
|
||||
|
@ -184,7 +183,7 @@ public class SenderActivity extends AppCompatActivity {
|
|||
|
||||
public void addSender(View view) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(SenderActivity.this);
|
||||
builder.setTitle("选择发送方类型");
|
||||
builder.setTitle(R.string.add_sender_title);
|
||||
//添加列表
|
||||
builder.setItems(R.array.add_sender_menu, (dialogInterface, which) -> {
|
||||
switch (which) {
|
||||
|
@ -219,7 +218,7 @@ public class SenderActivity extends AppCompatActivity {
|
|||
setFeiShu(null);
|
||||
break;
|
||||
default:
|
||||
Toast.makeText(SenderActivity.this, "暂不支持这种转发!", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.not_supported, Toast.LENGTH_LONG).show();
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
@ -282,7 +281,6 @@ public class SenderActivity extends AppCompatActivity {
|
|||
SenderUtil.addSender(newSenderModel);
|
||||
initSenders();
|
||||
adapter.add(senderModels);
|
||||
// adapter.add(newSenderModel);
|
||||
} else {
|
||||
senderModel.setName(editTextDingdingName.getText().toString());
|
||||
senderModel.setType(TYPE_DINGDING);
|
||||
|
@ -296,7 +294,6 @@ public class SenderActivity extends AppCompatActivity {
|
|||
SenderUtil.updateSender(senderModel);
|
||||
initSenders();
|
||||
adapter.update(senderModels);
|
||||
// adapter.update(senderModel,position);
|
||||
}
|
||||
|
||||
|
||||
|
@ -309,8 +306,6 @@ public class SenderActivity extends AppCompatActivity {
|
|||
SenderUtil.delSender(senderModel.getId());
|
||||
initSenders();
|
||||
adapter.del(senderModels);
|
||||
// adapter.del(position);
|
||||
|
||||
}
|
||||
show.dismiss();
|
||||
});
|
||||
|
@ -321,13 +316,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
Boolean atAll = switchDingdingAtAll.isChecked();
|
||||
if (!token.isEmpty()) {
|
||||
try {
|
||||
SenderDingdingMsg.sendMsg(0, handler, token, secret, atMobiles, atAll, "测试内容(content)@" + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
||||
SenderDingdingMsg.sendMsg(0, handler, token, secret, atMobiles, atAll, R.string.test_content + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "token 不能为空", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_token, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -441,13 +436,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
|
||||
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", "测试内容(content)@" + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
||||
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())));
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "邮箱参数不完整", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_email, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -523,13 +518,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
String barkServer = editTextBarkServer.getText().toString();
|
||||
if (!barkServer.isEmpty()) {
|
||||
try {
|
||||
SenderBarkMsg.sendMsg(0, handler, barkServer, "19999999999", "【京东】验证码为387481(切勿将验证码告知他人),请在页面中输入完成验证,如有问题请点击 ihelp.jd.com 联系京东客服", "测试分组");
|
||||
SenderBarkMsg.sendMsg(0, handler, barkServer, getString(R.string.test_phone_num), getString(R.string.test_sms), getString(R.string.test_group_name));
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "bark-server 不能为空", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_bark_server, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -606,13 +601,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
String serverChanServer = editTextServerChanSendKey.getText().toString();
|
||||
if (!serverChanServer.isEmpty()) {
|
||||
try {
|
||||
SenderServerChanMsg.sendMsg(0, handler, serverChanServer, "19999999999", "【京东】验证码为387481(切勿将验证码告知他人),请在页面中输入完成验证,如有问题请点击 ihelp.jd.com 联系京东客服");
|
||||
SenderServerChanMsg.sendMsg(0, handler, serverChanServer, getString(R.string.test_phone_num), getString(R.string.test_sms));
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "Server酱·Turbo版的 SendKey 不能为空", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_sendkey, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -693,13 +688,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
String method = radioGroupWebNotifyMethod.getCheckedRadioButtonId() == R.id.radioWebNotifyMethodGet ? "GET" : "POST";
|
||||
if (!webServer.isEmpty()) {
|
||||
try {
|
||||
SenderWebNotifyMsg.sendMsg(0, handler, webServer, webParams, secret, method, "SmsForwarder Title", "测试内容(content)@" + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
||||
SenderWebNotifyMsg.sendMsg(0, handler, webServer, webParams, secret, method, "SmsForwarder Title", R.string.test_content + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "WebServer 不能为空", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_webserver, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -777,13 +772,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
String webHook = editTextQYWXGroupRobotWebHook.getText().toString();
|
||||
if (!webHook.isEmpty()) {
|
||||
try {
|
||||
SenderQyWxGroupRobotMsg.sendMsg(0, handler, webHook, "SmsForwarder Title", "测试内容(content)@" + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
||||
SenderQyWxGroupRobotMsg.sendMsg(0, handler, webHook, "SmsForwarder Title", R.string.test_content + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "webHook 不能为空", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_webhook, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -842,7 +837,7 @@ public class SenderActivity extends AppCompatActivity {
|
|||
buttonQYWXAppOk.setOnClickListener(view -> {
|
||||
String toUser = editTextQYWXAppToUser.getText().toString();
|
||||
if (toUser.isEmpty()) {
|
||||
Toast.makeText(SenderActivity.this, "指定成员 不能为空 或者 选择@all", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_at_mobiles, Toast.LENGTH_LONG).show();
|
||||
editTextQYWXAppToUser.setFocusable(true);
|
||||
editTextQYWXAppToUser.requestFocus();
|
||||
return;
|
||||
|
@ -897,13 +892,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
//Boolean atAll = switchQYWXAppAtAll.isChecked();
|
||||
if (!toUser.isEmpty()) {
|
||||
try {
|
||||
SenderQyWxAppMsg.sendMsg(0, handler, cropID, agentID, secret, toUser, "测试内容(content)@" + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())), true);
|
||||
SenderQyWxAppMsg.sendMsg(0, handler, cropID, agentID, secret, toUser, R.string.test_content + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())), true);
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "指定成员 不能为空 或者 选择@all", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_at_mobiles, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -986,13 +981,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
String chatId = editTextTelegramChatId.getText().toString();
|
||||
if (!apiToken.isEmpty() && !chatId.isEmpty()) {
|
||||
try {
|
||||
SenderTelegramMsg.sendMsg(0, handler, apiToken, chatId, "19999999999", "【京东】验证码为387481(切勿将验证码告知他人),请在页面中输入完成验证,如有问题请点击 ihelp.jd.com 联系京东客服");
|
||||
SenderTelegramMsg.sendMsg(0, handler, apiToken, chatId, getString(R.string.test_phone_num), getString(R.string.test_sms));
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "机器人的ApiToken 和 被通知人的ChatId 都不能为空", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_apiToken_or_chatId, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -1082,13 +1077,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
Boolean onlyNoNetwork = switchSmsOnlyNoNetwork.isChecked();
|
||||
if (!mobiles.isEmpty()) {
|
||||
try {
|
||||
SenderSmsMsg.sendMsg(0, handler, simSlot, mobiles, onlyNoNetwork, "19999999999", "【京东】验证码为387481(切勿将验证码告知他人),请在页面中输入完成验证,如有问题请点击 ihelp.jd.com 联系京东客服");
|
||||
SenderSmsMsg.sendMsg(0, handler, simSlot, mobiles, onlyNoNetwork, getString(R.string.test_phone_num), getString(R.string.test_sms));
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "接收手机号不能为空", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_phone_num, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -1169,13 +1164,13 @@ public class SenderActivity extends AppCompatActivity {
|
|||
String secret = editTextFeishuSecret.getText().toString();
|
||||
if (!token.isEmpty()) {
|
||||
try {
|
||||
SenderFeishuMsg.sendMsg(0, handler, token, secret, "测试内容(content)@" + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
||||
SenderFeishuMsg.sendMsg(0, handler, token, secret, getString(R.string.test_content) + (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(SenderActivity.this, "发送失败:" + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, getString(R.string.failed_to_fwd) + e.getMessage(), Toast.LENGTH_LONG).show();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(SenderActivity.this, "token 不能为空", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(SenderActivity.this, R.string.invalid_webhook, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="当前版本" />
|
||||
android:text="@string/version" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/version_now"
|
||||
|
@ -42,7 +42,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="检查新版本" />
|
||||
android:text="@string/check_for_updates" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -60,7 +60,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="3"
|
||||
android:text="开机启动" />
|
||||
android:text="@string/auto_startup" />
|
||||
|
||||
<Switch
|
||||
android:id="@+id/switch_with_reboot"
|
||||
|
@ -87,7 +87,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="3"
|
||||
android:text="页面帮助提示" />
|
||||
android:text="@string/show_tips" />
|
||||
|
||||
<Switch
|
||||
android:id="@+id/switch_help_tip"
|
||||
|
@ -114,7 +114,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="开源地址" />
|
||||
android:text="@string/open_source" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/linkweb"
|
||||
|
@ -141,7 +141,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="同步镜像" />
|
||||
android:text="@string/synchronize_mirror" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/linkweb2"
|
||||
|
@ -173,19 +173,19 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="互帮互助QQ群" />
|
||||
android:text="@string/qq_group" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="start"
|
||||
android:text="①群:562854376" />
|
||||
android:text="@string/qq_group1" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="start"
|
||||
android:text="②群:31330492" />
|
||||
android:text="@string/qq_group2" />
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
|
@ -193,14 +193,14 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="加入①群" />
|
||||
android:text="@string/join_qq_group1" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/join_qq_group2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="加入②群" />
|
||||
android:text="@string/join_qq_group2" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -221,7 +221,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="缓存大小" />
|
||||
android:text="@string/cache" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/cache_size"
|
||||
|
@ -236,7 +236,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="清除缓存" />
|
||||
android:text="@string/purge" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -40,11 +40,11 @@
|
|||
android:layout_weight="1"
|
||||
android:background="@color/colorPrimary"
|
||||
android:onClick="cleanLog"
|
||||
android:text="清空记录"
|
||||
android:text="@string/bt_refresh_log"
|
||||
tools:ignore="NestedWeights" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/bt_rule_set"
|
||||
android:id="@+id/rule_setting"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginStart="10dp"
|
||||
|
@ -53,11 +53,11 @@
|
|||
android:layout_weight="1"
|
||||
android:background="@color/colorPrimary"
|
||||
android:onClick="toRuleSetting"
|
||||
android:text="设置转发规则"
|
||||
android:text="@string/rule_setting"
|
||||
tools:ignore="NestedWeights" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/bt_send_set"
|
||||
android:id="@+id/sender_setting"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
|
@ -67,7 +67,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="@color/colorPrimary"
|
||||
android:onClick="toSendSetting"
|
||||
android:text="设置发送方" />
|
||||
android:text="@string/sender_setting" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
android:background="@color/colorPrimary"
|
||||
android:onClick="addRule"
|
||||
android:padding="0dp"
|
||||
android:text="添加转发规则" />
|
||||
android:text="@string/new_forwarding_rule" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -32,7 +32,7 @@
|
|||
android:background="@color/colorPrimary"
|
||||
android:onClick="addSender"
|
||||
android:padding="0dp"
|
||||
android:text="添加发送方" />
|
||||
android:text="@string/new_sender" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -21,7 +21,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设备名称"
|
||||
android:text="@string/device_name"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
|
@ -55,14 +55,14 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="SIM1备注"
|
||||
android:text="@string/sim1_remark"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="运营商_手机号"
|
||||
android:text="@string/carrier_mobile"
|
||||
android:textSize="9sp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -96,14 +96,14 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="SIM2备注"
|
||||
android:text="@string/sim2_remark"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="运营商_手机号"
|
||||
android:text="@string/carrier_mobile"
|
||||
android:textSize="9sp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -137,14 +137,14 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="低电量预警阈值(%)"
|
||||
android:text="@string/low_power_alarm_threshold"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="取值范围:0-100,留空或0禁用"
|
||||
android:text="@string/low_power_alarm_threshold_tips"
|
||||
android:textSize="9sp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -178,14 +178,14 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="每次重试间隔(秒)"
|
||||
android:text="@string/retry_interval"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="接口请求失败后将重试5次"
|
||||
android:text="@string/retry_interval_tips"
|
||||
android:textSize="9sp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -268,7 +268,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="3"
|
||||
android:text="转发时附加卡槽信息"
|
||||
android:text="@string/add_extra"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<Switch
|
||||
|
@ -295,7 +295,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="3"
|
||||
android:text="转发时附加设备名称"
|
||||
android:text="@string/add_device_name"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<Switch
|
||||
|
@ -318,7 +318,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="转发来电"
|
||||
android:text="@string/forward_missed_calls"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<Switch
|
||||
|
@ -346,7 +346,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="3"
|
||||
android:text="转发时启用自定义模版"
|
||||
android:text="@string/enable_custom_templates"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<Switch
|
||||
|
@ -379,14 +379,14 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="转发信息模版"
|
||||
android:text="@string/custom_templates"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:text="Tip:按需插入内容标签;留空使用默认模版"
|
||||
android:text="@string/custom_templates_tips"
|
||||
android:textSize="11sp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -412,22 +412,9 @@
|
|||
android:layout_weight="1"
|
||||
android:background="@color/colorPrimary"
|
||||
android:onClick="toInsertLabel"
|
||||
android:text="来源号码"
|
||||
android:text="@string/insert_sender"
|
||||
tools:ignore="NestedWeights" />
|
||||
|
||||
<!--<Button
|
||||
android:id="@+id/bt_insert_receiver"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/colorPrimary"
|
||||
android:onClick="toInsertLabel"
|
||||
android:text="接收号码"
|
||||
tools:ignore="NestedWeights" />-->
|
||||
|
||||
<Button
|
||||
android:id="@+id/bt_insert_content"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -438,7 +425,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="@color/colorPrimary"
|
||||
android:onClick="toInsertLabel"
|
||||
android:text="短信内容" />
|
||||
android:text="@string/insert_content" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/bt_insert_extra"
|
||||
|
@ -450,7 +437,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="@color/colorPrimary"
|
||||
android:onClick="toInsertLabel"
|
||||
android:text="卡槽信息" />
|
||||
android:text="@string/insert_extra" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/bt_insert_time"
|
||||
|
@ -462,7 +449,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="@color/colorPrimary"
|
||||
android:onClick="toInsertLabel"
|
||||
android:text="接收时间" />
|
||||
android:text="@string/insert_time" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/bt_insert_device_name"
|
||||
|
@ -474,7 +461,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="@color/colorPrimary"
|
||||
android:onClick="toInsertLabel"
|
||||
android:text="设备名称" />
|
||||
android:text="@string/insert_device_name" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -488,7 +475,7 @@
|
|||
android:background="@color/colorPrimary"
|
||||
android:onClick="initSetting"
|
||||
android:padding="0dp"
|
||||
android:text="恢复初始化配置" />
|
||||
android:text="@string/init_setting" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnBatterySetting"
|
||||
|
@ -498,7 +485,7 @@
|
|||
android:background="@color/colorPrimary"
|
||||
android:onClick="batterySetting"
|
||||
android:padding="0dp"
|
||||
android:text="设置电池优化" />
|
||||
android:text="@string/battery_setting" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置分组名称" />
|
||||
android:text="@string/set_bark_name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextBarkName"
|
||||
|
@ -43,7 +43,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置Bark-Server地址,示例:https://bark.bms.ink/XXXXXXXX/" />
|
||||
android:text="@string/set_bark_server" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextBarkServer"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置名称" />
|
||||
android:text="@string/set_name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextDingdingName"
|
||||
|
@ -42,7 +42,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置Token 例如 https://oapi.dingtalk.com/robot/send?access_token=XXXXXX 中的 XXXXXX" />
|
||||
android:text="@string/dingding_token" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextDingdingToken"
|
||||
|
@ -65,7 +65,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="加签 Secret 没有可不填" />
|
||||
android:text="@string/dingding_secret" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextDingdingSecret"
|
||||
|
@ -87,7 +87,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="转发时@某人 填写某人的手机号,多个用逗号分开 例如:18888888888,19999999999" />
|
||||
android:text="@string/dingding_at" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextDingdingAtMobiles"
|
||||
|
@ -109,7 +109,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="是否@所有人" />
|
||||
android:text="@string/is_at_all" />
|
||||
|
||||
<Switch
|
||||
android:id="@+id/switchDingdingAtAll"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置名称" />
|
||||
android:text="@string/set_name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextEmailName"
|
||||
|
@ -42,7 +42,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="发件服务器" />
|
||||
android:text="@string/email_host" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextEmailHost"
|
||||
|
@ -65,7 +65,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="SMTP端口" />
|
||||
android:text="@string/smtp_port" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextEmailPort"
|
||||
|
@ -80,7 +80,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="开启SSL" />
|
||||
android:text="@string/enable_ssl" />
|
||||
|
||||
<Switch
|
||||
android:id="@+id/switchEmailSSl"
|
||||
|
@ -100,7 +100,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="发件人帐号" />
|
||||
android:text="@string/email_account" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextEmailFromAdd"
|
||||
|
@ -123,7 +123,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="发件人昵称" />
|
||||
android:text="@string/email_nickname" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextEmailNickname"
|
||||
|
@ -146,7 +146,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="登录密码/授权码" />
|
||||
android:text="@string/email_password" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextEmailPsw"
|
||||
|
@ -169,7 +169,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="收件地址" />
|
||||
android:text="@string/email_to" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextEmailToAdd"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置名称" />
|
||||
android:text="@string/set_name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextFeishuName"
|
||||
|
@ -41,7 +41,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置 Webhook 地址" />
|
||||
android:text="@string/feishu_webhook" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextFeishuWebhook"
|
||||
|
@ -64,7 +64,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="加签 Secret 没有可不填" />
|
||||
android:text="@string/feishu_secret" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextFeishuSecret"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
android:layout_width="60dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="设置名称"
|
||||
android:text="@string/set_name"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
|
@ -44,7 +44,7 @@
|
|||
android:layout_width="60dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="企业ID"
|
||||
android:text="@string/Corp_ID"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
|
@ -53,7 +53,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:inputType="text"
|
||||
android:text="@string/wechat_id"
|
||||
android:text=""
|
||||
android:autofillHints="" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -68,7 +68,7 @@
|
|||
android:layout_width="60dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="AgentID"
|
||||
android:text="@string/Agent_ID"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
|
@ -77,7 +77,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:inputType="text"
|
||||
android:text="@string/Agent_ID"
|
||||
android:text=""
|
||||
android:autofillHints="" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -93,7 +93,7 @@
|
|||
android:layout_width="60dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="Secret"
|
||||
android:text="@string/App_Secret"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
|
@ -102,7 +102,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:inputType="textPassword"
|
||||
android:text="@string/App_Secret"
|
||||
android:text=""
|
||||
android:autofillHints="" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -117,7 +117,7 @@
|
|||
android:layout_width="60dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="是否@all"
|
||||
android:text="@string/is_at_all"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<Switch
|
||||
|
@ -145,7 +145,7 @@
|
|||
android:layout_width="60dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="指定成员"
|
||||
android:text="@string/specified_member"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
|
@ -163,7 +163,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:text="Tip:指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)" />
|
||||
android:text="@string/specified_member_tips" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置名称" />
|
||||
android:text="@string/set_name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextQYWXGroupRobotName"
|
||||
|
@ -41,7 +41,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置WebHook地址:示例:https://qyapi.weixin.qq.com/cgixx?key=xxx" />
|
||||
android:text="@string/QYWXGroupRobotWebHook" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextQYWXGroupRobotWebHook"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:text="设置匹配的卡槽"
|
||||
android:text="@string/match_sim_slot"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<RadioGroup
|
||||
|
@ -31,7 +31,7 @@
|
|||
android:id="@+id/btnSimSlotAll"
|
||||
style="@style/rg_rb_style"
|
||||
android:checked="true"
|
||||
android:text="全部" />
|
||||
android:text="@string/all" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/btnSimSlot1"
|
||||
|
@ -57,7 +57,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:text="设置匹配的字段"
|
||||
android:text="@string/match_field"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<RadioGroup
|
||||
|
@ -69,22 +69,22 @@
|
|||
android:id="@+id/btnTranspondAll"
|
||||
style="@style/rg_rb_style"
|
||||
android:checked="true"
|
||||
android:text="全部" />
|
||||
android:text="@string/all" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/btnPhone"
|
||||
style="@style/rg_rb_style"
|
||||
android:text="手机号" />
|
||||
android:text="@string/phone_number" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/btnContent"
|
||||
style="@style/rg_rb_style"
|
||||
android:text="内容" />
|
||||
android:text="@string/sms_content" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/btnMultiMatch"
|
||||
style="@style/rg_rb_style"
|
||||
android:text="多重匹配" />
|
||||
android:text="@string/multiple_matches" />
|
||||
</RadioGroup>
|
||||
|
||||
</LinearLayout>
|
||||
|
@ -94,6 +94,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
@ -101,7 +102,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:text="设置匹配的模式"
|
||||
android:text="@string/match_type"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<RadioGroup
|
||||
|
@ -112,17 +113,17 @@
|
|||
<RadioButton
|
||||
android:id="@+id/btnIs"
|
||||
style="@style/rg_rb_style"
|
||||
android:text="是 " />
|
||||
android:text="@string/btn_is" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/btnContain"
|
||||
style="@style/rg_rb_style"
|
||||
android:text="包含 " />
|
||||
android:text="@string/btn_contain" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/btnNotContain"
|
||||
style="@style/rg_rb_style"
|
||||
android:text="不包含 " />
|
||||
android:text="@string/btn_not_contain" />
|
||||
</RadioGroup>
|
||||
|
||||
<RadioGroup
|
||||
|
@ -133,17 +134,17 @@
|
|||
<RadioButton
|
||||
android:id="@+id/btnStartWith"
|
||||
style="@style/rg_rb_style"
|
||||
android:text="开头 " />
|
||||
android:text="@string/btn_start_with" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/btnEndWith"
|
||||
style="@style/rg_rb_style"
|
||||
android:text="结尾 " />
|
||||
android:text="@string/btn_end_with" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/btnRegex"
|
||||
style="@style/rg_rb_style"
|
||||
android:text="正则匹配" />
|
||||
android:text="@string/btn_regex" />
|
||||
|
||||
</RadioGroup>
|
||||
</LinearLayout>
|
||||
|
@ -160,13 +161,15 @@
|
|||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置匹配的值"
|
||||
android:layout_marginStart="5dp"
|
||||
android:text="@string/match_value"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextRuleValue"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:ems="14"
|
||||
android:inputType="text"
|
||||
android:text=""
|
||||
|
@ -200,7 +203,7 @@
|
|||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置发送方"
|
||||
android:text="@string/select_sender"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
|
@ -214,7 +217,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:minWidth="0dp"
|
||||
android:minHeight="0dp"
|
||||
android:text="选择" />
|
||||
android:text="@string/select" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/ruleSenderTv"
|
||||
|
|
|
@ -18,8 +18,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="3dp"
|
||||
android:text="测试模拟的接收卡槽" />
|
||||
|
||||
android:text="@string/test_sim_slot" />
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/radioGroupTestSimSlot"
|
||||
|
@ -47,7 +46,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="3dp"
|
||||
android:text="测试模拟的来源号码" />
|
||||
android:text="@string/test_phone_number" />
|
||||
|
||||
|
||||
<EditText
|
||||
|
@ -64,7 +63,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="3dp"
|
||||
android:text="测试模拟的短信内容" />
|
||||
android:text="@string/test_msg_content" />
|
||||
|
||||
|
||||
<EditText
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置名称" />
|
||||
android:text="@string/set_name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextServerChanName"
|
||||
|
@ -41,7 +41,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置Server酱·Turbo版的SendKey" />
|
||||
android:text="@string/ServerChanSendKey" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextServerChanSendKey"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置名称" />
|
||||
android:text="@string/set_name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextSmsName"
|
||||
|
@ -44,7 +44,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="5dp"
|
||||
android:text="发送卡槽" />
|
||||
android:text="@string/SmsSimSlot" />
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/radioGroupSmsSimSlot"
|
||||
|
@ -56,7 +56,7 @@
|
|||
android:id="@+id/btnSmsSimSlotOrg"
|
||||
style="@style/rg_rb_style"
|
||||
android:checked="true"
|
||||
android:text="原进原出" />
|
||||
android:text="@string/same_source" />
|
||||
|
||||
<RadioButton
|
||||
android:id="@+id/btnSmsSimSlot1"
|
||||
|
@ -82,7 +82,7 @@
|
|||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="接收手机,多个号码以半角分号分隔,例如:15888888888;19999999999" />
|
||||
android:text="@string/SmsMobiles" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextSmsMobiles"
|
||||
|
@ -104,7 +104,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="仅当无网络时启用" />
|
||||
android:text="@string/OnlyNoNetwork" />
|
||||
|
||||
<Switch
|
||||
android:id="@+id/switchSmsOnlyNoNetwork"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置名称" />
|
||||
android:text="@string/set_name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextTelegramName"
|
||||
|
@ -41,7 +41,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置Telegram机器人的ApiToken" />
|
||||
android:text="@string/TelegramApiToken" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextTelegramApiToken"
|
||||
|
@ -63,7 +63,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置被通知人(或群组)的ChatId" />
|
||||
android:text="@string/TelegramChatId" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextTelegramChatId"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置名称" />
|
||||
android:text="@string/set_name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextWebNotifyName"
|
||||
|
@ -42,7 +42,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="5dp"
|
||||
android:text="请求方式" />
|
||||
android:text="@string/WebNotifyMethod" />
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/radioGroupWebNotifyMethod"
|
||||
|
@ -78,7 +78,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置WebServer:例如:https://a.b.com/msg?token=xyz" />
|
||||
android:text="@string/WebNotifyWebServer" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextWebNotifyWebServer"
|
||||
|
@ -100,7 +100,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text='设置WebParams:例如:payload=%7B%22text%22%3A%22[msg]%22%7D [msg]将被替换成短信内容。\n支持Json格式,例如:{"text":[msg]}。\n注意:除JSON格式外,msg会自动进行UTF-8编码' />
|
||||
android:text='@string/WebNotifyWebParams' />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextWebNotifyWebParams"
|
||||
|
@ -122,7 +122,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设置Secret:置空则不计算sign" />
|
||||
android:text="@string/WebNotifySecret" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/editTextWebNotifySecret"
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
<item
|
||||
android:id="@+id/to_setting"
|
||||
android:orderInCategory="100"
|
||||
android:title="@string/to_setting"
|
||||
android:title="@string/setting"
|
||||
app:showAsAction="never" />
|
||||
<item
|
||||
android:id="@+id/to_about"
|
||||
android:orderInCategory="100"
|
||||
android:title="@string/to_about"
|
||||
android:title="@string/about"
|
||||
app:showAsAction="never" />
|
||||
|
||||
</menu>
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string-array name="add_sender_menu">
|
||||
<item>DingTalk Bot</item>
|
||||
<item>Email</item>
|
||||
<item>Bark</item>
|
||||
<item>Webhook</item>
|
||||
<item>WeCom Group Bot</item>
|
||||
<item>WeCom</item>
|
||||
<item>ServerChan·Turbo</item>
|
||||
<item>Telegram Bot</item>
|
||||
<item>SMS</item>
|
||||
<item>FeiShu Bot</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorPrimary">#1C8DD4</color>
|
||||
<color name="colorPrimaryDark">#1B8DD4</color>
|
||||
<color name="colorAccent">#63C2FA</color>
|
||||
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="blank">#696969</color>
|
||||
|
||||
<color name="textColor">#DF000000</color>
|
||||
<color name="textColorRequire">#F44336</color>
|
||||
<color name="textHintColor">#8A000000</color>
|
||||
<color name="grey">#EEEEEE</color>
|
||||
<color name="greyDark">#DDDDDD</color>
|
||||
<color name="success">#4CAF50</color>
|
||||
<color name="error">#F44336</color>
|
||||
</resources>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_launcher_background">#FFFFFF</color>
|
||||
</resources>
|
|
@ -0,0 +1,167 @@
|
|||
<resources>
|
||||
<string name="app_name">SmsForwarder</string>
|
||||
<string name="notification_content">Forward to DingTalk Bot/WeCom Group Bot/Email/Bark/ServerChan/Telegram/Webhook, etc</string>
|
||||
<!--Common-->
|
||||
<string name="ok">OK</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="del">Delete</string>
|
||||
<string name="test">Test</string>
|
||||
<string name="confirm">Confirm</string>
|
||||
<string name="tips">Tips</string>
|
||||
<string name="all">All</string>
|
||||
<string name="select">Select</string>
|
||||
<string name="setting">Settings</string>
|
||||
<string name="about">About</string>
|
||||
<string name="rule_setting">Rule Setting</string>
|
||||
<string name="sender_setting">Sender Setting</string>
|
||||
<string name="log_tips">Tips: Pull to refresh; Long press to delete one log entry.</string>
|
||||
<string name="rule_tips">Tips: Tap "NEW FORWARDING RULE" to add a new rule; Long press one to delete; Tap an existing one to edit.</string>
|
||||
<string name="sender_tips">Tips: Tap "NEW SENDER" to add a new sender; Long press one to delete; Tap an existing one to edit.</string>
|
||||
<!--AboutActivity-->
|
||||
<string name="version">Version</string>
|
||||
<string name="check_for_updates">Check for updates</string>
|
||||
<string name="auto_startup">Auto startup</string>
|
||||
<string name="show_tips">Show tips</string>
|
||||
<string name="open_source">Open source</string>
|
||||
<string name="synchronize_mirror">Synchronize Mirror</string>
|
||||
<string name="qq_group">QQ Group</string>
|
||||
<string name="qq_group1">1st:562854376</string>
|
||||
<string name="qq_group2">2nd:31330492</string>
|
||||
<string name="join_qq_group1">Join 1st Group</string>
|
||||
<string name="join_qq_group2">Join 2nd Group</string>
|
||||
<string name="cache">Cache</string>
|
||||
<string name="purge">Purge</string>
|
||||
<string name="checking">Checking...</string>
|
||||
<string name="up_to_date">Yo, you are up to date!</string>
|
||||
<string name="cache_purged">Cache purged</string>
|
||||
<string name="unknown_qq_version">No mobile QQ is installed or not supported by recent version!</string>
|
||||
<!--MainActivity-->
|
||||
<string name="bt_refresh_log">Clear Logs</string>
|
||||
<string name="delete_log_title">Delete confirmation</string>
|
||||
<string name="delete_log_tips">Are you sure to delete this log entry?</string>
|
||||
<string name="delete_log_toast">The log entry has deleted.</string>
|
||||
<string name="details">Details</string>
|
||||
<string name="clear_logs_tips">Are you sure to clear all forwarding logs?</string>
|
||||
<string name="pull_tips">Pull to refresh.</string>
|
||||
<string name="release_tips">Release to refresh.</string>
|
||||
<string name="reflashing_tips">Refreshing...</string>
|
||||
<!--RuleActivity-->
|
||||
<string name="setrule">Fwd Rule Settings</string>
|
||||
<string name="delete_rule_title">Delete confirmation</string>
|
||||
<string name="delete_rule_tips">Are you sure to delete this rule entry?</string>
|
||||
<string name="delete_rule_toast">The rule entry has deleted.</string>
|
||||
<string name="new_sender_first">Please add a new sender and then choose it.</string>
|
||||
<string name="add_sender_first">Please add a sender first.</string>
|
||||
<string name="select_sender">Select Sender</string>
|
||||
<string name="rule_tester">Rule tester:</string>
|
||||
<string name="new_forwarding_rule">New forwarding rule</string>
|
||||
<string name="test_sim_slot">Test Sim Slot</string>
|
||||
<string name="test_phone_number">Test Phone Number</string>
|
||||
<string name="test_msg_content">Test Msg Content</string>
|
||||
<string name="match_sim_slot">Sim Slot</string>
|
||||
<string name="match_field">Field</string>
|
||||
<string name="phone_number">Phone No.</string>
|
||||
<string name="sms_content">SMS</string>
|
||||
<string name="multiple_matches">Multiple</string>
|
||||
<string name="match_type">Type</string>
|
||||
<string name="btn_is">Is</string>
|
||||
<string name="btn_contain">Contain</string>
|
||||
<string name="btn_not_contain">Not Contain</string>
|
||||
<string name="btn_start_with">Start With</string>
|
||||
<string name="btn_end_with">End With</string>
|
||||
<string name="btn_regex">Regex Match</string>
|
||||
<string name="match_value">Value</string>
|
||||
<!--SenderActivity-->
|
||||
<string name="invalid_sender">Invalid sender, abort!</string>
|
||||
<string name="delete_sender_title">Delete confirmation</string>
|
||||
<string name="delete_sender_tips">Are you sure to delete this rule entry?</string>
|
||||
<string name="delete_sender_toast">The rule entry has deleted.</string>
|
||||
<string name="add_sender_title">Select sender type</string>
|
||||
<string name="not_supported">Not supported</string>
|
||||
<string name="setdingdingtitle">DingTalk Bot Settings</string>
|
||||
<string name="setemailtitle">Email Settings</string>
|
||||
<string name="setwebnotifytitle">Webhook Settings</string>
|
||||
<string name="setqywxgrouprobottitle">WeCom Group Bot Settings</string>
|
||||
<string name="setqywxapptitle">WeCom Settings</string>
|
||||
<string name="setbarktitle">Bark Settings</string>
|
||||
<string name="setserverchantitle">ServerChan·Turbo Settings</string>
|
||||
<string name="settelegramtitle">Telegram Bot Settings</string>
|
||||
<string name="setsmstitle">SMS Settings</string>
|
||||
<string name="setfeishutitle">FeiShu Bot Settings</string>
|
||||
<string name="test_phone_num">19999999999</string>
|
||||
<string name="test_content">Test content @</string>
|
||||
<string name="test_sms">【JD】code 387481, ihelp.jd.com</string>
|
||||
<string name="test_group_name">Test Group Name</string>
|
||||
<string name="failed_to_fwd">Failed to fwd:</string>
|
||||
<string name="invalid_token">Token cannot be empty</string>
|
||||
<string name="invalid_email">Invalid email settings</string>
|
||||
<string name="invalid_bark_server">Bark-server cannot be empty</string>
|
||||
<string name="invalid_apiToken_or_chatId">Neither ApiToken nor ChatId can be empty</string>
|
||||
<string name="invalid_sendkey">SendKey cannot be empty</string>
|
||||
<string name="invalid_webserver">WebServer cannot be empty</string>
|
||||
<string name="invalid_webhook">webHook cannot be empty</string>
|
||||
<string name="invalid_at_mobiles">The specified member cannot be empty or select @all</string>
|
||||
<string name="invalid_phone_num">Phone number cannot be empty</string>
|
||||
<string name="new_sender">New Sender</string>
|
||||
<string name="set_bark_name">Bark Group Name</string>
|
||||
<string name="set_bark_server">Bark-Server, e.g. https://bark.bms.ink/XXXXXXXX/</string>
|
||||
<string name="set_name">Name</string>
|
||||
<string name="dingding_token">Token e.g. the XXXXXX part of https://oapi.dingtalk.com/robot/send?access_token=XXXXXX</string>
|
||||
<string name="dingding_secret">Secret (optional)</string>
|
||||
<string name="dingding_at">At Mobiles e.g. 18888888888,19999999999</string>
|
||||
<string name="email_host">SMTP Host</string>
|
||||
<string name="smtp_port">SMTP Port</string>
|
||||
<string name="enable_ssl">SSL</string>
|
||||
<string name="email_account">Account</string>
|
||||
<string name="email_password">Password/Auth Code</string>
|
||||
<string name="email_nickname">Nickname</string>
|
||||
<string name="email_to">Send To</string>
|
||||
<string name="feishu_webhook">Webhook</string>
|
||||
<string name="feishu_secret">Secret (optional)</string>
|
||||
<string name="Corp_ID">Corp ID</string>
|
||||
<string name="Agent_ID">Agent ID</string>
|
||||
<string name="App_Secret">App Secret</string>
|
||||
<string name="is_at_all">Is at all</string>
|
||||
<string name="specified_member">Specified Member</string>
|
||||
<string name="specified_member_tips">Tip:Specify members receive messages, member ID list (multiple recipients with \'|\' space, maximum 1000)</string>
|
||||
<string name="QYWXGroupRobotWebHook">WebHook, e.g. https://qyapi.weixin.qq.com/cgixx?key=xxx</string>
|
||||
<string name="ServerChanSendKey">ServerChan\'s SendKey</string>
|
||||
<string name="TelegramApiToken">ApiToken</string>
|
||||
<string name="TelegramChatId">ChatId</string>
|
||||
<string name="WebNotifyMethod">Method</string>
|
||||
<string name="WebNotifyWebServer">WebServer e.g. https://a.b.com/msg?token=xyz</string>
|
||||
<string name="WebNotifyWebParams">WebParams e.g. payload=%7B%22text%22%3A%22[msg]%22%7D [msg] will be replaced with text message content. \nSupport Json format, for example: {"text":[MSG]}.\n Note: MSG is automatically utF-8 encoded in addition to JSON format</string>
|
||||
<string name="WebNotifySecret">Secret (If empty, sign is not counted)</string>
|
||||
<string name="SmsSimSlot">Sim Slot</string>
|
||||
<string name="same_source">Same source</string>
|
||||
<string name="SmsMobiles">Receive mobile phone numbers separated by, e.g. 15888888888;19999999999</string>
|
||||
<string name="OnlyNoNetwork">仅当无网络时启用</string>
|
||||
<!--SettingActivity-->
|
||||
<string name="device_name">Device name</string>
|
||||
<string name="sim1_remark">SIM1 Remark</string>
|
||||
<string name="sim2_remark">SIM2 Remark</string>
|
||||
<string name="carrier_mobile">Carrier_Mobile Number</string>
|
||||
<string name="low_power_alarm_threshold">Low power alarm threshold</string>
|
||||
<string name="low_power_alarm_threshold_tips">Value range: 0-100. Left blank or 0 is disabled</string>
|
||||
<string name="retry_interval">Retry interval (seconds)</string>
|
||||
<string name="retry_interval_tips">Retry five times after it fails</string>
|
||||
<string name="add_extra">Sim slot info attached</string>
|
||||
<string name="add_device_name">Device Name attached</string>
|
||||
<string name="forward_missed_calls">Forward missed calls</string>
|
||||
<string name="enable_custom_templates">Enable custom templates</string>
|
||||
<string name="custom_templates">Custom templates</string>
|
||||
<string name="custom_templates_tips">Tip:Insert labels as needed;Leave blank to default template</string>
|
||||
<string name="insert_sender">Phone</string>
|
||||
<string name="insert_content">SMS</string>
|
||||
<string name="insert_extra">SIM</string>
|
||||
<string name="insert_time">Time</string>
|
||||
<string name="insert_device_name">Device</string>
|
||||
<string name="init_setting">Restore initial Setting</string>
|
||||
<string name="battery_setting">Battery Optimization</string>
|
||||
<string name="unknown_number">Unknown Number</string>
|
||||
<string name="calling">Incoming telegram</string>
|
||||
<string name="unsupport">Your phone does not support this setting</string>
|
||||
<string name="isIgnored">Set successfully!</string>
|
||||
<!--SenderBaseMsg-->
|
||||
<string name="start_request_interface">Start request interface...</string>
|
||||
</resources>
|
|
@ -0,0 +1,22 @@
|
|||
<resources>
|
||||
|
||||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<style name="rg_style">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
</style>
|
||||
|
||||
<style name="rg_rb_style">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
|
@ -4,14 +4,14 @@
|
|||
<color name="colorPrimaryDark">#1B8DD4</color>
|
||||
<color name="colorAccent">#63C2FA</color>
|
||||
|
||||
<color name="white">#FFF</color>
|
||||
<color name="white">#FFFFFF</color>
|
||||
<color name="blank">#696969</color>
|
||||
|
||||
<color name="textColor">#DF000000</color>
|
||||
<color name="textColorRequire">#F44336</color>
|
||||
<color name="textHintColor">#8A000000</color>
|
||||
<color name="grey">#EEE</color>
|
||||
<color name="greyDark">#DDD</color>
|
||||
<color name="grey">#EEEEEE</color>
|
||||
<color name="greyDark">#DDDDDD</color>
|
||||
<color name="success">#4CAF50</color>
|
||||
<color name="error">#F44336</color>
|
||||
</resources>
|
||||
|
|
|
@ -1,13 +1,84 @@
|
|||
<resources>
|
||||
<string name="app_name">短信转发器</string>
|
||||
<string name="notification_content">根据规则转发到钉钉/微信/邮箱/bark/Server酱/Telegram/webhook等</string>
|
||||
<string name="ok">确认</string>
|
||||
<!--Common-->
|
||||
<string name="ok">确定</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="del">删除</string>
|
||||
<string name="test">测试</string>
|
||||
<string name="setdingdingtitle">设置钉钉机器人</string>
|
||||
<string name="feedback_input_text">反馈建议</string>
|
||||
<string name="confirm">确认</string>
|
||||
<string name="tips">提示</string>
|
||||
<string name="all">全部</string>
|
||||
<string name="select">选择</string>
|
||||
<string name="setting">设置</string>
|
||||
<string name="about">关于</string>
|
||||
<string name="rule_setting">设置转发规则</string>
|
||||
<string name="sender_setting">设置发送方</string>
|
||||
<string name="log_tips">提示:置顶下拉刷新,长按删除单条记录</string>
|
||||
<string name="rule_tips">提示:新建规则点击“添加”,长按删除/点击编辑已有</string>
|
||||
<string name="sender_tips">提示:新建发送方点击“添加”,长按删除/点击编辑已有</string>
|
||||
<!--AboutActivity-->
|
||||
<string name="version">当前版本</string>
|
||||
<string name="check_for_updates">检查新版本</string>
|
||||
<string name="auto_startup">开机启动</string>
|
||||
<string name="show_tips">帮助提示</string>
|
||||
<string name="open_source">开源仓库</string>
|
||||
<string name="synchronize_mirror">同步镜像</string>
|
||||
<string name="qq_group">互帮互助QQ群</string>
|
||||
<string name="qq_group1">①群:562854376</string>
|
||||
<string name="qq_group2">②群:31330492</string>
|
||||
<string name="join_qq_group1">加入①群</string>
|
||||
<string name="join_qq_group2">加入②群</string>
|
||||
<string name="cache">缓存大小</string>
|
||||
<string name="purge">清除缓存</string>
|
||||
<string name="checking">检查中...</string>
|
||||
<string name="up_to_date">已是最新版本!</string>
|
||||
<string name="cache_purged">缓存清理完成</string>
|
||||
<string name="unknown_qq_version">未安装手Q或安装的版本不支持!</string>
|
||||
<!--MainActivity-->
|
||||
<string name="bt_refresh_log">清空记录</string>
|
||||
<string name="delete_log_title">日志删除确认</string>
|
||||
<string name="delete_log_tips">确定删除该条日志记录?</string>
|
||||
<string name="delete_log_toast">该条日志记录已经删除!</string>
|
||||
<string name="details">详情</string>
|
||||
<string name="clear_logs_tips">确定要清空转发记录吗?</string>
|
||||
<string name="pull_tips">下拉可以刷新!</string>
|
||||
<string name="release_tips">松开可以刷新!</string>
|
||||
<string name="reflashing_tips">正在刷新...</string>
|
||||
<!--RuleActivity-->
|
||||
<string name="setrule">设置转发规则</string>
|
||||
<string name="delete_rule_title">规则删除确认</string>
|
||||
<string name="delete_rule_tips">确定删除该条规则?</string>
|
||||
<string name="delete_rule_toast">该条规则已经删除!</string>
|
||||
<string name="new_sender_first">请先创建发送方再选择</string>
|
||||
<string name="add_sender_first">请先去设置发送方页面添加</string>
|
||||
<string name="select_sender">选择发送方</string>
|
||||
<string name="rule_tester">规则测试</string>
|
||||
<string name="new_forwarding_rule">添加转发规则</string>
|
||||
<string name="test_sim_slot">测试模拟的接收卡槽</string>
|
||||
<string name="test_phone_number">测试模拟的来源号码</string>
|
||||
<string name="test_msg_content">测试模拟的短信内容</string>
|
||||
<string name="match_sim_slot">设置匹配的卡槽</string>
|
||||
<string name="match_field">设置匹配的字段</string>
|
||||
<string name="phone_number">手机号</string>
|
||||
<string name="sms_content">短信内容</string>
|
||||
<string name="multiple_matches">多重匹配</string>
|
||||
<string name="match_type">设置匹配的模式</string>
|
||||
<string name="btn_is">是</string>
|
||||
<string name="btn_contain">包含</string>
|
||||
<string name="btn_not_contain">不包含</string>
|
||||
<string name="btn_start_with">开头</string>
|
||||
<string name="btn_end_with">结尾</string>
|
||||
<string name="btn_regex">正则匹配</string>
|
||||
<string name="match_value">设置匹配的值</string>
|
||||
<!--SenderActivity-->
|
||||
<string name="invalid_sender">异常的发送方类型,自动删除!</string>
|
||||
<string name="delete_sender_title">发送方删除确认</string>
|
||||
<string name="delete_sender_tips">确定删除该条发送方?</string>
|
||||
<string name="delete_sender_toast">该条发送方已经删除!</string>
|
||||
<string name="add_sender_title">选择发送方类型</string>
|
||||
<string name="not_supported">暂不支持这种转发</string>
|
||||
<string name="setdingdingtitle">设置钉钉机器人</string>
|
||||
<string name="setemailtitle">设置邮箱</string>
|
||||
<string name="setwebnotifytitle">设置Webhook</string>
|
||||
<string name="setqywxgrouprobottitle">设置企业微信群机器人</string>
|
||||
|
@ -17,17 +88,80 @@
|
|||
<string name="settelegramtitle">设置Telegram机器人</string>
|
||||
<string name="setsmstitle">设置SMS</string>
|
||||
<string name="setfeishutitle">设置飞书机器人</string>
|
||||
<string name="check_new_version">检查更新</string>
|
||||
<string name="to_setting">设置</string>
|
||||
<string name="to_about">关于</string>
|
||||
<string name="log_tips">提示:置顶下拉刷新,长按删除单条记录</string>
|
||||
<string name="rule_tips">提示:新建规则点击“添加”,长按删除/点击编辑已有</string>
|
||||
<string name="sender_tips">提示:新建发送方点击“添加”,长按删除/点击编辑已有</string>
|
||||
<string name="test_phone_num">19999999999</string>
|
||||
<string name="test_content">测试内容(content)@</string>
|
||||
<string name="test_sms">【京东】验证码为387481(切勿将验证码告知他人),请在页面中输入完成验证,如有问题请点击 ihelp.jd.com 联系京东客服</string>
|
||||
<string name="test_group_name">测试分组</string>
|
||||
<string name="failed_to_fwd">发送失败:</string>
|
||||
<string name="invalid_token">token 不能为空</string>
|
||||
<string name="invalid_email">邮箱参数不完整</string>
|
||||
<string name="invalid_bark_server">bark-server 不能为空</string>
|
||||
<string name="invalid_apiToken_or_chatId">机器人的ApiToken 和 被通知人的ChatId 都不能为空</string>
|
||||
<string name="invalid_sendkey">Server酱·Turbo版的 SendKey 不能为空</string>
|
||||
<string name="invalid_webserver">WebServer 不能为空</string>
|
||||
<string name="invalid_webhook">webHook 不能为空</string>
|
||||
<string name="invalid_at_mobiles">指定成员 不能为空 或者 选择@all</string>
|
||||
<string name="invalid_phone_num">接收手机号不能为空</string>
|
||||
<string name="new_sender">添加发送方</string>
|
||||
<string name="set_bark_name">设置分组名称</string>
|
||||
<string name="set_bark_server">设置Bark-Server地址,示例:https://bark.bms.ink/XXXXXXXX/</string>
|
||||
<string name="set_name">设置名称</string>
|
||||
<string name="dingding_token">设置Token 例如 https://oapi.dingtalk.com/robot/send?access_token=XXXXXX 中的 XXXXXX</string>
|
||||
<string name="dingding_secret">加签 Secret (没有可不填)</string>
|
||||
<string name="dingding_at">转发时@某人 填写某人的手机号,多个用逗号分开 例如:18888888888,19999999999</string>
|
||||
<string name="email_host">SMTP服务器</string>
|
||||
<string name="smtp_port">SMTP端口</string>
|
||||
<string name="enable_ssl">开启SSL</string>
|
||||
<string name="email_account">发件人帐号</string>
|
||||
<string name="email_password">登录密码/授权码</string>
|
||||
<string name="email_nickname">发件人昵称</string>
|
||||
<string name="email_to">收件地址</string>
|
||||
<string name="feishu_webhook">Webhook 地址</string>
|
||||
<string name="feishu_secret">加签 Secret (没有可不填)</string>
|
||||
<string name="Corp_ID">Corp ID</string>
|
||||
<string name="Agent_ID">Agent ID</string>
|
||||
<string name="App_Secret">App Secret</string>
|
||||
<string name="is_at_all">是否@所有人</string>
|
||||
<string name="specified_member">指定成员</string>
|
||||
<string name="specified_member_tips">Tip:指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)</string>
|
||||
<string name="QYWXGroupRobotWebHook">设置WebHook地址:示例:https://qyapi.weixin.qq.com/cgixx?key=xxx</string>
|
||||
<string name="ServerChanSendKey">设置Server酱·Turbo版的SendKey</string>
|
||||
<string name="TelegramApiToken">设置Telegram机器人的ApiToken</string>
|
||||
<string name="TelegramChatId">设置被通知人(或群组)的ChatId</string>
|
||||
<string name="WebNotifyMethod">请求方式</string>
|
||||
<string name="WebNotifyWebServer">设置WebServer:例如:https://a.b.com/msg?token=xyz</string>
|
||||
<string name="WebNotifyWebParams">设置WebParams:例如:payload=%7B%22text%22%3A%22[msg]%22%7D [msg]将被替换成短信内容。\n支持Json格式,例如:{"text":[msg]}。\n注意:除JSON格式外,msg会自动进行UTF-8编码</string>
|
||||
<string name="WebNotifySecret">设置Secret:置空则不计算sign</string>
|
||||
<string name="SmsSimSlot">发送卡槽</string>
|
||||
<string name="same_source">原进原出</string>
|
||||
<string name="SmsMobiles">接收手机,多个号码以半角分号分隔,例如:15888888888;19999999999</string>
|
||||
<string name="OnlyNoNetwork">仅当无网络时启用</string>
|
||||
<!--SettingActivity-->
|
||||
<string name="device_name">设备名称</string>
|
||||
<string name="sim1_remark">SIM1备注</string>
|
||||
<string name="sim2_remark">SIM2备注</string>
|
||||
<string name="carrier_mobile">运营商_手机号</string>
|
||||
<string name="low_power_alarm_threshold">低电量预警阈值</string>
|
||||
<string name="low_power_alarm_threshold_tips">取值范围:0-100,留空或0禁用</string>
|
||||
<string name="retry_interval">每次重试间隔(秒)</string>
|
||||
<string name="retry_interval_tips">接口请求失败后将重试5次</string>
|
||||
<string name="add_extra">转发时附加卡槽信息</string>
|
||||
<string name="add_device_name">转发时附加设备名称</string>
|
||||
<string name="forward_missed_calls">转发未接来电</string>
|
||||
<string name="enable_custom_templates">转发时启用自定义模版</string>
|
||||
<string name="custom_templates">转发信息模版</string>
|
||||
<string name="custom_templates_tips">Tip:按需插入内容标签;留空使用默认模版</string>
|
||||
<string name="insert_sender">来源号码</string>
|
||||
<string name="insert_content">短信内容</string>
|
||||
<string name="insert_extra">卡槽信息</string>
|
||||
<string name="insert_time">接收时间</string>
|
||||
<string name="insert_device_name">设备名称</string>
|
||||
<string name="init_setting">恢复初始化配置</string>
|
||||
<string name="battery_setting">设置电池优化</string>
|
||||
<string name="unknown_number">未知号码</string>
|
||||
<string name="calling">来电</string>
|
||||
<string name="unsupport">您的手机不支持此设置</string>
|
||||
<string name="isIgnored">已设置成功!</string>
|
||||
<string name="wechat_id" />
|
||||
<string name="Agent_ID" />
|
||||
<string name="App_Secret" />
|
||||
<!--SenderBaseMsg-->
|
||||
<string name="start_request_interface">开始请求接口...</string>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue