优化:Email发送通道简化配置(常见邮箱不需要填写smtp信息)

pull/131/head
pppscn 3 years ago
parent 64d930bfbc
commit f8718a348a

@ -22,12 +22,17 @@ import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.SpannedString;
import android.text.TextUtils;
import android.text.style.AbsoluteSizeSpan;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
@ -36,6 +41,7 @@ import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RadioGroup;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Switch;
import androidx.appcompat.app.AlertDialog;
@ -94,9 +100,6 @@ public class SenderActivity extends AppCompatActivity {
public static final int NOTIFY = 0x9731993;
private final String TAG = "SenderActivity";
// 用于存储数据
private List<SenderModel> senderModels = new ArrayList<>();
private SenderAdapter adapter;
//消息处理者,创建一个Handler的子类对象,目的是重写Handler的处理消息的方法(handleMessage())
@SuppressLint("HandlerLeak")
private final Handler handler = new Handler() {
@ -107,6 +110,9 @@ public class SenderActivity extends AppCompatActivity {
}
}
};
// 用于存储数据
private List<SenderModel> senderModels = new ArrayList<>();
private SenderAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -514,6 +520,8 @@ public class SenderActivity extends AppCompatActivity {
//邮箱
@SuppressLint("SimpleDateFormat")
private void setEmail(final SenderModel senderModel, final boolean isClone) {
final String[] MAIL_TYPE = getResources().getStringArray(R.array.MailType);
EmailSettingVo emailSettingVo = null;
//try phrase json setting
if (senderModel != null) {
@ -541,9 +549,20 @@ public class SenderActivity extends AppCompatActivity {
final ClearEditText editTextEmailPsw = view1.findViewById(R.id.editTextEmailPsw);
final EditText editTextEmailToAdd = view1.findViewById(R.id.editTextEmailToAdd);
final EditText editTextEmailTitle = view1.findViewById(R.id.editTextEmailTitle);
final RadioGroup radioGroupEmailProtocol = view1.findViewById(R.id.radioGroupEmailProtocol);
final Spinner spinnerEmailType = view1.findViewById(R.id.spinnerEmailType);
final LinearLayout layoutServiceSetting = view1.findViewById(R.id.layoutServiceSetting);
if (emailSettingVo != null) {
radioGroupEmailProtocol.check(emailSettingVo.getEmailProtocolCheckId());
String mailType = emailSettingVo.getMailType();
if (!TextUtils.isEmpty(mailType)) {
for (int i = 0; i < MAIL_TYPE.length; i++) {
if (mailType.equals(MAIL_TYPE[i])) {
spinnerEmailType.setSelection(i);
break;
}
}
} else {
spinnerEmailType.setSelection(MAIL_TYPE.length - 1);
}
editTextEmailHost.setText(emailSettingVo.getHost());
editTextEmailPort.setText(emailSettingVo.getPort());
switchEmailSSl.setChecked(emailSettingVo.getSsl());
@ -564,6 +583,34 @@ public class SenderActivity extends AppCompatActivity {
.create();
final AlertDialog show = alertDialog71.show();
spinnerEmailType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String mailType = parent.getItemAtPosition(position).toString();
//ToastUtils.show("选择的邮箱类型是:" + mailType);
String hint;
if (mailType.equals(getString(R.string.other_mail_type))) {
hint = getString(R.string.hint_from_add_full);
layoutServiceSetting.setVisibility(View.VISIBLE);
ToastUtils.delayedShow(R.string.tips_other_mail_type, 3000);
} else {
hint = getString(R.string.hint_from_add);
layoutServiceSetting.setVisibility(View.GONE);
}
SpannableString ss = new SpannableString(hint);//定义hint的值
AbsoluteSizeSpan ass = new AbsoluteSizeSpan(13, true);//设置字体大小 true表示单位是sp
ss.setSpan(ass, 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editTextEmailFromAdd.setHint(new SpannedString(ss));
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
buttonOk.setOnClickListener(view -> {
String senderName = editTextEmailName.getText().toString().trim();
int senderStatus = switchEmailEnable.isChecked() ? STATUS_ON : STATUS_OFF;
@ -572,7 +619,7 @@ public class SenderActivity extends AppCompatActivity {
return;
}
String protocol = radioGroupEmailProtocol.getCheckedRadioButtonId() == R.id.radioEmailProtocolSmtp ? "SMTP" : "IMAP";
String mailType = spinnerEmailType.getSelectedItem().toString();
String host = editTextEmailHost.getText().toString().trim();
String port = editTextEmailPort.getText().toString().trim();
boolean ssl = switchEmailSSl.isChecked();
@ -585,12 +632,17 @@ public class SenderActivity extends AppCompatActivity {
String nickname = editTextEmailNickname.getText().toString().trim();
if (nickname.isEmpty()) nickname = "SmsForwarder";
if (host.isEmpty() || port.isEmpty() || fromEmail.isEmpty() || pwd.isEmpty() || toEmail.isEmpty()) {
if (fromEmail.isEmpty() || pwd.isEmpty() || toEmail.isEmpty()) {
ToastUtils.delayedShow(R.string.invalid_email, 3000);
return;
}
EmailSettingVo emailSettingVoNew = new EmailSettingVo(protocol, host, port, ssl, fromEmail, nickname, pwd, toEmail, title);
if (mailType.equals(getString(R.string.other_mail_type)) && (host.isEmpty() || port.isEmpty())) {
ToastUtils.delayedShow(R.string.tips_other_mail_type, 3000);
return;
}
EmailSettingVo emailSettingVoNew = new EmailSettingVo(mailType, host, port, ssl, fromEmail, nickname, pwd, toEmail, title);
if (isClone || senderModel == null) {
SenderModel newSenderModel = new SenderModel();
newSenderModel.setName(senderName);
@ -622,7 +674,7 @@ public class SenderActivity extends AppCompatActivity {
});
buttonTest.setOnClickListener(view -> {
String protocol = radioGroupEmailProtocol.getCheckedRadioButtonId() == R.id.radioEmailProtocolSmtp ? "SMTP" : "IMAP";
String mailType = spinnerEmailType.getSelectedItem().toString();
String host = editTextEmailHost.getText().toString().trim();
String port = editTextEmailPort.getText().toString().trim();
boolean ssl = switchEmailSSl.isChecked();
@ -636,14 +688,20 @@ public class SenderActivity extends AppCompatActivity {
String nickname = editTextEmailNickname.getText().toString().trim();
if (nickname.isEmpty()) nickname = "SmsForwarder";
if (host.isEmpty() || port.isEmpty() || fromEmail.isEmpty() || pwd.isEmpty() || toEmail.isEmpty()) {
if (fromEmail.isEmpty() || pwd.isEmpty() || toEmail.isEmpty()) {
ToastUtils.delayedShow(R.string.invalid_email, 3000);
return;
}
if (mailType.equals(getString(R.string.other_mail_type)) && (host.isEmpty() || port.isEmpty())) {
ToastUtils.delayedShow(R.string.tips_other_mail_type, 3000);
return;
}
try {
EmailSettingVo emailSettingVoNew = new EmailSettingVo(mailType, host, port, ssl, fromEmail, nickname, pwd, toEmail, title);
SmsVo smsVo = new SmsVo(getString(R.string.test_phone_num), getString(R.string.test_sender_sms), new Date(), getString(R.string.test_sim_info));
SenderMailMsg.sendEmail(0, handler, protocol, host, port, ssl, fromEmail, nickname, pwd, toEmail, smsVo.getTitleForSend(title), smsVo.getSmsVoForSend());
SenderMailMsg.sendEmail(0, handler, emailSettingVoNew, smsVo.getTitleForSend(title), smsVo.getSmsVoForSend());
} catch (Exception e) {
ToastUtils.delayedShow(getString(R.string.failed_to_fwd) + e.getMessage(), 3000);
e.printStackTrace();

@ -1,13 +1,12 @@
package com.idormy.sms.forwarder.model.vo;
import com.idormy.sms.forwarder.R;
import java.io.Serializable;
import lombok.Data;
@Data
public class EmailSettingVo implements Serializable {
private String mailType;
private String host;
private String port;
private Boolean ssl;
@ -16,13 +15,12 @@ public class EmailSettingVo implements Serializable {
private String pwd;
private String toEmail;
private String title;
private String protocol;
public EmailSettingVo() {
}
public EmailSettingVo(String protocol, String host, String port, Boolean ssl, String fromEmail, String nickname, String pwd, String toEmail, String title) {
this.protocol = protocol;
public EmailSettingVo(String mailType, String host, String port, Boolean ssl, String fromEmail, String nickname, String pwd, String toEmail, String title) {
this.mailType = mailType;
this.host = host;
this.port = port;
this.ssl = ssl;
@ -33,11 +31,4 @@ public class EmailSettingVo implements Serializable {
this.title = title;
}
public int getEmailProtocolCheckId() {
if (protocol == null || protocol.equals("SMTP")) {
return R.id.radioEmailProtocolSmtp;
} else {
return R.id.radioEmailProtocolImap;
}
}
}

@ -210,8 +210,7 @@ public class SendUtil {
EmailSettingVo emailSettingVo = JSON.parseObject(senderModel.getJsonSetting(), EmailSettingVo.class);
if (emailSettingVo != null) {
try {
SenderMailMsg.sendEmail(logId, handError, emailSettingVo.getProtocol(), emailSettingVo.getHost(), emailSettingVo.getPort(), emailSettingVo.getSsl(), emailSettingVo.getFromEmail(), emailSettingVo.getNickname(),
emailSettingVo.getPwd(), emailSettingVo.getToEmail(), smsVo.getTitleForSend(emailSettingVo.getTitle(), regexReplace), smsVo.getSmsVoForSend(smsTemplate, regexReplace));
SenderMailMsg.sendEmail(logId, handError, emailSettingVo, smsVo.getTitleForSend(emailSettingVo.getTitle(), regexReplace), smsVo.getSmsVoForSend(smsTemplate, regexReplace));
} catch (Exception e) {
LogUtil.updateLog(logId, 0, e.getMessage());
Log.e(TAG, "senderSendMsg: SenderMailMsg error " + e.getMessage());

@ -1,8 +1,12 @@
package com.idormy.sms.forwarder.sender;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Log;
import com.idormy.sms.forwarder.MyApplication;
import com.idormy.sms.forwarder.R;
import com.idormy.sms.forwarder.model.vo.EmailSettingVo;
import com.idormy.sms.forwarder.utils.LogUtil;
import com.smailnet.emailkit.Draft;
import com.smailnet.emailkit.EmailKit;
@ -15,26 +19,33 @@ import java.util.Set;
public class SenderMailMsg extends SenderBaseMsg {
private static final String TAG = "SenderMailMsg";
public static void sendEmail(final long logId, final Handler handError, final String protocol, final String host, final String port, final boolean ssl, final String fromEmail, final String nickname, final String pwd, final String toAdd, final String title, final String content) {
public static void sendEmail(final long logId, final Handler handError, final EmailSettingVo emailSettingVo, final String title, final String content) {
Log.d(TAG, "sendEmail: protocol:" + protocol + " host:" + host + " port:" + port + " ssl:" + ssl + " fromEmail:" + fromEmail + " nickname:" + nickname + " pwd:" + pwd + " toAdd:" + toAdd);
Log.d(TAG, "emailSettingVo: " + emailSettingVo.toString());
try {
//初始化框架
//EmailKit.initialize(MyApplication.getContext());
//配置发件人邮件服务器参数
EmailKit.Config config = new EmailKit.Config()
.setSMTP(host, Integer.parseInt(port), ssl) //设置SMTP服务器主机地址、端口和是否开启ssl
.setAccount(fromEmail) //发件人邮箱
.setPassword(pwd); //密码或授权码
String fromEmail = emailSettingVo.getFromEmail();
EmailKit.Config config = new EmailKit.Config();
if (TextUtils.isEmpty(emailSettingVo.getMailType()) || emailSettingVo.getMailType().equals(MyApplication.getContext().getString(R.string.other_mail_type))) {
config.setSMTP(emailSettingVo.getHost(), Integer.parseInt(emailSettingVo.getPort()), emailSettingVo.getSsl()); //设置SMTP服务器主机地址、端口和是否开启ssl
} else {
fromEmail += emailSettingVo.getMailType();
config.setMailType(emailSettingVo.getMailType());//选择邮箱类型
}
config.setAccount(fromEmail) //发件人邮箱
.setPassword(emailSettingVo.getPwd()); //密码或授权码
//多个收件人邮箱
Set<String> toSet = new HashSet<>(Arrays.asList(toAdd.replace("", ",").split(",")));
Set<String> toSet = new HashSet<>(Arrays.asList(emailSettingVo.getToEmail().replace("", ",").split(",")));
//设置一封草稿邮件
Draft draft = new Draft()
.setNickname(nickname) //发件人昵称
.setNickname(emailSettingVo.getNickname()) //发件人昵称
.setTo(toSet) //收件人邮箱
.setSubject(title) //邮件主题
.setText(content); //邮件正文

@ -20,7 +20,8 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/set_name" />
android:text="@string/set_name"
android:textStyle="bold" />
<EditText
android:id="@+id/editTextEmailName"
@ -49,6 +50,7 @@
android:text="@string/account"
android:textColor="@color/colorBlueGreyDark"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<LinearLayout
@ -61,19 +63,30 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email_account" />
android:text="@string/email_account"
android:textStyle="bold" />
<EditText
android:id="@+id/editTextEmailFromAdd"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:layout_weight="1"
android:autofillHints=""
android:ems="14"
android:hint="@string/hint_from_add"
android:inputType="textEmailAddress"
android:maxLines="1"
android:text=""
tools:ignore="LabelFor" />
<Spinner
android:id="@+id/spinnerEmailType"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:entries="@array/MailType"
android:padding="0dp"
android:theme="@style/dialog_spinner_style" />
</LinearLayout>
<LinearLayout
@ -86,14 +99,18 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email_password" />
android:text="@string/email_password"
android:textStyle="bold" />
<com.idormy.sms.forwarder.view.ClearEditText
android:id="@+id/editTextEmailPsw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
app:showEye="true" />
android:layout_marginStart="3dp"
app:hint="填写登录密码 或 授权码"
app:showEye="true"
app:textColorHint="#9E9E9E"
app:textSize="13sp" />
</LinearLayout>
<LinearLayout
@ -106,7 +123,8 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email_nickname" />
android:text="@string/email_nickname"
android:textStyle="bold" />
<EditText
android:id="@+id/editTextEmailNickname"
@ -121,116 +139,89 @@
tools:ignore="LabelFor,TextFields" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:text="@string/servers"
android:textColor="@color/colorBlueGreyDark"
android:textSize="14sp"
tools:ignore="HardcodedText" />
<LinearLayout
android:id="@+id/layoutServiceSetting"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="10dp"
android:orientation="horizontal"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:text="@string/email_protocol" />
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:text="@string/servers"
android:textColor="@color/colorBlueGreyDark"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<RadioGroup
android:id="@+id/radioGroupEmailProtocol"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radioEmailProtocolSmtp"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/email_smtp" />
android:text="@string/email_host"
android:textStyle="bold" />
<RadioButton
android:id="@+id/radioEmailProtocolImap"
<EditText
android:id="@+id/editTextEmailHost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email_imap" />
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email_host" />
<EditText
android:id="@+id/editTextEmailHost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:autofillHints=""
android:ems="14"
android:inputType="text"
android:maxLines="1"
android:text=""
tools:ignore="LabelFor,TextFields" />
</LinearLayout>
android:layout_marginStart="3dp"
android:autofillHints=""
android:ems="14"
android:inputType="text"
android:maxLines="1"
android:text=""
tools:ignore="LabelFor,TextFields" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/smtp_port" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/smtp_port"
android:textStyle="bold" />
<EditText
android:id="@+id/editTextEmailPort"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:layout_weight="1"
android:digits="0123456789"
android:importantForAutofill="no"
android:inputType="number"
android:maxLength="5"
android:singleLine="true"
tools:ignore="LabelFor,TextFields" />
<EditText
android:id="@+id/editTextEmailPort"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:layout_weight="1"
android:digits="0123456789"
android:importantForAutofill="no"
android:inputType="number"
android:maxLength="5"
android:singleLine="true"
tools:ignore="LabelFor,TextFields" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/enable_ssl" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/enable_ssl"
android:textStyle="bold" />
<Switch
android:id="@+id/switchEmailSSl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
tools:ignore="UseSwitchCompatOrMaterialXml" />
<Switch
android:id="@+id/switchEmailSSl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
tools:ignore="UseSwitchCompatOrMaterialXml" />
</LinearLayout>
</LinearLayout>
<TextView
@ -241,6 +232,7 @@
android:text="@string/email_settings"
android:textColor="@color/colorBlueGreyDark"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<LinearLayout
@ -260,7 +252,8 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email_to" />
android:text="@string/email_to"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
@ -300,7 +293,8 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email_title" />
android:text="@string/email_title"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="MailType">
<item>\@qq.com</item>
<item>\@foxmail.com</item>
<item>\@exmail.qq.com</item>
<item>\@outlook.com</item>
<item>\@office365.com</item>
<item>\@gmail.com</item>
<item>\@yeah.net</item>
<item>\@163.com</item>
<item>\@126.com</item>
<item>Other</item><!--注意这里不能修改-->
</string-array>
</resources>

@ -135,9 +135,6 @@
<string name="dingding_secret">Secret (optional)</string>
<string name="dingding_at">At Mobiles</string>
<string name="dingding_at_tips">e.g. 18888888888,19999999999</string>
<string name="email_protocol">Protocol</string>
<string name="email_smtp">SMTP</string>
<string name="email_imap">IMAP </string>
<string name="email_host">Server Host</string>
<string name="smtp_port">Server Port</string>
<string name="enable_ssl">SSL</string>
@ -444,4 +441,8 @@
<string name="one_pixel">One Pixel</string>
<string name="one_pixel_activity">One Pixel Activity</string>
<string name="one_pixel_activity_tips">This can change the process priority from 4 to 1</string>
<string name="hint_from_add">Fill in the username before @</string>
<string name="hint_from_add_full">format: AAA@BBB.CCC</string>
<string name="other_mail_type">Other</string>
<string name="tips_other_mail_type">For other email addresses, please fill in the complete email address and manually fill in the SMTP server information</string>
</resources>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="MailType">
<item>\@qq.com</item>
<item>\@foxmail.com</item>
<item>\@exmail.qq.com</item>
<item>\@outlook.com</item>
<item>\@office365.com</item>
<item>\@gmail.com</item>
<item>\@yeah.net</item>
<item>\@163.com</item>
<item>\@126.com</item>
<item>其他邮箱</item><!--注意这里不能修改-->
</string-array>
</resources>

@ -135,14 +135,11 @@
<string name="dingding_secret">加签 Secret (没有可不填)</string>
<string name="dingding_at">转发时@某人</string>
<string name="dingding_at_tips">Tips多个手机号用逗号分开例如18888888888,19999999999</string>
<string name="email_protocol">协议类型</string>
<string name="email_smtp">SMTP</string>
<string name="email_imap">IMAP</string>
<string name="email_host">服务器地址</string>
<string name="smtp_port">服务器端口</string>
<string name="enable_ssl">开启SSL</string>
<string name="email_account">发件邮箱</string>
<string name="email_password">登录密码/授权码</string>
<string name="email_account">发件邮箱</string>
<string name="email_password">登录密码</string>
<string name="email_nickname">发件人昵称</string>
<string name="email_to">收件地址</string>
<string name="email_to_tips">Tip多个收件人以半角逗号,分隔</string>
@ -443,4 +440,8 @@
<string name="one_pixel">1像素</string>
<string name="one_pixel_activity">1像素透明Activity保活</string>
<string name="one_pixel_activity_tips">【按需启用】使进程的优先级在屏幕锁屏时间由4提升为最高优先级1</string>
<string name="hint_from_add">填写 @ 前面的用户名</string>
<string name="hint_from_add_full">填写格式: AAA@BBB.CCC</string>
<string name="other_mail_type">其他邮箱</string>
<string name="tips_other_mail_type">其他邮箱请填写完整的邮箱地址并手动填写SMTP服务器信息</string>
</resources>

@ -106,4 +106,10 @@
<style name="OnePixelActivity" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="android:windowIsTranslucent">true</item>
</style>
<style name="dialog_spinner_style" parent="@android:style/Widget.TextView.SpinnerItem">
<item name="android:textSize">13sp</item>
<item name="android:layout_margin">0dp</item>
<item name="android:padding">0dp</item>
</style>
</resources>

Loading…
Cancel
Save