Add Rule Title in UserEntry for Automation (as note)

This commit is contained in:
Philoul 2021-04-03 13:35:15 +02:00
parent 206bac6da8
commit 1f4b75a30d
10 changed files with 11 additions and 8 deletions

View file

@ -203,6 +203,7 @@ class AutomationPlugin @Inject constructor(
if (event.systemAction || userEventsEnabled) { if (event.systemAction || userEventsEnabled) {
val actions = event.actions val actions = event.actions
for (action in actions) { for (action in actions) {
action.title = event.title
if (action.isValid()) if (action.isValid())
action.doAction(object : Callback() { action.doAction(object : Callback() {
override fun run() { override fun run() {

View file

@ -23,6 +23,8 @@ abstract class Action(val injector: HasAndroidInjector) {
abstract fun isValid(): Boolean abstract fun isValid(): Boolean
@DrawableRes abstract fun icon(): Int @DrawableRes abstract fun icon(): Int
var title = ""
init { init {
injector.androidInjector().inject(this) injector.androidInjector().inject(this)
} }

View file

@ -34,7 +34,7 @@ class ActionLoopDisable(injector: HasAndroidInjector) : Action(injector) {
if ((loopPlugin as PluginBase).isEnabled()) { if ((loopPlugin as PluginBase).isEnabled()) {
(loopPlugin as PluginBase).setPluginEnabled(PluginType.LOOP, false) (loopPlugin as PluginBase).setPluginEnabled(PluginType.LOOP, false)
configBuilderPlugin.storeSettings("ActionLoopDisable") configBuilderPlugin.storeSettings("ActionLoopDisable")
uel.log(UserEntry.Action.LOOP_DISABLED, Sources.Automation) uel.log(UserEntry.Action.LOOP_DISABLED, Sources.Automation, title)
commandQueue.cancelTempBasal(true, object : Callback() { commandQueue.cancelTempBasal(true, object : Callback() {
override fun run() { override fun run() {
rxBus.send(EventRefreshOverview("ActionLoopDisable")) rxBus.send(EventRefreshOverview("ActionLoopDisable"))

View file

@ -34,7 +34,7 @@ class ActionLoopEnable(injector: HasAndroidInjector) : Action(injector) {
(loopPlugin as PluginBase).setPluginEnabled(PluginType.LOOP, true) (loopPlugin as PluginBase).setPluginEnabled(PluginType.LOOP, true)
configBuilderPlugin.storeSettings("ActionLoopEnable") configBuilderPlugin.storeSettings("ActionLoopEnable")
rxBus.send(EventRefreshOverview("ActionLoopEnable")) rxBus.send(EventRefreshOverview("ActionLoopEnable"))
uel.log(UserEntry.Action.LOOP_ENABLED, Sources.Automation) uel.log(UserEntry.Action.LOOP_ENABLED, Sources.Automation, title)
callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok))?.run() callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok))?.run()
} else { } else {
callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadyenabled))?.run() callback.result(PumpEnactResult(injector).success(true).comment(R.string.alreadyenabled))?.run()

View file

@ -32,7 +32,7 @@ class ActionLoopResume(injector: HasAndroidInjector) : Action(injector) {
configBuilderPlugin.storeSettings("ActionLoopResume") configBuilderPlugin.storeSettings("ActionLoopResume")
loopPlugin.createOfflineEvent(0) loopPlugin.createOfflineEvent(0)
rxBus.send(EventRefreshOverview("ActionLoopResume")) rxBus.send(EventRefreshOverview("ActionLoopResume"))
uel.log(UserEntry.Action.RESUME, Sources.Automation) uel.log(UserEntry.Action.RESUME, Sources.Automation, title)
callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok))?.run() callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok))?.run()
} else { } else {
callback.result(PumpEnactResult(injector).success(true).comment(R.string.notsuspended))?.run() callback.result(PumpEnactResult(injector).success(true).comment(R.string.notsuspended))?.run()

View file

@ -37,7 +37,7 @@ class ActionLoopSuspend(injector: HasAndroidInjector) : Action(injector) {
if (!loopPlugin.isSuspended) { if (!loopPlugin.isSuspended) {
loopPlugin.suspendLoop(minutes.getMinutes()) loopPlugin.suspendLoop(minutes.getMinutes())
rxBus.send(EventRefreshOverview("ActionLoopSuspend")) rxBus.send(EventRefreshOverview("ActionLoopSuspend"))
uel.log(UserEntry.Action.SUSPEND, Sources.Automation, uel.log(UserEntry.Action.SUSPEND, Sources.Automation, title,
XXXValueWithUnit.StringResource(R.string.suspendloopforXmin, listOf(XXXValueWithUnit.Minute(minutes.getMinutes())))) XXXValueWithUnit.StringResource(R.string.suspendloopforXmin, listOf(XXXValueWithUnit.Minute(minutes.getMinutes()))))
callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok))?.run() callback.result(PumpEnactResult(injector).success(true).comment(R.string.ok))?.run()
} else { } else {

View file

@ -58,7 +58,7 @@ class ActionProfileSwitch(injector: HasAndroidInjector) : Action(injector) {
callback.result(PumpEnactResult(injector).success(false).comment(R.string.notexists))?.run() callback.result(PumpEnactResult(injector).success(false).comment(R.string.notexists))?.run()
return return
} }
uel.log(UserEntry.Action.PROFILE_SWITCH, Sources.Automation, uel.log(UserEntry.Action.PROFILE_SWITCH, Sources.Automation, title,
XXXValueWithUnit.SimpleString(inputProfileName.value), XXXValueWithUnit.SimpleString(inputProfileName.value),
XXXValueWithUnit.Percent(100)) XXXValueWithUnit.Percent(100))
activePlugin.activeTreatments.doProfileSwitch(profileStore, inputProfileName.value, 0, 100, 0, DateUtil.now()) activePlugin.activeTreatments.doProfileSwitch(profileStore, inputProfileName.value, 0, 100, 0, DateUtil.now())

View file

@ -42,7 +42,7 @@ class ActionProfileSwitchPercent(injector: HasAndroidInjector) : Action(injector
} }
override fun doAction(callback: Callback) { override fun doAction(callback: Callback) {
uel.log(UserEntry.Action.PROFILE_SWITCH, Sources.Automation, uel.log(UserEntry.Action.PROFILE_SWITCH, Sources.Automation, title,
if (duration.value == 0) XXXValueWithUnit.StringResource( R.string.startprofileforever, listOf(XXXValueWithUnit.Percent(pct.value.toInt()))) if (duration.value == 0) XXXValueWithUnit.StringResource( R.string.startprofileforever, listOf(XXXValueWithUnit.Percent(pct.value.toInt())))
else XXXValueWithUnit.StringResource( R.string.startprofile, listOf(XXXValueWithUnit.Percent(pct.value.toInt()), XXXValueWithUnit.Minute(duration.value)))) else XXXValueWithUnit.StringResource( R.string.startprofile, listOf(XXXValueWithUnit.Percent(pct.value.toInt()), XXXValueWithUnit.Minute(duration.value))))
activePlugin.activeTreatments.doProfileSwitch(duration.value, pct.value.toInt(), 0) activePlugin.activeTreatments.doProfileSwitch(duration.value, pct.value.toInt(), 0)

View file

@ -61,7 +61,7 @@ class ActionStartTempTarget(injector: HasAndroidInjector) : Action(injector) {
.subscribe({ result -> .subscribe({ result ->
result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted temp target $it") } result.inserted.forEach { aapsLogger.debug(LTag.DATABASE, "Inserted temp target $it") }
result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") } result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") }
uel.log(UserEntry.Action.TT, Sources.Automation, uel.log(UserEntry.Action.TT, Sources.Automation, title,
XXXValueWithUnit.TherapyEventTTReason(TemporaryTarget.Reason.AUTOMATION), XXXValueWithUnit.TherapyEventTTReason(TemporaryTarget.Reason.AUTOMATION),
XXXValueWithUnit.fromGlucoseUnit(tt().lowTarget, Constants.MGDL), XXXValueWithUnit.fromGlucoseUnit(tt().lowTarget, Constants.MGDL),
XXXValueWithUnit.fromGlucoseUnit(tt().highTarget, Constants.MGDL).takeIf { tt().lowTarget != tt().highTarget }, XXXValueWithUnit.fromGlucoseUnit(tt().highTarget, Constants.MGDL).takeIf { tt().lowTarget != tt().highTarget },

View file

@ -32,7 +32,7 @@ class ActionStopTempTarget(injector: HasAndroidInjector) : Action(injector) {
override fun doAction(callback: Callback) { override fun doAction(callback: Callback) {
disposable += repository.runTransactionForResult(CancelCurrentTemporaryTargetIfAnyTransaction(dateUtil._now())) disposable += repository.runTransactionForResult(CancelCurrentTemporaryTargetIfAnyTransaction(dateUtil._now()))
.subscribe({ result -> .subscribe({ result ->
uel.log(UserEntry.Action.CANCEL_TT, Sources.Automation) uel.log(UserEntry.Action.CANCEL_TT, Sources.Automation, title)
result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") } result.updated.forEach { aapsLogger.debug(LTag.DATABASE, "Updated temp target $it") }
}, { }, {
aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it) aapsLogger.error(LTag.DATABASE, "Error while saving temporary target", it)