uploader battery in device status
This commit is contained in:
parent
d030427b0f
commit
d84632a8a4
3 changed files with 39 additions and 0 deletions
|
@ -56,6 +56,7 @@ import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotificati
|
||||||
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
|
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
|
||||||
import info.nightscout.androidaps.plugins.NSClientInternal.data.DbLogger;
|
import info.nightscout.androidaps.plugins.NSClientInternal.data.DbLogger;
|
||||||
import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
|
import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
|
||||||
|
import info.nightscout.utils.BatteryLevel;
|
||||||
import info.nightscout.utils.DateUtil;
|
import info.nightscout.utils.DateUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -976,6 +977,14 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
|
||||||
deviceStatus.pump = getJSONStatus();
|
deviceStatus.pump = getJSONStatus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int batteryLevel = BatteryLevel.getBatteryLevel();
|
||||||
|
if (batteryLevel != BatteryLevel.lastUploadedLevel) {
|
||||||
|
JSONObject uploaderBattery = new JSONObject();
|
||||||
|
uploaderBattery.put("uploaderBattery", batteryLevel);
|
||||||
|
deviceStatus.uploaderBattery = uploaderBattery;
|
||||||
|
BatteryLevel.lastUploadedLevel = batteryLevel;
|
||||||
|
}
|
||||||
deviceStatus.created_at = DateUtil.toISOString(new Date());
|
deviceStatus.created_at = DateUtil.toISOString(new Date());
|
||||||
deviceStatus.sendToNSClient();
|
deviceStatus.sendToNSClient();
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
|
|
|
@ -378,6 +378,7 @@ public class DeviceStatus {
|
||||||
public JSONObject enacted = null;
|
public JSONObject enacted = null;
|
||||||
public JSONObject suggested = null;
|
public JSONObject suggested = null;
|
||||||
public JSONObject iob = null;
|
public JSONObject iob = null;
|
||||||
|
public JSONObject uploaderBattery = null;
|
||||||
public String created_at = null;
|
public String created_at = null;
|
||||||
|
|
||||||
public JSONObject mongoRecord () {
|
public JSONObject mongoRecord () {
|
||||||
|
@ -391,6 +392,7 @@ public class DeviceStatus {
|
||||||
if (enacted != null) openaps.put("enacted", enacted);
|
if (enacted != null) openaps.put("enacted", enacted);
|
||||||
if (suggested != null) openaps.put("suggested", suggested);
|
if (suggested != null) openaps.put("suggested", suggested);
|
||||||
if (iob != null) openaps.put("iob", iob);
|
if (iob != null) openaps.put("iob", iob);
|
||||||
|
if (uploaderBattery != null) openaps.put("uploaderBattery", uploaderBattery);
|
||||||
record.put("openaps", openaps);
|
record.put("openaps", openaps);
|
||||||
}
|
}
|
||||||
if (created_at != null) record.put("created_at" , created_at);
|
if (created_at != null) record.put("created_at" , created_at);
|
||||||
|
|
28
app/src/main/java/info/nightscout/utils/BatteryLevel.java
Normal file
28
app/src/main/java/info/nightscout/utils/BatteryLevel.java
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
package info.nightscout.utils;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.IntentFilter;
|
||||||
|
import android.os.BatteryManager;
|
||||||
|
|
||||||
|
import info.nightscout.androidaps.MainApp;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by mike on 20.02.2017.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class BatteryLevel {
|
||||||
|
static public int lastUploadedLevel = 0;
|
||||||
|
|
||||||
|
static public int getBatteryLevel() {
|
||||||
|
Intent batteryIntent = MainApp.instance().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
|
||||||
|
if (batteryIntent != null) {
|
||||||
|
int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
|
||||||
|
int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
|
||||||
|
if (level == -1 || scale == -1) {
|
||||||
|
return 50;
|
||||||
|
}
|
||||||
|
return (int) (((float) level / (float) scale) * 100.0f);
|
||||||
|
} else return 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue