mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-03 09:27: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));
|
switchBatteryReceiver(findViewById(R.id.switch_battery_receiver));
|
||||||
//电量预警
|
//电量预警
|
||||||
editBatteryLevelAlarmMin(findViewById(R.id.et_battery_level_alarm_min));
|
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));
|
||||||
editBatteryLevelAlarmMax(findViewById(R.id.et_battery_level_alarm_max));
|
|
||||||
|
|
||||||
//开机启动
|
//开机启动
|
||||||
checkWithReboot(findViewById(R.id.switch_with_reboot));
|
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) {
|
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.setText(String.valueOf(SettingUtil.getBatteryLevelAlarmMin()));
|
et_battery_level_alarm_min.setText(String.valueOf(SettingUtil.getBatteryLevelAlarmMin()));
|
||||||
|
et_battery_level_alarm_min.addTextChangedListener(new TextWatcher() {
|
||||||
et_battery_level_alarm.addTextChangedListener(new TextWatcher() {
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
}
|
}
|
||||||
@ -313,7 +311,7 @@ public class SettingActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterTextChanged(Editable s) {
|
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()) {
|
if (!batteryLevel.isEmpty()) {
|
||||||
SettingUtil.setBatteryLevelAlarmMin(Integer.parseInt(batteryLevel));
|
SettingUtil.setBatteryLevelAlarmMin(Integer.parseInt(batteryLevel));
|
||||||
} else {
|
} else {
|
||||||
@ -321,13 +319,9 @@ public class SettingActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
//设置低电量报警值上限
|
et_battery_level_alarm_max.setText(String.valueOf(SettingUtil.getBatteryLevelAlarmMax()));
|
||||||
private void editBatteryLevelAlarmMax(final EditText et_battery_level_alarm) {
|
et_battery_level_alarm_max.addTextChangedListener(new TextWatcher() {
|
||||||
et_battery_level_alarm.setText(String.valueOf(SettingUtil.getBatteryLevelAlarmMax()));
|
|
||||||
|
|
||||||
et_battery_level_alarm.addTextChangedListener(new TextWatcher() {
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||||
}
|
}
|
||||||
@ -338,7 +332,7 @@ public class SettingActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterTextChanged(Editable s) {
|
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()) {
|
if (!batteryLevel.isEmpty()) {
|
||||||
SettingUtil.setBatteryLevelAlarmMax(Integer.parseInt(batteryLevel));
|
SettingUtil.setBatteryLevelAlarmMax(Integer.parseInt(batteryLevel));
|
||||||
} else {
|
} 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();
|
OkHttpClient.Builder builder = new OkHttpClient.Builder();
|
||||||
//设置重试拦截器
|
//设置重试拦截器
|
||||||
//if (retryInterceptor != null) builder.addInterceptor(retryInterceptor);
|
if (retryInterceptor != null) builder.addInterceptor(retryInterceptor);
|
||||||
//设置读取超时时间
|
//设置读取超时时间
|
||||||
OkHttpClient client = builder
|
OkHttpClient client = builder
|
||||||
.readTimeout(Define.REQUEST_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
.readTimeout(Define.REQUEST_TIMEOUT_SECONDS, TimeUnit.SECONDS)
|
||||||
|
@ -109,11 +109,19 @@ public class BatteryService extends Service {
|
|||||||
|
|
||||||
int levelMin = SettingUtil.getBatteryLevelAlarmMin();
|
int levelMin = SettingUtil.getBatteryLevelAlarmMin();
|
||||||
int levelMax = SettingUtil.getBatteryLevelAlarmMax();
|
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;
|
msg = "【电量预警】已到达电量预警下限,请及时充电!" + msg;
|
||||||
sendMessage(context, msg);
|
sendMessage(context, msg);
|
||||||
return;
|
return;
|
||||||
} else if (levelMax > 0 && levelPre < levelCur && levelCur >= levelMax) { //电量上升到上限
|
} else if (!SettingUtil.getBatteryLevelAlarmOnce() && levelMax > 0 && levelPre < levelCur && levelCur == levelMax) { //电量上升到上限
|
||||||
msg = "【电量预警】已到达电量预警上限,请拔掉充电器!" + msg;
|
msg = "【电量预警】已到达电量预警上限,请拔掉充电器!" + msg;
|
||||||
sendMessage(context, msg);
|
sendMessage(context, msg);
|
||||||
return;
|
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_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_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_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_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_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";
|
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);
|
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) {
|
public static void setBatteryLevelAlarmMax(int battery_level) {
|
||||||
sp_setting.edit().putInt(Define.SP_MSG_KEY_STRING_BATTERY_LEVEL_MAX, battery_level).apply();
|
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_height="wrap_content"
|
||||||
android:layout_marginStart="20dp"
|
android:layout_marginStart="20dp"
|
||||||
android:text="@string/below"
|
android:text="@string/below"
|
||||||
|
android:textSize="12sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
@ -456,17 +457,21 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:autofillHints=""
|
android:autofillHints=""
|
||||||
|
android:digits="0123456789"
|
||||||
android:ems="2"
|
android:ems="2"
|
||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
|
android:maxLength="2"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:text=""
|
android:text=""
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
|
android:textSize="12sp"
|
||||||
tools:ignore="LabelFor" />
|
tools:ignore="LabelFor" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/percent"
|
android:text="@string/percent"
|
||||||
|
android:textSize="12sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@ -474,6 +479,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="20dp"
|
android:layout_marginStart="20dp"
|
||||||
android:text="@string/above"
|
android:text="@string/above"
|
||||||
|
android:textSize="12sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
@ -481,19 +487,31 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:autofillHints=""
|
android:autofillHints=""
|
||||||
|
android:digits="0123456789"
|
||||||
android:ems="2"
|
android:ems="2"
|
||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
|
android:maxLength="2"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:text="@string/zero"
|
android:text="@string/zero"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
|
android:textSize="12sp"
|
||||||
tools:ignore="LabelFor" />
|
tools:ignore="LabelFor" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/percent"
|
android:text="@string/percent"
|
||||||
|
android:textSize="12sp"
|
||||||
android:textStyle="bold" />
|
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>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
@ -334,4 +334,5 @@
|
|||||||
<string name="retry">Retry</string>
|
<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_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="test_sim_info" tools:ignore="Typos">SIM1_TestOperator_18888888888</string>
|
||||||
|
<string name="keep_reminding">Keep reminding</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -333,4 +333,5 @@
|
|||||||
<string name="retry">重试</string>
|
<string name="retry">重试</string>
|
||||||
<string name="test_sender_sms">【测试通道】恭喜您,该发送通道测试成功,请继续添加转发规则!</string>
|
<string name="test_sender_sms">【测试通道】恭喜您,该发送通道测试成功,请继续添加转发规则!</string>
|
||||||
<string name="test_sim_info" tools:ignore="Typos">SIM1_测试运营商_18888888888</string>
|
<string name="test_sim_info" tools:ignore="Typos">SIM1_测试运营商_18888888888</string>
|
||||||
|
<string name="keep_reminding">持续提醒</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user