diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java index 9fa77e0e17..787f241612 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java @@ -64,6 +64,7 @@ public class DanaRFragment extends Fragment implements FragmentBase { TextView batteryView; TextView reservoirView; TextView iobView; + TextView firmwareView; Button viewProfileButton; Button historyButton; Button statsButton; @@ -106,6 +107,7 @@ public class DanaRFragment extends Fragment implements FragmentBase { batteryView = (TextView) view.findViewById(R.id.danar_battery); reservoirView = (TextView) view.findViewById(R.id.danar_reservoir); iobView = (TextView) view.findViewById(R.id.danar_iob); + firmwareView = (TextView) view.findViewById(R.id.danar_firmware); viewProfileButton = (Button) view.findViewById(R.id.danar_viewprofile); historyButton = (Button) view.findViewById(R.id.danar_history); statsButton = (Button) view.findViewById(R.id.danar_stats); @@ -206,24 +208,24 @@ public class DanaRFragment extends Fragment implements FragmentBase { @SuppressLint("SetTextI18n") @Override public void run() { - - if (DanaRPlugin.getDanaRPump().lastConnection.getTime() != 0) { - Long agoMsec = new Date().getTime() - DanaRPlugin.getDanaRPump().lastConnection.getTime(); + DanaRPump pump = DanaRPlugin.getDanaRPump(); + if (pump.lastConnection.getTime() != 0) { + Long agoMsec = new Date().getTime() - pump.lastConnection.getTime(); int agoMin = (int) (agoMsec / 60d / 1000d); - lastConnectionView.setText(DateUtil.timeString(DanaRPlugin.getDanaRPump().lastConnection) + " (" + String.format(MainApp.sResources.getString(R.string.minago), agoMin) + ")"); + lastConnectionView.setText(DateUtil.timeString(pump.lastConnection) + " (" + String.format(MainApp.sResources.getString(R.string.minago), agoMin) + ")"); SetWarnColor.setColor(lastConnectionView, agoMin, 16d, 31d); } - if (DanaRPlugin.getDanaRPump().lastBolusTime.getTime() != 0) { - Long agoMsec = new Date().getTime() - DanaRPlugin.getDanaRPump().lastBolusTime.getTime(); + if (pump.lastBolusTime.getTime() != 0) { + Long agoMsec = new Date().getTime() - pump.lastBolusTime.getTime(); double agoHours = agoMsec / 60d / 60d / 1000d; if (agoHours < 6) // max 6h back - lastBolusView.setText(DateUtil.timeString(DanaRPlugin.getDanaRPump().lastBolusTime) + " (" + DecimalFormatter.to1Decimal(agoHours) + " " + getString(R.string.hoursago) + ") " + DecimalFormatter.to2Decimal(getPlugin().getDanaRPump().lastBolusAmount) + " U"); + lastBolusView.setText(DateUtil.timeString(pump.lastBolusTime) + " (" + DecimalFormatter.to1Decimal(agoHours) + " " + getString(R.string.hoursago) + ") " + DecimalFormatter.to2Decimal(getPlugin().getDanaRPump().lastBolusAmount) + " U"); else lastBolusView.setText(""); } - dailyUnitsView.setText(DecimalFormatter.to0Decimal(DanaRPlugin.getDanaRPump().dailyTotalUnits) + " / " + DanaRPlugin.getDanaRPump().maxDailyTotalUnits + " U"); - SetWarnColor.setColor(dailyUnitsView, DanaRPlugin.getDanaRPump().dailyTotalUnits, DanaRPlugin.getDanaRPump().maxDailyTotalUnits * 0.75d, DanaRPlugin.getDanaRPump().maxDailyTotalUnits * 0.9d); - basaBasalRateView.setText("( " + (DanaRPlugin.getDanaRPump().activeProfile + 1) + " ) " + DecimalFormatter.to2Decimal(getPlugin().getBaseBasalRate()) + " U/h"); + dailyUnitsView.setText(DecimalFormatter.to0Decimal(pump.dailyTotalUnits) + " / " + pump.maxDailyTotalUnits + " U"); + SetWarnColor.setColor(dailyUnitsView, pump.dailyTotalUnits, pump.maxDailyTotalUnits * 0.75d, pump.maxDailyTotalUnits * 0.9d); + basaBasalRateView.setText("( " + (pump.activeProfile + 1) + " ) " + DecimalFormatter.to2Decimal(getPlugin().getBaseBasalRate()) + " U/h"); if (getPlugin().isRealTempBasalInProgress()) { tempBasalView.setText(getPlugin().getRealTempBasal().toString()); } else { @@ -234,11 +236,16 @@ public class DanaRFragment extends Fragment implements FragmentBase { } else { extendedBolusView.setText(""); } - reservoirView.setText(DecimalFormatter.to0Decimal(DanaRPlugin.getDanaRPump().reservoirRemainingUnits) + " / 300 U"); - SetWarnColor.setColorInverse(reservoirView, DanaRPlugin.getDanaRPump().reservoirRemainingUnits, 50d, 20d); - batteryView.setText("{fa-battery-" + (DanaRPlugin.getDanaRPump().batteryRemaining / 25) + "}"); - SetWarnColor.setColorInverse(batteryView, DanaRPlugin.getDanaRPump().batteryRemaining, 51d, 26d); - iobView.setText(DanaRPlugin.getDanaRPump().iob + " U"); + reservoirView.setText(DecimalFormatter.to0Decimal(pump.reservoirRemainingUnits) + " / 300 U"); + SetWarnColor.setColorInverse(reservoirView, pump.reservoirRemainingUnits, 50d, 20d); + batteryView.setText("{fa-battery-" + (pump.batteryRemaining / 25) + "}"); + SetWarnColor.setColorInverse(batteryView, pump.batteryRemaining, 51d, 26d); + iobView.setText(pump.iob + " U"); + if (pump.isNewPump) { + firmwareView.setText(String.format(getString(R.string.danar_model), pump.model, pump.protocol, pump.productCode)); + } else { + firmwareView.setText("OLD"); + } } }); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPump.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPump.java index 535b80a296..50a29eb050 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPump.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPump.java @@ -36,7 +36,7 @@ public class DanaRPump { public String serialNumber = ""; public Date shippingDate = new Date(0); public String shippingCountry = ""; - public boolean isNewPump = false; + public boolean isNewPump = true; public int password = -1; public Date pumpTime = new Date(0); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/SerialIOThread.java index f4fc489d0c..9521c00fcc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/SerialIOThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/SerialIOThread.java @@ -176,6 +176,10 @@ public class SerialIOThread extends Thread { } if (!message.received) { log.warn("Reply not received " + message.getMessageName()); + if (message.getCommand() == 0xF0F1) { + DanaRPlugin.getDanaRPump().isNewPump = false; + log.debug("Old firmware detected"); + } } scheduleDisconnection(); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Services/ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Services/ExecutionService.java index 66acc7292e..b11c77c7ca 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Services/ExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Services/ExecutionService.java @@ -226,6 +226,7 @@ public class ExecutionService extends Service { if (!getPumpStatus()) { mSerialIOThread.disconnect("getPumpStatus failed"); waitMsec(3000); + getBTSocketForSelectedPump(); } } } @@ -276,18 +277,20 @@ public class ExecutionService extends Service { MsgStatusBasic statusBasicMsg = new MsgStatusBasic(); MsgStatusTempBasal tempStatusMsg = new MsgStatusTempBasal(); MsgStatusBolusExtended exStatusMsg = new MsgStatusBolusExtended(); + MsgCheckValue checkValue = new MsgCheckValue(); + if (danaRPump.isNewPump) { + mSerialIOThread.sendMessage(checkValue); + if (!checkValue.received) { + return false; + } + } - mSerialIOThread.sendMessage(new MsgSettingShippingInfo()); // TODO: show it somewhere mSerialIOThread.sendMessage(tempStatusMsg); // do this before statusBasic because here is temp duration mSerialIOThread.sendMessage(exStatusMsg); mSerialIOThread.sendMessage(statusMsg); mSerialIOThread.sendMessage(statusBasicMsg); - if (danaRPump.isNewPump) { - mSerialIOThread.sendMessage(new MsgCheckValue()); - } - if (!statusMsg.received) { mSerialIOThread.sendMessage(statusMsg); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgCheckValue.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgCheckValue.java index 775de6eb29..5e97e2c55e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgCheckValue.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgCheckValue.java @@ -24,6 +24,9 @@ public class MsgCheckValue extends MessageBase { public void handleMessage(byte[] bytes) { DanaRPump pump = DanaRPlugin.getDanaRPump(); + DanaRPlugin.getDanaRPump().isNewPump = true; + log.debug("New firmware confirmed"); + pump.model = intFromBuff(bytes, 0, 1); pump.protocol = intFromBuff(bytes, 1, 1); pump.productCode = intFromBuff(bytes, 2, 1); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingShippingInfo.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingShippingInfo.java index 66b14e4b80..faa68c5eb7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingShippingInfo.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingShippingInfo.java @@ -24,15 +24,10 @@ public class MsgSettingShippingInfo extends MessageBase { pump.serialNumber = stringFromBuff(bytes, 0, 10); pump.shippingDate = dateFromBuff(bytes, 10); pump.shippingCountry = asciiStringFromBuff(bytes, 13, 3); - if (pump.shippingDate.getTime() > new Date(116, 4, 1).getTime()) { - pump.isNewPump = true; - } else - pump.isNewPump = false; if (Config.logDanaMessageDetail) { log.debug("Serial number: " + pump.serialNumber); log.debug("Shipping date: " + pump.shippingDate); log.debug("Shipping country: " + pump.shippingCountry); - log.debug("Is new pump: " + pump.isNewPump); } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java index 56ed323c17..f6778ed5f6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java @@ -61,6 +61,7 @@ public class DanaRKoreanFragment extends Fragment implements FragmentBase { TextView batteryView; TextView reservoirView; TextView iobView; + TextView firmwareView; Button viewProfileButton; Button historyButton; Button statsButton; @@ -103,6 +104,7 @@ public class DanaRKoreanFragment extends Fragment implements FragmentBase { batteryView = (TextView) view.findViewById(R.id.danar_battery); reservoirView = (TextView) view.findViewById(R.id.danar_reservoir); iobView = (TextView) view.findViewById(R.id.danar_iob); + firmwareView = (TextView) view.findViewById(R.id.danar_firmware); viewProfileButton = (Button) view.findViewById(R.id.danar_viewprofile); historyButton = (Button) view.findViewById(R.id.danar_history); statsButton = (Button) view.findViewById(R.id.danar_stats); @@ -204,24 +206,24 @@ public class DanaRKoreanFragment extends Fragment implements FragmentBase { @SuppressLint("SetTextI18n") @Override public void run() { - - if (DanaRKoreanPlugin.getDanaRPump().lastConnection.getTime() != 0) { - Long agoMsec = new Date().getTime() - DanaRKoreanPlugin.getDanaRPump().lastConnection.getTime(); + DanaRKoreanPump pump = DanaRKoreanPlugin.getDanaRPump(); + if (pump.lastConnection.getTime() != 0) { + Long agoMsec = new Date().getTime() - pump.lastConnection.getTime(); int agoMin = (int) (agoMsec / 60d / 1000d); - lastConnectionView.setText(DateUtil.timeString(DanaRKoreanPlugin.getDanaRPump().lastConnection) + " (" + String.format(MainApp.sResources.getString(R.string.minago), agoMin) + ")"); + lastConnectionView.setText(DateUtil.timeString(pump.lastConnection) + " (" + String.format(MainApp.sResources.getString(R.string.minago), agoMin) + ")"); SetWarnColor.setColor(lastConnectionView, agoMin, 16d, 31d); } -// if (DanaRKoreanPlugin.getDanaRPump().lastBolusTime.getTime() != 0) { -// Long agoMsec = new Date().getTime() - DanaRKoreanPlugin.getDanaRPump().lastBolusTime.getTime(); +// if (pump.lastBolusTime.getTime() != 0) { +// Long agoMsec = new Date().getTime() - pump.lastBolusTime.getTime(); // double agoHours = agoMsec / 60d / 60d / 1000d; // if (agoHours < 6) // max 6h back -// lastBolusView.setText(formatTime.format(DanaRKoreanPlugin.getDanaRPump().lastBolusTime) + " (" + DecimalFormatter.to1Decimal(agoHours) + " " + getString(R.string.hoursago) + ") " + DecimalFormatter.to2Decimal(danaRKoreanPlugin.getDanaRPump().lastBolusAmount) + " U"); +// lastBolusView.setText(formatTime.format(pump.lastBolusTime) + " (" + DecimalFormatter.to1Decimal(agoHours) + " " + getString(R.string.hoursago) + ") " + DecimalFormatter.to2Decimal(pump.lastBolusAmount) + " U"); // else lastBolusView.setText(""); // } - dailyUnitsView.setText(DecimalFormatter.to0Decimal(DanaRKoreanPlugin.getDanaRPump().dailyTotalUnits) + " / " + DanaRKoreanPlugin.getDanaRPump().maxDailyTotalUnits + " U"); - SetWarnColor.setColor(dailyUnitsView, DanaRKoreanPlugin.getDanaRPump().dailyTotalUnits, DanaRKoreanPlugin.getDanaRPump().maxDailyTotalUnits * 0.75d, DanaRKoreanPlugin.getDanaRPump().maxDailyTotalUnits * 0.9d); - basaBasalRateView.setText("( " + (DanaRKoreanPlugin.getDanaRPump().activeProfile + 1) + " ) " + DecimalFormatter.to2Decimal(danaRKoreanPlugin.getBaseBasalRate()) + " U/h"); + dailyUnitsView.setText(DecimalFormatter.to0Decimal(pump.dailyTotalUnits) + " / " + pump.maxDailyTotalUnits + " U"); + SetWarnColor.setColor(dailyUnitsView, pump.dailyTotalUnits, pump.maxDailyTotalUnits * 0.75d, pump.maxDailyTotalUnits * 0.9d); + basaBasalRateView.setText("( " + (pump.activeProfile + 1) + " ) " + DecimalFormatter.to2Decimal(danaRKoreanPlugin.getBaseBasalRate()) + " U/h"); if (danaRKoreanPlugin.isRealTempBasalInProgress()) { tempBasalView.setText(danaRKoreanPlugin.getRealTempBasal().toString()); } else { @@ -232,11 +234,16 @@ public class DanaRKoreanFragment extends Fragment implements FragmentBase { } else { extendedBolusView.setText(""); } - reservoirView.setText(DecimalFormatter.to0Decimal(DanaRKoreanPlugin.getDanaRPump().reservoirRemainingUnits) + " / 300 U"); - SetWarnColor.setColorInverse(reservoirView, DanaRKoreanPlugin.getDanaRPump().reservoirRemainingUnits, 50d, 20d); - batteryView.setText("{fa-battery-" + (DanaRKoreanPlugin.getDanaRPump().batteryRemaining / 25) + "}"); - SetWarnColor.setColorInverse(batteryView, DanaRKoreanPlugin.getDanaRPump().batteryRemaining, 51d, 26d); - iobView.setText(DanaRKoreanPlugin.getDanaRPump().iob + " U"); + reservoirView.setText(DecimalFormatter.to0Decimal(pump.reservoirRemainingUnits) + " / 300 U"); + SetWarnColor.setColorInverse(reservoirView, pump.reservoirRemainingUnits, 50d, 20d); + batteryView.setText("{fa-battery-" + (pump.batteryRemaining / 25) + "}"); + SetWarnColor.setColorInverse(batteryView, pump.batteryRemaining, 51d, 26d); + iobView.setText(pump.iob + " U"); + if (pump.isNewPump) { + firmwareView.setText(String.format(getString(R.string.danar_model), pump.model, pump.protocol, pump.productCode)); + } else { + firmwareView.setText("OLD"); + } } }); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPump.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPump.java index 16ac0e2507..d09700a2f2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPump.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPump.java @@ -36,7 +36,7 @@ public class DanaRKoreanPump { public String serialNumber = ""; public Date shippingDate = new Date(0); public String shippingCountry = ""; - public boolean isNewPump = false; + public boolean isNewPump = true; public int password = -1; public Date pumpTime = new Date(0); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/SerialIOThread.java index ed53de2815..50f9e855ef 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/SerialIOThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/SerialIOThread.java @@ -176,6 +176,10 @@ public class SerialIOThread extends Thread { } if (!message.received) { log.warn("Reply not received " + message.getMessageName()); + if (message.getCommand() == 0xF0F1) { + DanaRKoreanPlugin.getDanaRPump().isNewPump = false; + log.debug("Old firmware detected"); + } } scheduleDisconnection(); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/Services/ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/Services/ExecutionService.java index 29c001cc4c..e90a71deda 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/Services/ExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/Services/ExecutionService.java @@ -222,6 +222,7 @@ public class ExecutionService extends Service { if (!getPumpStatus()) { mSerialIOThread.disconnect("getPumpStatus failed"); waitMsec(3000); + getBTSocketForSelectedPump(); } } } @@ -272,7 +273,14 @@ public class ExecutionService extends Service { MsgStatusBasic statusBasicMsg = new MsgStatusBasic(); MsgStatusTempBasal tempStatusMsg = new MsgStatusTempBasal(); MsgStatusBolusExtended exStatusMsg = new MsgStatusBolusExtended(); + MsgCheckValue checkValue = new MsgCheckValue(); + if (danaRKoreanPump.isNewPump) { + mSerialIOThread.sendMessage(checkValue); + if (!checkValue.received) { + return false; + } + } mSerialIOThread.sendMessage(new MsgSettingShippingInfo()); // TODO: show it somewhere mSerialIOThread.sendMessage(tempStatusMsg); // do this before statusBasic because here is temp duration @@ -280,8 +288,6 @@ public class ExecutionService extends Service { //mSerialIOThread.sendMessage(statusMsg); mSerialIOThread.sendMessage(statusBasicMsg); - mSerialIOThread.sendMessage(new MsgCheckValue()); - // if (!statusMsg.received) { // mSerialIOThread.sendMessage(statusMsg); // } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgCheckValue.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgCheckValue.java index 0a9ea6f2aa..efcb32f2ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgCheckValue.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgCheckValue.java @@ -25,6 +25,9 @@ public class MsgCheckValue extends MessageBase { public void handleMessage(byte[] bytes) { DanaRKoreanPump pump = DanaRKoreanPlugin.getDanaRPump(); + DanaRKoreanPlugin.getDanaRPump().isNewPump = true; + log.debug("New firmware confirmed"); + pump.model = intFromBuff(bytes, 0, 1); pump.protocol = intFromBuff(bytes, 1, 1); pump.productCode = intFromBuff(bytes, 2, 1); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingShippingInfo.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingShippingInfo.java index 4d10aef389..f222d86cbf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingShippingInfo.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingShippingInfo.java @@ -25,10 +25,6 @@ public class MsgSettingShippingInfo extends MessageBase { pump.serialNumber = stringFromBuff(bytes, 0, 10); pump.shippingDate = dateFromBuff(bytes, 10); pump.shippingCountry = asciiStringFromBuff(bytes, 13, 3); - if (pump.shippingDate.getTime() > new Date(116, 4, 1).getTime()) { - pump.isNewPump = true; - } else - pump.isNewPump = false; if (Config.logDanaMessageDetail) { log.debug("Serial number: " + pump.serialNumber); log.debug("Shipping date: " + pump.shippingDate); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/Autosens.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/Autosens.java index eef79757cc..1b93588783 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/Autosens.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/Autosens.java @@ -102,7 +102,7 @@ public class Autosens { // avgDelta = avgDelta.toFixed(2); IobTotal iob = IobTotal.calulateFromTreatmentsAndTemps(bgTime); - double bgi = Math.round((-iob.activity * sens * 5) * 100) / 100; + double bgi = Math.round((-iob.activity * sens * 5) * 100) / 100d; // bgi = bgi.toFixed(2); //console.error(delta); double deviation = delta - bgi; diff --git a/app/src/main/res/layout/danar_fragment.xml b/app/src/main/res/layout/danar_fragment.xml index 82a480ceac..2a1decfdd9 100644 --- a/app/src/main/res/layout/danar_fragment.xml +++ b/app/src/main/res/layout/danar_fragment.xml @@ -252,22 +252,49 @@ + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:orientation="horizontal"> + + + + + + + +