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.
The add-on manifest can now declare a USB vendor ID with the line
usb-vendor=<id>
The ID must be a 16 hexadecimal value in the format 0xABCD.
The 'android' tool now has a new command 'android upate abd' that will create
a file called 'adb_usb.ini' in ~/.android/
This file will be read by adb to add support to those new vendor IDs.
Change XML schema to allow for empty <libs>, e.g. one can create
and add-on that doesn't declare any extra lib.
However enforce that <archives> contains at least one <archive>
element to prevent someone from declaring a download element
that cannot actually be downloaded.
Added a couple tests for validation of empty documents.
We currently hardcode a list in the PlatformTarget and propagate
it to the UI via the AndroidTargetParser. This way we can later
decide to actually get the info from some kind of manifest.
Used to display the AVD Manager from the Device Chooser/Launch config.
Used to delete AVDs from the AVD Manager.
In AVD Manager, also hide the Cancel button since actions are
immediate and not cancelable.
This happens when you open the Windows > Prefs > Android panel
while an SDK is initially loading or when you change the
SDK in the pref panel. The target change listener was not
properly removed since the field was not properly disposed.
This also removed the multiple selection handling in the
SdkTargetSelector, which we never use. In the unlikely event
we want to use it later, it would be trivial to add it back.
Original author: raphael
Merged from: //branches/cupcake/...
Automated import of CL 146634
Also renamed the container for add-ons to include the base platform name (so that at least a version is displayed).
Original author: xav
Merged from: //branches/cupcake/...
Automated import of CL 145098
This covers the case where an AVD has an invalid target
or is missing its AVD folder or the config.ini in it.
Made some cosmetic cleanup too.
Original author: raphael
Merged from: //branches/cupcake/...
Automated import of CL 143883
activity name for "create project".
Also validate AVD name for "create avd".
Original author: raphael
Merged from: //branches/cupcake/...
Automated import of CL 143223