- Change Archive to have a "isLocal" mode.
- In local mode, Archive.getLocalOsPath gives the install folder.
- In remote mode, Archive.getUrl gives the download URL.
- Implement delete on local archive.
- Started refreshing all sources. Need to revamp the progress
dialog to share it accross methods first.
Fix for detecting MacOS platforms correctly.
Fix to account for new archives with a root folder
(the root folder is ignored).
Display why archives are not compatible (print
which OS was not compatible.)
The add-on use the "revision" property of the manifest (if it does not
exists, it looks for the old deprecated "version" property).
The platform uses the ro.build.version.incremental which is only an integer
for builds from the build servers.
Local builds contain <buildtype>.<username>.<date>.<time>. For those will
use the date.
The SDK now contains 32 and 64 bit version of SWT. DDMS and Traceview
use the archquery java app to check the architecture of the VM to decide
which version of SWT should be used to run the apps.
This adds the following:
- unzip archives
- if dest dir already exists (typicaly update case),
unzips in a temp dir then swap dirs then delete
the old install. In case of error, the old archive
has not been lost.
- computes stats for download: percentage, speed, time left.
- compute percent for install, on top of progress bar.
The install code will need to move somewhere
out of the window. I think I'll put in the Archive
itself with the window just looping on all archives
and doing some progress bar bookeeping.
This splits the former ProgressTask in 2 parts:
ProgressDialog is just the SWT dialog and ProgressTask
is the task handling.
This helps avoiding confusing SWT Designer each time
I do a change in the logic. Plus it seems cleaner anyway.
The other thing this CL does is implement the pause/close
I originally wanted: the pause button is greyed once used
by the user whilst the task completes. After, it becomes
a "Close" button if there's a result text displayed.
Closing the window using the close box is now the same as
using the pause/close button (to avoid closing the dialog
with a running thread.)
The refactoring part involves moving as much as possible stuff
in SdkLib/internal/repository.
The UI has moved in SdkUiLib/internal/repository except a specific
public wrapper for calling the Sdk Updater window.
There are also a bunch of new classes to handle the internal
structures: Package is the base type and to match the XML element
names we have PlatformPackage, AddonPackage, DocPackage and
ToolPackage.
All headers have been fixed.