The current output of Downloading/Downladed/Uploading/Uploaded transfer notification has some flaws:
1. It does not scale numbers between 1 and 1000 with appropriate units
2. It should use correct size (kB, MB, GB and time units (s) but doesn't. (see https://en.wikipedia.org/wiki/Binary_prefix and https://en.wikipedia.org/wiki/Metric_prefix)
3. When Aether downloads in parallel (which applies for non-POM files) the progress interleaves due to race conditions to System.out and you do not know to which resource a progress belongs to.
Let's use an improved version of MPIR DependenciesRenderer's FileDecimalFormat for it.
if total size is unavailable or the file has already been downloaded but not removed from the list, the output will be:
or in debug mode:
If the scale is between 1 and 10, one decimal place will be printed out. If it is between 10 and 1000+, it will be an integer.