Avoid AutotuneRun from automation if Run detected
This commit is contained in:
parent
96ed234020
commit
10d92b89fd
|
@ -105,7 +105,7 @@ android {
|
|||
defaultConfig {
|
||||
multiDexEnabled true
|
||||
versionCode 1500
|
||||
version "3.0.0.2-dev-n"
|
||||
version "3.0.0.2-autotune-dev-n0"
|
||||
buildConfigField "String", "VERSION", '"' + version + '"'
|
||||
buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"'
|
||||
buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"'
|
||||
|
|
|
@ -100,7 +100,6 @@ class AutotuneFragment : DaggerFragment() {
|
|||
)
|
||||
binding.autotuneRun.setOnClickListener {
|
||||
val daysBack = SafeParse.stringToInt(binding.tuneDays.text)
|
||||
autotunePlugin.calculationRunning = true
|
||||
autotunePlugin.lastNbDays = daysBack.toString()
|
||||
log("Run Autotune $profileName, $daysBack days")
|
||||
Thread {
|
||||
|
|
|
@ -22,6 +22,7 @@ import info.nightscout.androidaps.utils.MidnightTime
|
|||
import info.nightscout.androidaps.utils.T
|
||||
import info.nightscout.androidaps.interfaces.BuildHelper
|
||||
import info.nightscout.shared.logging.AAPSLogger
|
||||
import info.nightscout.shared.logging.LTag
|
||||
import info.nightscout.shared.sharedPreferences.SP
|
||||
import org.json.JSONException
|
||||
import org.json.JSONObject
|
||||
|
@ -65,7 +66,7 @@ class AutotunePlugin @Inject constructor(
|
|||
), Autotune {
|
||||
@Volatile override var lastRunSuccess: Boolean = false
|
||||
@Volatile var result: String = ""
|
||||
@Volatile var calculationRunning: Boolean = false
|
||||
@Volatile override var calculationRunning: Boolean = false
|
||||
@Volatile var lastRun: Long = 0
|
||||
@Volatile var selectedProfile = ""
|
||||
@Volatile var lastNbDays: String = ""
|
||||
|
@ -76,9 +77,12 @@ class AutotunePlugin @Inject constructor(
|
|||
private lateinit var profile: Profile
|
||||
val autotuneStartHour: Int = 4
|
||||
|
||||
@Synchronized
|
||||
override fun aapsAutotune(daysBack: Int, autoSwitch: Boolean, profileToTune: String) {
|
||||
lastRunSuccess = false
|
||||
if (calculationRunning) {
|
||||
aapsLogger.debug(LTag.AUTOMATION, "Autotune run detected, Autotune Run Cancelled")
|
||||
return
|
||||
}
|
||||
calculationRunning = true
|
||||
tunedProfile = null
|
||||
updateButtonVisibility = View.GONE
|
||||
|
|
|
@ -42,13 +42,19 @@ class ActionRunAutotune(injector: HasAndroidInjector) : Action(injector) {
|
|||
val profileName = if (inputProfileName.value == rh.gs(R.string.active)) "" else inputProfileName.value
|
||||
var message = if (autoSwitch) R.string.autotune_run_with_autoswitch else R.string.autotune_run_without_autoswitch
|
||||
Thread {
|
||||
autotunePlugin.atLog("[Automation] Run Autotune $profileName, ${daysBack.value} days, Autoswitch $autoSwitch")
|
||||
autotunePlugin.aapsAutotune(daysBack.value, autoSwitch, profileName)
|
||||
if (!autotunePlugin.lastRunSuccess) {
|
||||
message = R.string.autotune_run_with_error
|
||||
aapsLogger.error(LTag.AUTOMATION, "Error during Autotune Run")
|
||||
if (!autotunePlugin.calculationRunning) {
|
||||
autotunePlugin.atLog("[Automation] Run Autotune $profileName, ${daysBack.value} days, Autoswitch $autoSwitch")
|
||||
autotunePlugin.aapsAutotune(daysBack.value, autoSwitch, profileName)
|
||||
if (!autotunePlugin.lastRunSuccess) {
|
||||
message = R.string.autotune_run_with_error
|
||||
aapsLogger.error(LTag.AUTOMATION, "Error during Autotune Run")
|
||||
}
|
||||
callback.result(PumpEnactResult(injector).success(autotunePlugin.lastRunSuccess).comment(message)).run()
|
||||
} else {
|
||||
message = R.string.autotune_run_cancelled
|
||||
aapsLogger.debug(LTag.AUTOMATION, "Autotune run detected, Autotune Run Cancelled")
|
||||
callback.result(PumpEnactResult(injector).success(false).comment(message)).run()
|
||||
}
|
||||
callback.result(PumpEnactResult(injector).success(autotunePlugin.lastRunSuccess).comment(message)).run()
|
||||
}.start()
|
||||
return
|
||||
}
|
||||
|
|
|
@ -6,4 +6,5 @@ interface Autotune {
|
|||
fun atLog(message: String)
|
||||
|
||||
var lastRunSuccess: Boolean
|
||||
var calculationRunning: Boolean
|
||||
}
|
|
@ -600,6 +600,7 @@
|
|||
<string name="autotune_run_without_autoswitch">Autotune runned without profile switch</string>
|
||||
<string name="autotune_run_with_autoswitch">Autotune runned and profile automatically switched</string>
|
||||
<string name="autotune_run_with_error">Error during last Autotune run</string>
|
||||
<string name="autotune_run_cancelled">Another run of Autotune is detected, run cancelled</string>
|
||||
|
||||
<plurals name="days">
|
||||
<item quantity="one">%1$d day</item>
|
||||
|
|
Loading…
Reference in a new issue