after the status, incrementing every second.
Even if the status or percentage doesn't update for a while, the user
will know that the updater is still "working".
This could cause problems but I believe that any time we display the
time remaining we are also showing a short status string.
Hand-massaged the translations, hopefully everything still makes sense
in each language.
but it wasn't doing the right thing. Fixed it.
I honestly have no idea how this was working. Maybe it just wasn't.
Maybe we never noticed before because with the per-step progress
bars we weren't seeing it exceed 100 percent.
And then use that instead of the UnifiedProgressObserver I wrote,
before I saw MetaProgressObserver.
Part 1: the unification.
Two things actually:
- If there are auxiliary groups, the resources from all groups were
downloaded all together, but patched individually. So each patcher
would restart the progress bar from 0-100%. Created a unified
progress observer that merely gives each patching phase an even
division of the percentage.
- I enumerated the major steps involved in getting down, and assigned
a completely arbitrary max progress percentage to each.
All percent progress reports are now bounded to the range of
the max for the current step and previous step's max reported
progress. Backwards progress is ignored, so if getdown goes
back and re-does some steps the bar may "stall".
If a step is skipped, the progress bar doesn't jump ahead, rather
it will use the range of any skipped steps to more fully
report the 0-100% progress of the current step.
I'm going to try this out and make adjustments.
This feature isn't done, part 2 is moving any time estimate
up to the "status" label (instead of the "progress" label).
Getdown first tries with the optimum arguments included. If the
process starts successfully, it continues as normal; otherwise, it
tries again without the optimum arguments. The arguments in
"extra.txt" are included after the optimum arguments, so that they can
override them (for instance, if you have both -mx256m and -mx1g on the
command line, the JVM will use whichever comes last).
page hosting the applet and the launched application through a simple server
socket bound to the loopback address on any available port (where the port
is passed to the application as a system property). Not tested yet, but it
shouldn't affect any deployments that don't specifically enable it.
of using the signers on the jar file. Also tidied up the code that passes
certificates around so that we get rid of that wonderful Object[] as early as
possible.
of inconsistent-with-one-another-and-with-getdown.txt-and-limitation-ridden
'properties' and 'app_properties' mechanisms from ancient history.
Unfortunately, Sun in their infinite wisdom decided that being able to
enumerate applet parameters was "not doing it right" and provided no mechanism
for doing so. So we have to use annoying increasing int suffixes.
Use like so:
<object ..>
<param name="jvmarg0" value="-Xmx256M"/>
<param name="jvmarg1" value="-Danswer=42"/>
<param name="jvmarg2" value="-Dtrix=for kids"/>
<param name="jvmarg3" value="-Dfoodir=%APPDIR%"/>
<param name="apparg0" value="--username"/>
<param name="apparg1" value="elvis"/>
</object>
complain if you actually provide an unparseable rect or color. If you don't
provide one at all, we'll use the default.
I want people to be able to configure Getdown with just:
ui.name = My Project
and get a no-frills, but usable interface that displays download and
installation progress. Previously, this resulted in a bunch of warnings when
they tried to generate their digest.txt because they failed to supply cryptic
things like "ui.progress = 17, 321, 458, 22". I'd rather that be optional.
I may add some sort of "spurious config" warning, so that if you provide
"ui.progres = 17, 321, 458, 22" and you're wondering why things aren't working,
you don't spend hours pulling your hair out.
When I'm feeling more up to it, I'll potentially rejigger this to
allow its use if it's available, but for now just simplify it so
folks can set a single icon.
Getdown is currently failing to create patch files because JarDiff is closing the outputstream. The attached patch comments it out, which seems to work.