- upload site change event to Nightscout, when Pod is initialized

This commit is contained in:
Andy Rozman 2020-03-18 22:39:06 +00:00
parent 51fea3b912
commit 33bdaa1768

View file

@ -3,17 +3,31 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.pages;
import com.atech.android.library.wizardpager.defs.action.AbstractCancelAction;
import com.atech.android.library.wizardpager.defs.action.FinishActionInterface;
import org.json.JSONException;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.db.CareportalEvent;
import info.nightscout.androidaps.db.Source;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.plugins.general.nsclient.NSUpload;
import info.nightscout.androidaps.plugins.pump.common.utils.DateTimeUtil;
import info.nightscout.androidaps.plugins.pump.omnipod.defs.SetupProgress;
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.PodManagementActivity;
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.defs.PodActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.OmnipodDriverState;
import info.nightscout.androidaps.plugins.pump.omnipod.util.OmnipodUtil;
import info.nightscout.androidaps.utils.DateUtil;
import info.nightscout.androidaps.utils.SP;
/**
* Created by andy on 12/11/2019
*/
public class InitPodRefreshAction extends AbstractCancelAction implements FinishActionInterface {
private static final Logger LOG = LoggerFactory.getLogger(L.PUMP);
private PodManagementActivity podManagementActivity;
private PodActionType actionType;
@ -42,6 +56,7 @@ public class InitPodRefreshAction extends AbstractCancelAction implements Finish
OmnipodUtil.setDriverState(OmnipodDriverState.Initalized_PodInitializing);
} else {
OmnipodUtil.setDriverState(OmnipodDriverState.Initalized_PodAttached);
uploadCareportalEvent(System.currentTimeMillis(), CareportalEvent.SITECHANGE);
}
} else {
OmnipodUtil.setDriverState(OmnipodDriverState.Initalized_NoPod);
@ -50,6 +65,28 @@ public class InitPodRefreshAction extends AbstractCancelAction implements Finish
podManagementActivity.refreshButtons();
}
private void uploadCareportalEvent(long date, String event) {
if (MainApp.getDbHelper().getCareportalEventFromTimestamp(date) != null)
return;
try {
JSONObject data = new JSONObject();
String enteredBy = SP.getString("careportal_enteredby", "");
if (!enteredBy.equals("")) data.put("enteredBy", enteredBy);
data.put("created_at", DateUtil.toISOString(date));
data.put("eventType", event);
CareportalEvent careportalEvent = new CareportalEvent();
careportalEvent.date = date;
careportalEvent.source = Source.USER;
careportalEvent.eventType = event;
careportalEvent.json = data.toString();
MainApp.getDbHelper().createOrUpdate(careportalEvent);
NSUpload.uploadCareportalEntryToNS(data);
} catch (JSONException e) {
LOG.error("Unhandled exception when uploading SiteChange event.", e);
}
}
@Override
public String getFinishActionText() {
return "Finish_OK";