Solved a bug with tasks that are meant to not trigger right away

This commit is contained in:
anschrammh 2019-10-10 18:20:51 +02:00
parent 45b7a6245c
commit dc21169fbd

View File

@ -11,7 +11,7 @@ TaskSchedulerManagerHelper::Schedule::Schedule() :
_triggerType(TRIGGER_REPEAT), _triggerType(TRIGGER_REPEAT),
_mode(EVERY), _mode(EVERY),
_enabled(true), _enabled(true),
_millis(0), _millis(millis()),
_everyMillis(1000), _everyMillis(1000),
_dateTime(NULL) _dateTime(NULL)
{ {
@ -27,7 +27,7 @@ TaskSchedulerManagerHelper::Schedule::Schedule(const TaskSchedulerManagerHelper:
_triggerType(Object._triggerType), _triggerType(Object._triggerType),
_mode(Object._mode), _mode(Object._mode),
_enabled(Object._enabled), _enabled(Object._enabled),
_millis(0), _millis(Object._millis),
_everyMillis(Object._everyMillis), _everyMillis(Object._everyMillis),
_dateTime(NULL) _dateTime(NULL)
{ {
@ -214,7 +214,7 @@ void TaskSchedulerManager::runTaskScheduler()
if(p->schedule._triggerType != TaskSchedulerManagerHelper::Schedule::TRIGGER_ONCE_AND_DELETE)_nextTaskIndexToBeRun++; if(p->schedule._triggerType != TaskSchedulerManagerHelper::Schedule::TRIGGER_ONCE_AND_DELETE)_nextTaskIndexToBeRun++;
else if(p->schedule._triggerType == TaskSchedulerManagerHelper::Schedule::TRIGGER_ONCE_AND_DELETE && !(p->schedule._triggered))_nextTaskIndexToBeRun++; else if(p->schedule._triggerType == TaskSchedulerManagerHelper::Schedule::TRIGGER_ONCE_AND_DELETE && !(p->schedule._triggered))_nextTaskIndexToBeRun++;
else if(p->schedule._triggerType == TaskSchedulerManagerHelper::Schedule::TRIGGER_ONCE_AND_DELETE && p->schedule._triggered) //If the task has to be deleted after executing and if it has been executed, we delete it else if(p->schedule._triggerType == TaskSchedulerManagerHelper::Schedule::TRIGGER_ONCE_AND_DELETE && p->schedule._triggered) //If the task has to be deleted after it has been executed and if it has, we delete it
{ {
_taskDataDictio.removeAt(_nextTaskIndexToBeRun); _taskDataDictio.removeAt(_nextTaskIndexToBeRun);
} }