package info.nightscout.androidaps.plugins.DanaR.comm;
import com.squareup.otto.Bus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Date;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress;
public class MsgBolusProgress extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgBolusProgress.class);
private static Treatment t;
private static double amount;
public static long lastReceive = 0;
public int progress = -1;
public MsgBolusProgress() {
SetCommand(0x0202);
}
public MsgBolusProgress(double amount, Treatment t) {
this();
this.amount = amount;
this.t = t;
lastReceive = new Date().getTime();
}
@Override
public void handleMessage(byte[] bytes) {
progress = intFromBuff(bytes, 0, 2);
lastReceive = new Date().getTime();
Double done = (amount * 100 - progress) / 100d;
t.insulin = done;
EventOverviewBolusProgress bolusingEvent = EventOverviewBolusProgress.getInstance();
bolusingEvent.status = String.format(MainApp.sResources.getString(R.string.bolusdelivering), done);
bolusingEvent.t = t;
bolusingEvent.percent = Math.min((int) (done / amount * 100), 100);
if (Config.logDanaMessageDetail) {
log.debug("Bolus remaining: " + progress + " delivered: " + done);
}
MainApp.bus().post(bolusingEvent);
}
}