This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jtimer. See https://gitlab.nuiton.org/chorem/jtimer.git commit aaddad8e81abb758df464a935ced129e39dc76a1 Author: Eric Chatellier <chatellier@codelutin.com> Date: Wed Aug 3 09:34:57 2016 +0200 fixes #1366: Prevent to set a negative time after resume from suspend --- src/main/java/org/chorem/jtimer/ui/tasks/RunTaskJob.java | 4 +++- .../chorem/jtimer/ui/treetable/ProjectsAndTasksModel.java | 12 ------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/chorem/jtimer/ui/tasks/RunTaskJob.java b/src/main/java/org/chorem/jtimer/ui/tasks/RunTaskJob.java index 1c3414b..3602a32 100644 --- a/src/main/java/org/chorem/jtimer/ui/tasks/RunTaskJob.java +++ b/src/main/java/org/chorem/jtimer/ui/tasks/RunTaskJob.java @@ -263,7 +263,9 @@ public class RunTaskJob extends Task<Void, Void> { Date todayMidnight = DateUtils.truncate(currentDate, Calendar.DAY_OF_MONTH); long msToMidnight = currentDate.getTime() - todayMidnight.getTime(); long toRemove = Math.min(-localDelta, msToMidnight); - dataManager.changeTaskTime(task, currentDate, task.getTime(currentDate) - toRemove); + // FIXME there is a little bug in the algorithm. Can set a time to -1 in some case + long newTaskTime = Math.max(0, task.getTime(currentDate) - toRemove); + dataManager.changeTaskTime(task, currentDate, newTaskTime); if (log.isDebugEnabled()) { log.debug(" remove delta to task on " + currentDate + " : " + toRemove); } diff --git a/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksModel.java b/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksModel.java index 18b08f6..1fa7b7f 100644 --- a/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksModel.java +++ b/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksModel.java @@ -140,22 +140,10 @@ public class ProjectsAndTasksModel extends AbstractTreeTableModel implements break; case 1: long duration = TimerTaskHelper.getTotalTime(task, new Date()); - if (duration < 0) { - if (log.isWarnEnabled()) { - log.warn("Trying to format negative duration for task : " + duration); - } - duration = 0; - } value = DurationFormatUtils.formatDuration(duration, "HH:mm:ss"); break; case 2: long totalDuration = TimerTaskHelper.getAllTotalTime(task); - if (totalDuration < 0) { - if (log.isWarnEnabled()) { - log.warn("Trying to format negative total duration for task : " + totalDuration); - } - totalDuration = 0; - } value = DurationFormatUtils.formatDuration(totalDuration, "HH:mm:ss"); break; } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.