diff --git a/app/src/main/assets/logback.xml b/app/src/main/assets/logback.xml index f6d9d15eae..0e2bf53ac5 100644 --- a/app/src/main/assets/logback.xml +++ b/app/src/main/assets/logback.xml @@ -1,11 +1,12 @@ + - /storage/sdcard0/AndroidAPS/AndroidAPS.log + ${EXT_FILES_DIR}/AndroidAPS.log - /storage/sdcard0/AndroidAPS/AndroidAPS._%d{yyyy-MM-dd}.%i.log + ${EXT_FILES_DIR}/AndroidAPS._%d{yyyy-MM-dd}.%i.log 5MB @@ -32,4 +33,4 @@ - \ No newline at end of file + diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterJS.java index 1273366895..68b14089c3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterJS.java @@ -96,10 +96,11 @@ public class DetermineBasalAdapterJS { mV8rt.executeVoidScript( "console.error(\"determine_basal(\"+\n" + "JSON.stringify(" + PARAM_glucoseStatus + ")+ \", \" +\n" + - "JSON.stringify(" + PARAM_currentTemp + ")+ \", \" + \n" + - "JSON.stringify(" + PARAM_iobData + ")+ \", \" +\n" + - "JSON.stringify(" + PARAM_meal_data + ")+ \", \" +\n" + - "JSON.stringify(" + PARAM_profile + ")+ \") \");"); + "JSON.stringify(" + PARAM_currentTemp + ")+ \", \" +\n" + + "JSON.stringify(" + PARAM_iobData + ")+ \", \" +\n" + + "JSON.stringify(" + PARAM_profile + ")+ \", \" +\n" + + "JSON.stringify(" + PARAM_meal_data + ")+ \") \");" + ); mV8rt.executeVoidScript( "var rT = determine_basal(" + PARAM_glucoseStatus + ", " + @@ -127,13 +128,32 @@ public class DetermineBasalAdapterJS { return result; } + String getGlucoseStatusParam() { + return mV8rt.executeStringScript("JSON.stringify(" + PARAM_glucoseStatus + ");"); + } + + String getCurrentTempParam() { + return mV8rt.executeStringScript("JSON.stringify(" + PARAM_currentTemp + ");"); + } + + String getIobDataParam() { + return mV8rt.executeStringScript("JSON.stringify(" + PARAM_iobData + ");"); + } + + String getProfileParam() { + return mV8rt.executeStringScript("JSON.stringify(" + PARAM_profile + ");"); + } + + String getMealDataParam() { + return mV8rt.executeStringScript("JSON.stringify(" + PARAM_meal_data + ");"); + } + private void loadScript() throws IOException { mV8rt.executeVoidScript( readFile("OpenAPSMA/determine-basal.js"), "OpenAPSMA/bin/oref0-determine-basal.js", 0); mV8rt.executeVoidScript("var determine_basal = module.exports;"); - // TODO: convert to variable too mV8rt.executeVoidScript( "var setTempBasal = function (rate, duration, profile, rT, offline) {" + "rT.duration = duration;\n" + diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java index 4bfa8cc361..5cd97d22ee 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java @@ -9,6 +9,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import android.widget.TextView; import com.squareup.otto.Subscribe; @@ -41,6 +42,13 @@ public class OpenAPSMAFragment extends Fragment implements View.OnClickListener, private static Logger log = LoggerFactory.getLogger(OpenAPSMAFragment.class); Button run; + TextView lastRunView; + TextView glucoseStatusView; + TextView currentTempView; + TextView iobDataView; + TextView profileView; + TextView mealDataView; + TextView resultView; Date lastAPSRun = null; APSResult lastAPSResult = null; @@ -83,6 +91,13 @@ public class OpenAPSMAFragment extends Fragment implements View.OnClickListener, run = (Button) view.findViewById(R.id.openapsma_run); run.setOnClickListener(this); + lastRunView = (TextView) view.findViewById(R.id.openapsma_lastrun); + glucoseStatusView = (TextView) view.findViewById(R.id.openapsma_glucosestatus); + currentTempView = (TextView) view.findViewById(R.id.openapsma_currenttemp); + iobDataView = (TextView) view.findViewById(R.id.openapsma_iobdata); + profileView = (TextView) view.findViewById(R.id.openapsma_profile); + mealDataView = (TextView) view.findViewById(R.id.openapsma_mealdata); + resultView = (TextView) view.findViewById(R.id.openapsma_result); return view; } @@ -127,7 +142,7 @@ public class OpenAPSMAFragment extends Fragment implements View.OnClickListener, activity.runOnUiThread(new Runnable() { @Override public void run() { - run(); + invoke(); } }); else @@ -192,7 +207,18 @@ public class OpenAPSMAFragment extends Fragment implements View.OnClickListener, TreatmentsFragment.MealData mealData = MainActivity.treatmentsFragment.getMealData(); determineBasalAdapterJS.setData(profile, maxIob, maxBasal, minBg, maxBg, pump, iobTotal, glucoseStatus, mealData); + + glucoseStatusView.setText(determineBasalAdapterJS.getGlucoseStatusParam()); + currentTempView.setText(determineBasalAdapterJS.getCurrentTempParam()); + iobDataView.setText(determineBasalAdapterJS.getIobDataParam()); + profileView.setText(determineBasalAdapterJS.getProfileParam()); + mealDataView.setText(determineBasalAdapterJS.getMealDataParam()); + DetermineBasalResult determineBasalResult = determineBasalAdapterJS.invoke(); + + resultView.setText(determineBasalResult.json.toString()); + lastRunView.setText(new Date().toLocaleString()); + determineBasalAdapterJS.release(); try { diff --git a/app/src/main/res/layout/openapsma_fragment.xml b/app/src/main/res/layout/openapsma_fragment.xml index f663518f55..6211029393 100644 --- a/app/src/main/res/layout/openapsma_fragment.xml +++ b/app/src/main/res/layout/openapsma_fragment.xml @@ -4,16 +4,146 @@ android:layout_height="match_parent" tools:context="info.nightscout.androidaps.plugins.OpenAPSMA.OpenAPSMAFragment"> - + android:layout_height="wrap_content" > -