Added setting to allow the user to change the delay period before SMS alert is sent (fixes #202)

This commit is contained in:
Graham Jones
2024-10-10 19:19:19 +01:00
parent df0ab065c6
commit 4768fcd352
6 changed files with 20 additions and 5 deletions

View File

@@ -1,5 +1,6 @@
OpenSeizureDetector Android App - Change Log
============================================
V4.2.11 - Added setting to change the delay before SMS alert is sent (Issue #202)
V4.2.10 - fixed (infrequent) crash when opening data sharing page (#195), and crash if log manager fails to start (#196)
V4.2.9 - fixed crash when using Polish translation.
V4.2.8 -

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:versionCode="144"
android:versionName="4.2.10">
android:versionCode="145"
android:versionName="4.2.11">
<!-- android:allowBackup="false" -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

View File

@@ -128,7 +128,8 @@ public class SdServer extends Service implements SdDataReceiver {
private String[] mSMSNumbers;
private String mSMSMsgStr = "default SMS Message";
public Time mSMSTime = null; // last time we sent an SMS Alarm (limited to one per minute)
public SmsTimer mSmsTimer = null; // Timer to wait 10 seconds before sending an alert to give the user chance to cancel it.
public SmsTimer mSmsTimer = null; // Timer to wait for specified time before sending an alert to give the user chance to cancel it.
public int mSmsTimerSecs = 10; // Time delay in seconds before sending SMS alert.
private AlertDialog.Builder mSMSAlertDialog; // Dialog shown during countdown to sending SMS.
// Data Logging Parameters
@@ -993,7 +994,7 @@ public class SdServer extends Service implements SdDataReceiver {
runOnUiThread(new Runnable() {
public void run() {
mSmsTimer =
new SmsTimer(10 * 1000, 1000);
new SmsTimer(mSmsTimerSecs * 1000, 1000);
mSmsTimer.start();
}
});
@@ -1265,6 +1266,11 @@ public class SdServer extends Service implements SdDataReceiver {
mUtil.writeToSysLogFile("updatePrefs() - SMSNumberStr = " + SMSNumberStr);
Log.v(TAG, "updatePrefs() - mSMSNumbers = " + mSMSNumbers);
mUtil.writeToSysLogFile("updatePrefs() - mSMSNumbers = " + mSMSNumbers);
String smsDelayPeriodStr = SP.getString("SMSDelayPeriod","10");
mSmsTimerSecs = Integer.parseInt(smsDelayPeriodStr);
Log.v(TAG,"updatePrefs() - mSmsTimerSecs = "+mSmsTimerSecs);
mLogAlarms = SP.getBoolean("LogAlarms", true);
Log.v(TAG, "updatePrefs() - mLogAlarms = " + mLogAlarms);
mUtil.writeToSysLogFile("updatePrefs() - mLogAlarms = " + mLogAlarms);
@@ -1314,7 +1320,7 @@ public class SdServer extends Service implements SdDataReceiver {
mUseNewUi = SP.getBoolean("UseNewUi", false);
} catch (Exception ex) {
Log.v(TAG, "updatePrefs() - Problem parsing preferences!");
Log.v(TAG, "updatePrefs() - Problem parsing preferences!" + ex.toString());
mUtil.writeToSysLogFile("SdServer.updatePrefs() - Error " + ex.toString());
mUtil.showToast(getString(R.string.problem_parsing_preferences));
}

View File

@@ -578,4 +578,6 @@
<string name="restart_server">Restart Server</string>
<string name="error_failed_to_create_local_event">ERROR: failed to create local event</string>
<string name="error_failed_to_start_log_manager">ERROR: Failed to start Log Manager</string>
<string name="sms_delay_sec">SMS Delay (sec)</string>
<string name="sms_delay_sec_desc">The number of seconds to delay between an alarm initiating and an SMS message being sent (default=10)</string>
</resources>

View File

@@ -50,6 +50,12 @@
android:key="SMSAlarm"
android:summary="@string/enable_sms_alarm_summary"
android:title="@string/enable_sms_alarm_title" />
<EditTextPreference
android:key="SMSDelayPeriod"
android:title="@string/sms_delay_sec"
android:summary="@string/sms_delay_sec_desc"
android:inputType="number"
android:defaultValue="10" />
<EditTextPreference
android:defaultValue=""
android:key="SMSNumbers"

Binary file not shown.