Skip to content
Snippets Groups Projects
Commit f1c0555b authored by Volker Richert's avatar Volker Richert
Browse files

starting configurable poll timings (normal & on low bat)

parent 188b51c0
Branches
Tags
No related merge requests found
......@@ -90,6 +90,8 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
private Realm mRealm;
private StatusMessageReceiver statusMessageReceiver = new StatusMessageReceiver();
private MedtronicCnlAlarmReceiver medtronicCnlAlarmReceiver = new MedtronicCnlAlarmReceiver();
public static long pollInterval = 0;
public static long lowBatteryPollInterval = 0;
public static void setActivePumpMac(long pumpMac) {
activePumpMac = pumpMac;
......@@ -416,6 +418,10 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
}
} else if (key.equals("mmolxl")) {
refreshDisplay();
} else if (key.equals("pollInterval")) {
String test = sharedPreferences.getString("pollInterval", "5 min");
} else if (key.equals("lowBatPollInterval")) {
MainActivity.lowBatteryPollInterval = sharedPreferences.getLong("lowBatPollInterval", MedtronicCnlIntentService.LOW_BATTERY_POLL_PERIOD_MS);
}
}
......@@ -687,12 +693,12 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
if (pumpStatusData.getBatteryPercentage() > 25) {
// poll every 5 min
nextPoll += MedtronicCnlIntentService.POLL_PERIOD_MS;
nextPoll += MainActivity.pollInterval;
} else {
// if pump battery seems to be empty reduce polling to save battery (every 15 min)
//TODO configurable???
//TODO add message & document it
nextPoll += MedtronicCnlIntentService.LOW_BATTERY_POLL_PERIOD_MS;
nextPoll += MainActivity.lowBatteryPollInterval;
}
startCgmService(nextPoll);
......@@ -719,7 +725,6 @@ public class MainActivity extends AppCompatActivity implements OnSharedPreferenc
// TODO - handle isOffline in NightscoutUploadIntentService?
uploadCgmData();
refreshDisplay();
}
}
......
package info.nightscout.android.medtronic.service;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.preference.PreferenceManager;
import android.support.v4.content.WakefulBroadcastReceiver;
import android.util.Log;
import java.util.Date;
import info.nightscout.android.medtronic.MainActivity;
/**
* Created by lgoedhart on 14/07/2016.
*/
......@@ -20,6 +25,10 @@ public class MedtronicCnlAlarmReceiver extends WakefulBroadcastReceiver {
private static PendingIntent pendingIntent = null;
private static AlarmManager alarmManager = null;
public MedtronicCnlAlarmReceiver() {
super();
}
@Override
public void onReceive(final Context context, Intent intent) {
// Start the IntentService
......@@ -64,7 +73,7 @@ public class MedtronicCnlAlarmReceiver extends WakefulBroadcastReceiver {
// restarting the alarm after MedtronicCnlIntentService.POLL_PERIOD_MS from now
public void restartAlarm() {
setAlarm(System.currentTimeMillis() + MedtronicCnlIntentService.POLL_PERIOD_MS + MedtronicCnlIntentService.POLL_GRACE_PERIOD_MS);
setAlarm(System.currentTimeMillis() + MainActivity.pollInterval + MedtronicCnlIntentService.POLL_GRACE_PERIOD_MS);
}
// Cancel the alarm.
......
app/src/main/res/drawable/battery_0.png

253 B

app/src/main/res/drawable/battery_100.png

267 B

app/src/main/res/drawable/battery_25.png

261 B

app/src/main/res/drawable/battery_50.png

262 B

app/src/main/res/drawable/battery_75.png

262 B

......@@ -4,6 +4,7 @@
<item
android:id="@+id/status_battery"
android:icon="@drawable/battery_unknown"
android:orderInCategory="99"
app:showAsAction="always"
android:title="@string/menu_name_battery_status"/>
......
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="poll_interval">
<item>5 min</item>
<item>10 min</item>
<item>12 min</item>
<item>15 min</item>
<item>20 min</item>
<item>30 min</item>
<item>60 min</item>
<!--item>off</item-->
</string-array>
<string-array name="poll_interval_millis">
<item>300000</item>
<item>600000</item>
<item>720000</item>
<item>900000</item>
<item>1200000</item>
<item>1800000</item>
<item>3600000</item>
<!--item>0</item-->
</string-array>
</resources>
\ No newline at end of file
......@@ -50,5 +50,8 @@
<string name="dummy_button">Dummy Button</string>
<string name="dummy_content">DUMMY\nCONTENT</string>
<string name="menu_name_status">Status</string>
<string name="menu_name_battery_status"></string>
<string name="menu_name_battery_status">unknown</string>
<string name="preferences_poll_interval">poll interval</string>
<string name="preferences_low_battery_poll_interval">poll interval on low pump battery</string>
</resources>
......@@ -18,6 +18,20 @@
android:switchTextOff="1"
android:switchTextOn="2"
android:title="Decimals"/>
<ListPreference
android:key="pollInterval"
android:defaultValue="300000"
android:title="@string/preferences_poll_interval"
android:summary="%s"
android:entries="@array/poll_interval"
android:entryValues="@array/poll_interval_millis"/>
<ListPreference
android:key="lowBatPollInterval"
android:defaultValue="900000"
android:title="@string/preferences_low_battery_poll_interval"
android:summary="%s"
android:entries="@array/poll_interval"
android:entryValues="@array/poll_interval_millis"/>
</PreferenceCategory>
<PreferenceCategory android:title="Sharing">
<CheckBoxPreference
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment