mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-03 01:17:41 +08:00
优化:电量预警增加是否持续通知开关
This commit is contained in:
parent
e4b50e98ef
commit
7e58b50619
@ -93,8 +93,7 @@ public class SettingActivity extends AppCompatActivity {
|
||||
//监听电池状态变化
|
||||
switchBatteryReceiver(findViewById(R.id.switch_battery_receiver));
|
||||
//电量预警
|
||||
editBatteryLevelAlarmMin(findViewById(R.id.et_battery_level_alarm_min));
|
||||
editBatteryLevelAlarmMax(findViewById(R.id.et_battery_level_alarm_max));
|
||||
editBatteryLevelAlarm(findViewById(R.id.et_battery_level_alarm_min), findViewById(R.id.et_battery_level_alarm_max), findViewById(R.id.cb_battery_level_alarm_once));
|
||||
|
||||
//开机启动
|
||||
checkWithReboot(findViewById(R.id.switch_with_reboot));
|
||||
@ -298,11 +297,10 @@ public class SettingActivity extends AppCompatActivity {
|
||||
});
|
||||
}
|
||||
|
||||
//设置低电量报警值下限
|
||||
private void editBatteryLevelAlarmMin(final EditText et_battery_level_alarm) {
|
||||
et_battery_level_alarm.setText(String.valueOf(SettingUtil.getBatteryLevelAlarmMin()));
|
||||
|
||||
et_battery_level_alarm.addTextChangedListener(new TextWatcher() {
|
||||
//设置低电量报警
|
||||
private void editBatteryLevelAlarm(final EditText et_battery_level_alarm_min, final EditText et_battery_level_alarm_max, CheckBox cb_battery_level_alarm_once) {
|
||||
et_battery_level_alarm_min.setText(String.valueOf(SettingUtil.getBatteryLevelAlarmMin()));
|
||||
et_battery_level_alarm_min.addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
}
|
||||
@ -313,7 +311,7 @@ public class SettingActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
String batteryLevel = et_battery_level_alarm.getText().toString().trim();
|
||||
String batteryLevel = et_battery_level_alarm_min.getText().toString().trim();
|
||||
if (!batteryLevel.isEmpty()) {
|
||||
SettingUtil.setBatteryLevelAlarmMin(Integer.parseInt(batteryLevel));
|
||||
} else {
|
||||
@ -321,13 +319,9 @@ public class SettingActivity extends AppCompatActivity {
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//设置低电量报警值上限
|
||||
private void editBatteryLevelAlarmMax(final EditText et_battery_level_alarm) {
|
||||
et_battery_level_alarm.setText(String.valueOf(SettingUtil.getBatteryLevelAlarmMax()));
|
||||
|
||||
et_battery_level_alarm.addTextChangedListener(new TextWatcher() {
|
||||
et_battery_level_alarm_max.setText(String.valueOf(SettingUtil.getBatteryLevelAlarmMax()));
|
||||
et_battery_level_alarm_max.addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
}
|
||||
@ -338,7 +332,7 @@ public class SettingActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
String batteryLevel = et_battery_level_alarm.getText().toString().trim();
|
||||
String batteryLevel = et_battery_level_alarm_max.getText().toString().trim();
|
||||
if (!batteryLevel.isEmpty()) {
|
||||
SettingUtil.setBatteryLevelAlarmMax(Integer.parseInt(batteryLevel));
|
||||
} else {
|
||||
@ -346,6 +340,15 @@ public class SettingActivity extends AppCompatActivity {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
cb_battery_level_alarm_once.setChecked(SettingUtil.getBatteryLevelAlarmOnce());
|
||||
cb_battery_level_alarm_once.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
||||
SettingUtil.switchBatteryLevelAlarmOnce(isChecked);
|
||||
if (isChecked && 0 == SettingUtil.getBatteryLevelAlarmMin() && 0 == SettingUtil.getBatteryLevelAlarmMax()) {
|
||||
Toast.makeText(context, "【注意】电量预警阈值上下限都是0,持续提醒不起作用", Toast.LENGTH_SHORT).show();
|
||||
SettingUtil.switchEnablePhone(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//开机启动
|
||||
|
@ -58,7 +58,7 @@ public class SenderBarkMsg extends SenderBaseMsg {
|
||||
|
||||
OkHttpClient.Builder builder = new OkHttpClient.Builder();
|
||||
//设置重试拦截器
|
||||
//if (retryInterceptor != null) builder.addInterceptor(retryInterceptor);
|
||||
if (retryInterceptor != null) builder.addInterceptor(retryInterceptor);
|
||||
//设置读取超时时间
|
||||
OkHttpClient client = builder
|
||||
.readTimeout(Define.REQUEST_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||
|
@ -109,11 +109,19 @@ public class BatteryService extends Service {
|
||||
|
||||
int levelMin = SettingUtil.getBatteryLevelAlarmMin();
|
||||
int levelMax = SettingUtil.getBatteryLevelAlarmMax();
|
||||
if (levelMin > 0 && levelPre > levelCur && levelCur <= levelMin) { //电量下降到下限
|
||||
if (SettingUtil.getBatteryLevelAlarmOnce() && levelMin > 0 && levelPre > levelCur && levelCur <= levelMin) { //电量下降到下限
|
||||
msg = "【电量预警】已低于电量预警下限,请及时充电!" + msg;
|
||||
sendMessage(context, msg);
|
||||
return;
|
||||
} else if (SettingUtil.getBatteryLevelAlarmOnce() && levelMax > 0 && levelPre < levelCur && levelCur >= levelMax) { //电量上升到上限
|
||||
msg = "【电量预警】已高于电量预警上限,请拔掉充电器!" + msg;
|
||||
sendMessage(context, msg);
|
||||
return;
|
||||
} else if (!SettingUtil.getBatteryLevelAlarmOnce() && levelMin > 0 && levelPre > levelCur && levelCur == levelMin) { //电量下降到下限
|
||||
msg = "【电量预警】已到达电量预警下限,请及时充电!" + msg;
|
||||
sendMessage(context, msg);
|
||||
return;
|
||||
} else if (levelMax > 0 && levelPre < levelCur && levelCur >= levelMax) { //电量上升到上限
|
||||
} else if (!SettingUtil.getBatteryLevelAlarmOnce() && levelMax > 0 && levelPre < levelCur && levelCur == levelMax) { //电量上升到上限
|
||||
msg = "【电量预警】已到达电量预警上限,请拔掉充电器!" + msg;
|
||||
sendMessage(context, msg);
|
||||
return;
|
||||
|
@ -21,6 +21,7 @@ public class Define {
|
||||
public static final String SP_MSG_KEY_STRING_BATTERY_LEVEL_CURRENT = "tsms_msg_key_string_battery_level_current";
|
||||
public static final String SP_MSG_KEY_STRING_BATTERY_LEVEL_ALARM = "tsms_msg_key_string_battery_level_alarm";
|
||||
public static final String SP_MSG_KEY_STRING_BATTERY_LEVEL_MAX = "tsms_msg_key_string_battery_level_max";
|
||||
public static final String SP_MSG_KEY_STRING_BATTERY_LEVEL_ONCE = "tsms_msg_key_string_battery_level_once";
|
||||
public static final String SP_MSG_KEY_STRING_RETRY_TIMES = "tsms_msg_key_retry_times";
|
||||
public static final String SP_MSG_KEY_STRING_DELAY_TIME = "tsms_msg_key_delay_time";
|
||||
public static final String SP_MSG_KEY_STRING_ENABLE_SMSHUB_API = "tsms_msg_key_string_enable_smshub_api";
|
||||
|
@ -154,6 +154,14 @@ public class SettingUtil {
|
||||
return sp_setting.getInt(Define.SP_MSG_KEY_STRING_BATTERY_LEVEL_MAX, 0);
|
||||
}
|
||||
|
||||
public static void switchBatteryLevelAlarmOnce(Boolean enable) {
|
||||
sp_setting.edit().putBoolean(Define.SP_MSG_KEY_STRING_BATTERY_LEVEL_ONCE, enable).apply();
|
||||
}
|
||||
|
||||
public static boolean getBatteryLevelAlarmOnce() {
|
||||
return sp_setting.getBoolean(Define.SP_MSG_KEY_STRING_BATTERY_LEVEL_ONCE, false);
|
||||
}
|
||||
|
||||
public static void setBatteryLevelAlarmMax(int battery_level) {
|
||||
sp_setting.edit().putInt(Define.SP_MSG_KEY_STRING_BATTERY_LEVEL_MAX, battery_level).apply();
|
||||
}
|
||||
|
@ -449,6 +449,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="20dp"
|
||||
android:text="@string/below"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
@ -456,17 +457,21 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:autofillHints=""
|
||||
android:digits="0123456789"
|
||||
android:ems="2"
|
||||
android:inputType="number"
|
||||
android:maxLength="2"
|
||||
android:maxLines="1"
|
||||
android:text=""
|
||||
android:textAlignment="center"
|
||||
android:textSize="12sp"
|
||||
tools:ignore="LabelFor" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/percent"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
@ -474,6 +479,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="20dp"
|
||||
android:text="@string/above"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
@ -481,19 +487,31 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:autofillHints=""
|
||||
android:digits="0123456789"
|
||||
android:ems="2"
|
||||
android:inputType="number"
|
||||
android:maxLength="2"
|
||||
android:maxLines="1"
|
||||
android:text="@string/zero"
|
||||
android:textAlignment="center"
|
||||
android:textSize="12sp"
|
||||
tools:ignore="LabelFor" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/percent"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/cb_battery_level_alarm_once"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleX="0.8"
|
||||
android:scaleY="0.8"
|
||||
android:text="@string/keep_reminding" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -334,4 +334,5 @@
|
||||
<string name="retry">Retry</string>
|
||||
<string name="test_sender_sms">[Test Channel] Congratulations, the sending channel test is successful, please continue to add forwarding rules!</string>
|
||||
<string name="test_sim_info" tools:ignore="Typos">SIM1_TestOperator_18888888888</string>
|
||||
<string name="keep_reminding">Keep reminding</string>
|
||||
</resources>
|
||||
|
@ -333,4 +333,5 @@
|
||||
<string name="retry">重试</string>
|
||||
<string name="test_sender_sms">【测试通道】恭喜您,该发送通道测试成功,请继续添加转发规则!</string>
|
||||
<string name="test_sim_info" tools:ignore="Typos">SIM1_测试运营商_18888888888</string>
|
||||
<string name="keep_reminding">持续提醒</string>
|
||||
</resources>
|
||||
|
Loading…
x
Reference in New Issue
Block a user