Version 1.4.1: Progress fixes
authorNiki Roo <niki@nikiroo.be>
Sun, 12 Mar 2017 18:50:03 +0000 (19:50 +0100)
committerNiki Roo <niki@nikiroo.be>
Sun, 12 Mar 2017 18:50:03 +0000 (19:50 +0100)
VERSION
changelog
src/be/nikiroo/utils/Progress.java

diff --git a/VERSION b/VERSION
index 88c5fb891dcf1d1647d2b84bac0630cf9570d213..347f5833ee6db7495cce808040501bf2c96269a9 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.4.0
+1.4.1
index 4a8514d782e6aa60a6ea8ab42cc47309891717bb..3cc63adee60c4aa1160bb5a5f43f356541aeb2ef 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,3 +1,10 @@
+Version 1.4.1
+-------------
+
+Progress
+       Better handling of min==max case
+       New methods .done() and .add(int step)
+
 Version 1.4.0
 -------------
 
index b6137f18bf6144d72f186b8e93b6bd70768846b5..5ee32217d466c1ad7bbb13e21ecf24e6fe457f57 100644 (file)
@@ -227,6 +227,18 @@ public class Progress {
                }
        }
 
+       /**
+        * Add some value to the current progression of this {@link Progress}.
+        * 
+        * @param step
+        *            the amount to add
+        */
+       public void add(int step) {
+               synchronized (getLock()) {
+                       setProgress(localProgress + step);
+               }
+       }
+
        /**
         * Check if the action corresponding to this {@link Progress} is done (i.e.,
         * if its progress value == its max value).
@@ -237,6 +249,13 @@ public class Progress {
                return progress >= max;
        }
 
+       /**
+        * Mark the {@link Progress} as done by setting its value to max.
+        */
+       public void done() {
+               setProgress(getMax());
+       }
+
        /**
         * Get the total progress value (including the optional children
         * {@link Progress}) on a 0.0 to 1.0 scale.
@@ -244,6 +263,10 @@ public class Progress {
         * @return the progress
         */
        public double getRelativeProgress() {
+               if (max == min) {
+                       return 1;
+               }
+
                return (((double) progress) / (max - min));
        }