Merge branch 'dev' into omnipod_eros_dev_dagger

This commit is contained in:
Andy Rozman 2020-04-26 11:17:15 +01:00
commit a805f5b827
8 changed files with 52 additions and 51 deletions

View file

@ -20,7 +20,6 @@ import androidx.test.rule.GrantPermissionRule
import info.nightscout.androidaps.interfaces.PluginType import info.nightscout.androidaps.interfaces.PluginType
import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin import info.nightscout.androidaps.plugins.aps.loop.LoopPlugin
import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin import info.nightscout.androidaps.plugins.aps.openAPSSMB.OpenAPSSMBPlugin
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions
import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin import info.nightscout.androidaps.plugins.constraints.objectives.ObjectivesPlugin
import info.nightscout.androidaps.plugins.profile.local.LocalProfilePlugin import info.nightscout.androidaps.plugins.profile.local.LocalProfilePlugin
import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin import info.nightscout.androidaps.plugins.pump.virtual.VirtualPumpPlugin
@ -28,7 +27,6 @@ import info.nightscout.androidaps.plugins.sensitivity.SensitivityOref1Plugin
import info.nightscout.androidaps.plugins.source.RandomBgPlugin import info.nightscout.androidaps.plugins.source.RandomBgPlugin
import info.nightscout.androidaps.setupwizard.SetupWizardActivity import info.nightscout.androidaps.setupwizard.SetupWizardActivity
import info.nightscout.androidaps.utils.HardLimits import info.nightscout.androidaps.utils.HardLimits
import info.nightscout.androidaps.utils.SP
import info.nightscout.androidaps.utils.extensions.isRunningTest import info.nightscout.androidaps.utils.extensions.isRunningTest
import org.hamcrest.CoreMatchers.allOf import org.hamcrest.CoreMatchers.allOf
import org.hamcrest.Description import org.hamcrest.Description
@ -60,7 +58,7 @@ class SetupWizardActivityTest {
@Before @Before
fun clear() { fun clear() {
SP.clear() sp.clear()
} }
/* /*
@ -77,7 +75,7 @@ adb shell settings put global animator_duration_scale 0 &
@Test @Test
fun setupWizardActivityTest() { fun setupWizardActivityTest() {
SP.clear() sp.clear()
Assert.assertTrue(isRunningTest()) Assert.assertTrue(isRunningTest())
// Welcome page // Welcome page
onView(withId(R.id.next_button)).perform(click()) onView(withId(R.id.next_button)).perform(click())

View file

@ -52,6 +52,8 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface {
private final TreatmentsPlugin treatmentsPlugin; private final TreatmentsPlugin treatmentsPlugin;
private final IobCobCalculatorPlugin iobCobCalculatorPlugin; private final IobCobCalculatorPlugin iobCobCalculatorPlugin;
private final HardLimits hardLimits; private final HardLimits hardLimits;
private final Profiler profiler;
private final FabricPrivacy fabricPrivacy;
// last values // last values
DetermineBasalAdapterAMAJS lastDetermineBasalAdapterAMAJS = null; DetermineBasalAdapterAMAJS lastDetermineBasalAdapterAMAJS = null;
@ -71,7 +73,9 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface {
ActivePluginProvider activePlugin, ActivePluginProvider activePlugin,
TreatmentsPlugin treatmentsPlugin, TreatmentsPlugin treatmentsPlugin,
IobCobCalculatorPlugin iobCobCalculatorPlugin, IobCobCalculatorPlugin iobCobCalculatorPlugin,
HardLimits hardLimits HardLimits hardLimits,
Profiler profiler,
FabricPrivacy fabricPrivacy
) { ) {
super(new PluginDescription() super(new PluginDescription()
.mainType(PluginType.APS) .mainType(PluginType.APS)
@ -92,6 +96,8 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface {
this.treatmentsPlugin = treatmentsPlugin; this.treatmentsPlugin = treatmentsPlugin;
this.iobCobCalculatorPlugin = iobCobCalculatorPlugin; this.iobCobCalculatorPlugin = iobCobCalculatorPlugin;
this.hardLimits = hardLimits; this.hardLimits = hardLimits;
this.profiler = profiler;
this.fabricPrivacy = fabricPrivacy;
} }
@Override @Override
@ -161,11 +167,11 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface {
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
long startPart = System.currentTimeMillis(); long startPart = System.currentTimeMillis();
IobTotal[] iobArray = iobCobCalculatorPlugin.calculateIobArrayInDia(profile); IobTotal[] iobArray = iobCobCalculatorPlugin.calculateIobArrayInDia(profile);
Profiler.log(aapsLogger, LTag.APS, "calculateIobArrayInDia()", startPart); profiler.log(LTag.APS, "calculateIobArrayInDia()", startPart);
startPart = System.currentTimeMillis(); startPart = System.currentTimeMillis();
MealData mealData = iobCobCalculatorPlugin.getMealData(); MealData mealData = iobCobCalculatorPlugin.getMealData();
Profiler.log(aapsLogger, LTag.APS, "getMealData()", startPart); profiler.log(LTag.APS, "getMealData()", startPart);
double maxIob = constraintChecker.getMaxIOBAllowed().value(); double maxIob = constraintChecker.getMaxIOBAllowed().value();
@ -206,8 +212,8 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface {
lastAutosensResult = new AutosensResult(); lastAutosensResult = new AutosensResult();
lastAutosensResult.sensResult = "autosens disabled"; lastAutosensResult.sensResult = "autosens disabled";
} }
Profiler.log(aapsLogger, LTag.APS, "detectSensitivityandCarbAbsorption()", startPart); profiler.log(LTag.APS, "detectSensitivityandCarbAbsorption()", startPart);
Profiler.log(aapsLogger, LTag.APS, "AMA data gathering", start); profiler.log(LTag.APS, "AMA data gathering", start);
start = System.currentTimeMillis(); start = System.currentTimeMillis();
@ -217,13 +223,13 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface {
isTempTarget isTempTarget
); );
} catch (JSONException e) { } catch (JSONException e) {
FabricPrivacy.getInstance().logException(e); fabricPrivacy.logException(e);
return; return;
} }
DetermineBasalResultAMA determineBasalResultAMA = determineBasalAdapterAMAJS.invoke(); DetermineBasalResultAMA determineBasalResultAMA = determineBasalAdapterAMAJS.invoke();
Profiler.log(aapsLogger, LTag.APS, "AMA calculation", start); profiler.log(LTag.APS, "AMA calculation", start);
// Fix bug determine basal // Fix bug determine basal
if (determineBasalResultAMA == null) { if (determineBasalResultAMA == null) {
aapsLogger.error(LTag.APS, "SMB calculation returned null"); aapsLogger.error(LTag.APS, "SMB calculation returned null");

View file

@ -54,6 +54,8 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
private final TreatmentsPlugin treatmentsPlugin; private final TreatmentsPlugin treatmentsPlugin;
private final IobCobCalculatorPlugin iobCobCalculatorPlugin; private final IobCobCalculatorPlugin iobCobCalculatorPlugin;
private final HardLimits hardLimits; private final HardLimits hardLimits;
private final Profiler profiler;
private final FabricPrivacy fabricPrivacy;
// last values // last values
DetermineBasalAdapterSMBJS lastDetermineBasalAdapterSMBJS = null; DetermineBasalAdapterSMBJS lastDetermineBasalAdapterSMBJS = null;
@ -73,7 +75,9 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
ActivePluginProvider activePlugin, ActivePluginProvider activePlugin,
TreatmentsPlugin treatmentsPlugin, TreatmentsPlugin treatmentsPlugin,
IobCobCalculatorPlugin iobCobCalculatorPlugin, IobCobCalculatorPlugin iobCobCalculatorPlugin,
HardLimits hardLimits HardLimits hardLimits,
Profiler profiler,
FabricPrivacy fabricPrivacy
) { ) {
super(new PluginDescription() super(new PluginDescription()
.mainType(PluginType.APS) .mainType(PluginType.APS)
@ -94,6 +98,8 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
this.treatmentsPlugin = treatmentsPlugin; this.treatmentsPlugin = treatmentsPlugin;
this.iobCobCalculatorPlugin = iobCobCalculatorPlugin; this.iobCobCalculatorPlugin = iobCobCalculatorPlugin;
this.hardLimits = hardLimits; this.hardLimits = hardLimits;
this.profiler = profiler;
this.fabricPrivacy = fabricPrivacy;
} }
@Override @Override
@ -168,7 +174,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
long startPart = System.currentTimeMillis(); long startPart = System.currentTimeMillis();
MealData mealData = iobCobCalculatorPlugin.getMealData(); MealData mealData = iobCobCalculatorPlugin.getMealData();
Profiler.log(getAapsLogger(), LTag.APS, "getMealData()", startPart); profiler.log(LTag.APS, "getMealData()", startPart);
Constraint<Double> maxIOBAllowedConstraint = constraintChecker.getMaxIOBAllowed(); Constraint<Double> maxIOBAllowedConstraint = constraintChecker.getMaxIOBAllowed();
inputConstraints.copyReasons(maxIOBAllowedConstraint); inputConstraints.copyReasons(maxIOBAllowedConstraint);
@ -213,7 +219,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
} }
IobTotal[] iobArray = iobCobCalculatorPlugin.calculateIobArrayForSMB(lastAutosensResult, SMBDefaults.exercise_mode, SMBDefaults.half_basal_exercise_target, isTempTarget); IobTotal[] iobArray = iobCobCalculatorPlugin.calculateIobArrayForSMB(lastAutosensResult, SMBDefaults.exercise_mode, SMBDefaults.half_basal_exercise_target, isTempTarget);
Profiler.log(getAapsLogger(), LTag.APS, "calculateIobArrayInDia()", startPart); profiler.log(LTag.APS, "calculateIobArrayInDia()", startPart);
startPart = System.currentTimeMillis(); startPart = System.currentTimeMillis();
Constraint<Boolean> smbAllowed = new Constraint<>(!tempBasalFallback); Constraint<Boolean> smbAllowed = new Constraint<>(!tempBasalFallback);
@ -228,8 +234,8 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
constraintChecker.isUAMEnabled(uam); constraintChecker.isUAMEnabled(uam);
inputConstraints.copyReasons(uam); inputConstraints.copyReasons(uam);
Profiler.log(getAapsLogger(), LTag.APS, "detectSensitivityandCarbAbsorption()", startPart); profiler.log(LTag.APS, "detectSensitivityandCarbAbsorption()", startPart);
Profiler.log(getAapsLogger(), LTag.APS, "SMB data gathering", start); profiler.log(LTag.APS, "SMB data gathering", start);
start = System.currentTimeMillis(); start = System.currentTimeMillis();
try { try {
@ -241,14 +247,14 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface, Constr
advancedFiltering.value() advancedFiltering.value()
); );
} catch (JSONException e) { } catch (JSONException e) {
FabricPrivacy.getInstance().logException(e); fabricPrivacy.logException(e);
return; return;
} }
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
DetermineBasalResultSMB determineBasalResultSMB = determineBasalAdapterSMBJS.invoke(); DetermineBasalResultSMB determineBasalResultSMB = determineBasalAdapterSMBJS.invoke();
Profiler.log(getAapsLogger(), LTag.APS, "SMB calculation", start); profiler.log(LTag.APS, "SMB calculation", start);
if (determineBasalResultSMB == null) { if (determineBasalResultSMB == null) {
getAapsLogger().error(LTag.APS, "SMB calculation returned null"); getAapsLogger().error(LTag.APS, "SMB calculation returned null");
lastDetermineBasalAdapterSMBJS = null; lastDetermineBasalAdapterSMBJS = null;

View file

@ -23,7 +23,6 @@ import info.nightscout.androidaps.db.TempTarget;
import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.events.Event;
import info.nightscout.androidaps.interfaces.ActivePluginProvider; import info.nightscout.androidaps.interfaces.ActivePluginProvider;
import info.nightscout.androidaps.logging.AAPSLogger; import info.nightscout.androidaps.logging.AAPSLogger;
import info.nightscout.androidaps.logging.L;
import info.nightscout.androidaps.logging.LTag; import info.nightscout.androidaps.logging.LTag;
import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults; import info.nightscout.androidaps.plugins.aps.openAPSSMB.SMBDefaults;
import info.nightscout.androidaps.plugins.bus.RxBusWrapper; import info.nightscout.androidaps.plugins.bus.RxBusWrapper;
@ -66,6 +65,8 @@ public class IobCobOref1Thread extends Thread {
@Inject SensitivityAAPSPlugin sensitivityAAPSPlugin; @Inject SensitivityAAPSPlugin sensitivityAAPSPlugin;
@Inject SensitivityWeightedAveragePlugin sensitivityWeightedAveragePlugin; @Inject SensitivityWeightedAveragePlugin sensitivityWeightedAveragePlugin;
@Inject BuildHelper buildHelper; @Inject BuildHelper buildHelper;
@Inject Profiler profiler;
@Inject FabricPrivacy fabricPrivacy;
private final HasAndroidInjector injector; private final HasAndroidInjector injector;
private boolean bgDataReload; private boolean bgDataReload;
@ -222,7 +223,7 @@ public class IobCobOref1Thread extends Thread {
} }
} catch (Exception e) { } catch (Exception e) {
aapsLogger.error("Unhandled exception", e); aapsLogger.error("Unhandled exception", e);
FabricPrivacy.getInstance().logException(e); fabricPrivacy.logException(e);
aapsLogger.debug(autosensDataTable.toString()); aapsLogger.debug(autosensDataTable.toString());
aapsLogger.debug(bucketed_data.toString()); aapsLogger.debug(bucketed_data.toString());
aapsLogger.debug(iobCobCalculatorPlugin.getBgReadings().toString()); aapsLogger.debug(iobCobCalculatorPlugin.getBgReadings().toString());
@ -391,7 +392,7 @@ public class IobCobOref1Thread extends Thread {
rxBus.send(new EventIobCalculationProgress("")); rxBus.send(new EventIobCalculationProgress(""));
aapsLogger.debug(LTag.AUTOSENS, "AUTOSENSDATA thread ended: " + from); aapsLogger.debug(LTag.AUTOSENS, "AUTOSENSDATA thread ended: " + from);
aapsLogger.debug(LTag.AUTOSENS, "Midnights: " + MidnightTime.log()); aapsLogger.debug(LTag.AUTOSENS, "Midnights: " + MidnightTime.log());
Profiler.log(aapsLogger, LTag.AUTOSENS, "IobCobOref1Thread", start); profiler.log(LTag.AUTOSENS, "IobCobOref1Thread", start);
} }
} }
} }

View file

@ -62,6 +62,8 @@ public class IobCobThread extends Thread {
@Inject SensitivityAAPSPlugin sensitivityAAPSPlugin; @Inject SensitivityAAPSPlugin sensitivityAAPSPlugin;
@Inject SensitivityWeightedAveragePlugin sensitivityWeightedAveragePlugin; @Inject SensitivityWeightedAveragePlugin sensitivityWeightedAveragePlugin;
@Inject BuildHelper buildHelper; @Inject BuildHelper buildHelper;
@Inject Profiler profiler;
@Inject FabricPrivacy fabricPrivacy;
private final HasAndroidInjector injector; private final HasAndroidInjector injector;
private boolean bgDataReload; private boolean bgDataReload;
@ -218,7 +220,7 @@ public class IobCobThread extends Thread {
} }
} catch (Exception e) { } catch (Exception e) {
aapsLogger.error("Unhandled exception", e); aapsLogger.error("Unhandled exception", e);
FabricPrivacy.getInstance().logException(e); fabricPrivacy.logException(e);
aapsLogger.debug(autosensDataTable.toString()); aapsLogger.debug(autosensDataTable.toString());
aapsLogger.debug(bucketed_data.toString()); aapsLogger.debug(bucketed_data.toString());
aapsLogger.debug(iobCobCalculatorPlugin.getBgReadings().toString()); aapsLogger.debug(iobCobCalculatorPlugin.getBgReadings().toString());
@ -314,7 +316,7 @@ public class IobCobThread extends Thread {
rxBus.send(new EventIobCalculationProgress("")); rxBus.send(new EventIobCalculationProgress(""));
aapsLogger.debug(LTag.AUTOSENS, "AUTOSENSDATA thread ended: " + from); aapsLogger.debug(LTag.AUTOSENS, "AUTOSENSDATA thread ended: " + from);
aapsLogger.debug(LTag.AUTOSENS, "Midnights: " + MidnightTime.log()); aapsLogger.debug(LTag.AUTOSENS, "Midnights: " + MidnightTime.log());
Profiler.log(aapsLogger, LTag.AUTOSENS, "IobCobThread", start); profiler.log(LTag.AUTOSENS, "IobCobThread", start);
} }
} }

View file

@ -1,26 +0,0 @@
package info.nightscout.androidaps.utils;
import org.slf4j.Logger;
import info.nightscout.androidaps.logging.AAPSLogger;
import info.nightscout.androidaps.logging.LTag;
/**
* Created by mike on 29.01.2017.
*/
public class Profiler {
public Profiler() {
}
@Deprecated
static public void log(Logger log, String function, long start) {
long msec = System.currentTimeMillis() - start;
log.debug(">>> " + function + " <<< executed in " + msec + " miliseconds");
}
static public void log(AAPSLogger log, LTag lTag, String function, long start) {
long msec = System.currentTimeMillis() - start;
log.debug(lTag, ">>> " + function + " <<< executed in " + msec + " miliseconds");
}
}

View file

@ -0,0 +1,15 @@
package info.nightscout.androidaps.utils
import info.nightscout.androidaps.logging.AAPSLogger
import info.nightscout.androidaps.logging.LTag
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
class Profiler @Inject constructor(val aapsLogger: AAPSLogger) {
fun log(lTag: LTag, function: String, start: Long) {
val msec = System.currentTimeMillis() - start
aapsLogger.debug(lTag, ">>> $function <<< executed in $msec miliseconds")
}
}

View file

@ -10,7 +10,6 @@ import info.nightscout.androidaps.logging.L
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunction import info.nightscout.androidaps.plugins.configBuilder.ProfileFunction
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus
import info.nightscout.androidaps.utils.DefaultValueHelper import info.nightscout.androidaps.utils.DefaultValueHelper
import info.nightscout.androidaps.utils.SP
import info.nightscout.androidaps.utils.resources.ResourceHelper import info.nightscout.androidaps.utils.resources.ResourceHelper
import org.junit.Assert import org.junit.Assert
import org.junit.Before import org.junit.Before
@ -27,7 +26,7 @@ import java.util.*
import java.util.logging.Logger import java.util.logging.Logger
@RunWith(PowerMockRunner::class) @RunWith(PowerMockRunner::class)
@PrepareForTest(MainApp::class, Logger::class, L::class, SP::class, GlucoseStatus::class) @PrepareForTest(MainApp::class, Logger::class, L::class, GlucoseStatus::class)
class BgReadingTest : TestBase() { class BgReadingTest : TestBase() {
@Mock lateinit var defaultValueHelper: DefaultValueHelper @Mock lateinit var defaultValueHelper: DefaultValueHelper