优化:电量预警增加是否持续通知开关

pull/115/head
pppscn 2 years ago
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…
Cancel
Save