• Home
  • History
  • Annotate
  • only in /sdk/sdkmanager/libs/sdklib/
History log of /sdk/sdkmanager/libs/sdklib/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1d96433fc413046aeecc8bd9388fecad511ecefb 20-Sep-2012 Raphaël Moll <ralf@android.com> Merge "MIPS company name is all-caps"
15c79786fded6d4d6595473ef6a8a793554f0cca 19-Sep-2012 Duane Sand <duanes@mips.com> MIPS company name is all-caps

Change-Id: Ib2bb0b69e08a639b7469f1c9a67e97e8cdd6eb48
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/repository/packages/SystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/sources/SdkRepoSourceTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkSysImgSourceTest.java
aea408b68a6f833327b6e0954a28f414f58133ac 14-Sep-2012 Xavier Ducrohet <xav@android.com> Generate smaller R classes for libraries.

Using the new --output-text-symbols from aapt the build
system now generates the R class for libraries manually
based on the symbols exported by the libraries and the
final values computed by aapt when using all the resource
folders.

Because only R.java is concerned, the Manifest class is
now included in the library jar file.

Also added a new test apps that uses instrumentation to
verify the build system.

Change-Id: Ic436ea8eb070844e9db8b3b2620fbf665839d40b
rc/com/android/sdklib/internal/build/SymbolLoader.java
rc/com/android/sdklib/internal/build/SymbolWriter.java
6184f12fa097e1c5bddfe50700b3b0740c736a5a 18-Sep-2012 Xavier Ducrohet <xav@android.com> Merge "Fix possible NPE reading dep file."
f92c116240bc645a89b12975dd438a46645abe88 18-Sep-2012 Xavier Ducrohet <xav@android.com> Fix possible NPE reading dep file.

Fix this by using guava Files instead.

Also fixes sdklib's manifest.

Change-Id: I5dd4123f389ce1bd8c900933021fc2179e6caa3b
anifest.txt
0502801c8450f5263316792ed782fb58fe684768 17-Sep-2012 Tor Norbye <tnorbye@google.com> Merge "Support separate layout editors for a single layout resource"
7801fad0690017fa3388730389a6b86d9b2382e9 17-Sep-2012 Raphael Moll <ralf@android.com> Fix unit test for LocalSdkParser.

Change-Id: I630cb4fc123e3d6b6efc36eea543f7556b2ccc87
ests/src/com/android/sdklib/internal/repository/LocalSdkParserTest.java
fe51dba2aa25e559786e5da315d4db714ffe7559 12-Sep-2012 Tor Norbye <tnorbye@google.com> Support separate layout editors for a single layout resource

This changeset changes the "reuse" behavior of the layout editor to no
longer reuse the same layout editor when you are switching between
alternate layout files for the same layout resource, such as
layout/foo.xml and layout-land/foo.xml. This lets you more quickly
switch back and forth and inspect differences between the layouts,
etc. There is also an option in the Android > Editors panel to turn on
single editor sharing again.

The biggest part of the changeset, by far, is a cleanup of the
ConfigurationComposite class and associated code. This was necessary
not just to support the above feature (where we need to "back out" UI
changes when you've made a configuration edit which results in a
different file getting opened), but it's also an important preparation
for multi configuration editing, where we need to be able to switch
configuration settings in and out of a single configuration editor,
etc.

The configuration data itself is now in a separate Configuration
class; the UI is in ConfigurationChooser, and the configuration
matching code is in ConfigurationMatcher. There's also a new Locale
class to track language/region pairs instead of using 2-element
ResourceQualifier arrays. The various menu listeners are also in
separate UI classes now. While there are new classes, most of the
configuration matching algorithm is unchanged, just moved to a new
class and the UI syncing and configuration data lookup replaced.

Bitmasks are used to handle configuration changes, such that updating
multiple related attributes (e.g. a rendering target change also
causes a theme change if say Holo isn't available) can now be processed
just once with a single change call.

(Various other cleanup too.)

Change-Id: I04ac969f46824321be3db0c487ef077c03cc6012
rc/com/android/sdklib/devices/Device.java
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/devices/State.java
8daea84228bdda8d714f2ab4dfc19a3c2f10271b 05-Sep-2012 Raphael Moll <ralf@android.com> Refactor PackagesPage to make it testable.

A simple unit test to display that an update is available.
This will get more complex later. The cache is mocked and
the whole test should be independant of the user's actual
settings and local cache, with no network access.

Change-Id: I58ff45895916a14a10f501a9bd664782d777ed42
ndroid.mk
rc/com/android/sdklib/internal/repository/sources/SdkSources.java
ests/src/com/android/sdklib/SdkManagerTestCase.java
0386f5dcf9d0f472f243506be3c40f5cf46287a2 14-Sep-2012 Raphael Moll <ralf@android.com> ManifestMerger: fix handling of codenames in min/targetSdkVersion.

The change is that the manifest merger will only accept a codename
if it's invoked in a context that can resolve that codename to an
API level. This allows to produce an error on bogus codenames and
to properly check that the API levels match appropriately.

Change-Id: Ic70c0c3690b13d94dba81bb78cc09386016b2ef1
rc/com/android/sdklib/IAndroidTarget.java
d38457bd813f7591e13a58bf91655192d761d81a 14-Sep-2012 Xavier Ducrohet <xav@android.com> Merge "Add guava to common and sdklib."
5910447b10dd39c9591aa45366c2aacce07af2af 14-Sep-2012 Xavier Ducrohet <xav@android.com> Add guava to common and sdklib.

Change-Id: Ic465232c7df736d2823b391c1f973c6ae5d81833
classpath
ndroid.mk
12d4581faa6438941e65a9dc83213be34c6ca970 13-Sep-2012 Tor Norbye <tnorbye@google.com> Constants refactoring.

This changeset moves most constants into the SdkConstants
class, and gets rid of AndroidConstants and LintConstants.
It also migrates all non-ADT specific constants from
AdtConstants into SdkConstants. It furthermore moves various
other constants (such as those in XmlUtils and ValuesDescriptors)
into the constants class. It also fixes the modifier order
to be the canonical modifier order (JLS 8.x).

Finally, it removes redundancy and combines various constant
aliases such that we don't have both NAME_ATTR and ATTR_NAME
pointing to "name", etc.

Change-Id: Ifd1755016f62ce2dd80e5c76130d6de4b0e32161
rc/com/android/sdklib/internal/project/ProjectCreator.java
3430f2813e3eab87786079de2f82e566d07c056e 12-Sep-2012 Raphael Moll <ralf@android.com> Properly dispose DeviceManager from AvdManager.

Similar issue fixed by patch d1daeae66a0ebdf53076038dc4a1fe099c4141fb
but this time for the AvdManager.

Change-Id: I10af39d364e427d593078f8bfa23bba3ba7e1558
rc/com/android/sdklib/devices/DeviceManager.java
c191224a55d0286413cbc318e7cb53e6a0cee436 12-Sep-2012 Raphaël Moll <ralf@android.com> Merge "Allow sys-img.xml in user-defined addon sites"
3239823d31b158ffddd4afac7068f86ca0e8cbd7 11-Sep-2012 Duane Sand <duanes@mips.com> Allow sys-img.xml in user-defined addon sites

Change-Id: Id7eeaa46d24385ee231c8db7a542947b5ee960b6
rc/com/android/sdklib/internal/repository/sources/SdkSources.java
4e278fe40f5379ba721bc4f5bc1088fbc8f637c1 11-Sep-2012 Raphael Moll <ralf@android.com> NPW Sample Wizard: list extras with a "sample" directory.

Some extras have just a single "sample" directory
instead of having a samples/<sample_name> directory.
Support this and list them as valid samples.

Change-Id: I25bc59db0b9853d98385cca98f70bf261558fd8b
rc/com/android/sdklib/SdkManager.java
09f6b5ee1bf4337bbcc22211fef4dd902722f0f1 07-Sep-2012 Siva Velusamy <vsiva@google.com> Avd Creation Dialog: Enable sdcard if user asks for it.

Change-Id: Ia5a57139cf76cec559c557011a2acee2af58457a
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/internal/avd/HardwareProperties.java
b16e595668c06c5a5f00ba662e5f306163d9f866 07-Sep-2012 Xavier Ducrohet <xav@android.com> Merge "Make some libraries be buildable with Gradle."
f4fa30a1ae66c845c552bacd8f07513ebed48d14 07-Sep-2012 Xavier Ducrohet <xav@android.com> Merge "Remove obsolete stuff."
085c4befc48ccf34faf0fb889b148a30b91e254e 01-Sep-2012 Xavier Ducrohet <xav@android.com> Make some libraries be buildable with Gradle.

They all output into out/host/repo

Change-Id: I78a1a976f0a99860a66248492da7fd9c6593b1c2
uild.gradle
5066e02249952c6c255194a96c9de28c3bacf9fd 01-Sep-2012 Raphael Moll <ralf@android.com> SDK Manager: fix support for file:// URLs in UrlOpener.

Change-Id: I5996187d0ccd002d9ec3fe8c0fa5d17a96671431
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
18142a38a2ba292aa3fc8b23479f53a5e5270a9c 01-Sep-2012 Xavier Ducrohet <xav@android.com> Remove obsolete stuff.

Change-Id: Ib3a4f7c0c479b4c8c7f2e27d47ba756969d4f0b4
rc/com/android/sdklib/internal/build/MakeIdentity.java
3f1353f8b4eea8329cf90a2650eff25e70795fb9 31-Aug-2012 Shih-wei Liao <sliao@google.com> Merge "Let ApkBuilder package bitcode library into APK."
97ff66c481de45c87e3ce6d462037dee3c73f418 29-Aug-2012 Raphael Moll <ralf@android.com> Fix SdkManager.hasChanged

Also add a simple unit test.

Change-Id: I8ed3dfbea07578528036f1dabd75c18f3161819c
rc/com/android/sdklib/SdkManager.java
7bbcf88341747c92504ba39a6129a0b274e01d61 27-Aug-2012 Raphael Moll <ralf@android.com> SDK Manager: fix sdk-has-changed.

The SdkManager.hasChanged method was supposed to
only look at direct folders in platforms and
add-ons, not regular files.

Change-Id: I87c3d51bfd7bd2578285f957a9838fadec703401
rc/com/android/sdklib/SdkManager.java
2990ae27b397e7e7b1add2be50df810a3c86f45e 27-Aug-2012 Shih-wei Liao <sliao@google.com> Let ApkBuilder package bitcode library into APK.

Change-Id: I54e99cff338a62147af3247446148d88a73a4ddb
rc/com/android/sdklib/build/ApkBuilder.java
93a40e4a39359d37a86c0994955dcd6c2425ffd7 22-Aug-2012 Tor Norbye <tnorbye@google.com> Update annotations on overridden methods

Required when using Eclipse 4.

Change-Id: Ie5f95794392ce46e0b04ae67b5eaf07efb19fbac
rc/com/android/sdklib/io/FileOp.java
ests/src/com/android/sdklib/io/MockFileOp.java
3f160d1b62f3569daf59d9f42db2d4f0d8aa82f5 22-Aug-2012 Raphael Moll <ralf@android.com> Merge "SDK Manager: support for partial resume of downloads."
ffcd1da273bac6257bc88f4106602e004ecd0b64 22-Aug-2012 Raphael Moll <ralf@android.com> Merge "SDK Lib: minor cleanup in UrlOpener."
fdcd1d6f7456e53451aa3519a4ef9687262ba3b0 22-Aug-2012 Raphael Moll <ralf@android.com> Merge "SDK Lib: fix some javadoc references."
f1240476cf0c90d9701bae557566a4d29602f945 22-Aug-2012 Raphael Moll <ralf@android.com> SDK Manager: support for partial resume of downloads.

Change-Id: I248194b5764cf801e52ebd35c6b5963facf31a3e
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
rc/com/android/sdklib/internal/repository/archives/ArchiveInstaller.java
rc/com/android/sdklib/io/FileOp.java
rc/com/android/sdklib/io/IFileOp.java
ests/src/com/android/sdklib/internal/repository/archives/ArchiveInstallerTest.java
ests/src/com/android/sdklib/io/MockFileOp.java
d99324209809a7ed5cdece1ae1d8a0783eb769ea 21-Aug-2012 Raphael Moll <ralf@android.com> SDK Lib: minor cleanup in UrlOpener.

Makes UrlOpener private. All callers should use the
DownloadCache class, and UrlOpener must remain
purely an implementation detail.
That's because UrlOpener is just a bunch of static
whereas DownloadCache is an instance that gets passed
around and can be overriden for testing.

Change-Id: Idacd328616f6c11df298f4e2b8f4ac7668cf6ffd
rc/com/android/sdklib/internal/repository/CanceledByUserException.java
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
rc/com/android/sdklib/internal/repository/archives/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/sources/SdkSource.java
2c94aa62f4016145fce9d8862f66d9c160fbce07 21-Aug-2012 Raphael Moll <ralf@android.com> SDK Lib: fix some javadoc references.

Fixes some warnings due to obsolete javadoc references,
mostly classes that have moved around.

Change-Id: I38179f84d42b033f6f1132db2759d00e5a301fa5
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/devices/DeviceWriter.java
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
rc/com/android/sdklib/internal/repository/NullTaskMonitor.java
8add78424dab13763fb1917e7ad076b2b9aac4d5 21-Aug-2012 Tor Norbye <tnorbye@google.com> Merge "Fix nullability annotations"
09407f74000f057774f85cfd414e86909022eca0 21-Aug-2012 Tor Norbye <tnorbye@google.com> Fix nullability annotations

Eclipse 3.8/4.2 requires that any method which overrides another
method with a @NonNull parameter (see
https://bugs.eclipse.org/bugs/show_bug.cgi?id=381443).

This changeset adds @NonNull on various overriding methods in newly
added code such that Eclispe 4.2 doesn't show errors.

Change-Id: Ice4a4b4dc31ba68c4e0911bb37c15da090076a0d
rc/com/android/sdklib/internal/repository/NullTaskMonitor.java
ests/src/com/android/sdklib/internal/repository/MockMonitor.java
ests/src/com/android/sdklib/mock/MockLog.java
c57d234279aa05af4838e5f0a9c598346159c57e 21-Aug-2012 Raphael Moll <ralf@android.com> SDK Manager: fix HTTP Auth cancel.

When the SDK Manager prompts the user for HTTP Auth
or NTLM auth, the API says the result should be null
if the user cancelled.
It wasn't, it was instead empty string fields and
the download would abort the a "failed: no content"
error in the log.
This fixes the UI to respect the convention.

It also makes sure that if the HttpClient call
fails due to the user cancelling, we don't try
to fallback on the java.UrlConnection method.

Change-Id: Ibf1807f4becd40dbced17f851b3fdc5b394788ea
rc/com/android/sdklib/internal/repository/UrlOpener.java
rc/com/android/sdklib/internal/repository/archives/ArchiveInstaller.java
5a327420df687b04b73fee82976207171eb0f16e 21-Aug-2012 Raphael Moll <ralf@android.com> SDK Manager: socket read timeout.

This adds a non-null default timeouts on the HttpClient
and UrlConnection instances. Most important is the
socket read timeout which seems to be infinite by default.
The default is at 1 minute for that one, with an option
to change it via an env variable. I might want to expose
it in the options dialog later (in another CL.)

SDK Bug/Request: 26382

Change-Id: I8b1da6505ea331d0520987ab8955f39cf123202b
rc/com/android/sdklib/internal/repository/UrlOpener.java
c47f64f6f53ff56013d3d9f80b9664337ef8a763 21-Aug-2012 Raphael Moll <ralf@android.com> SDK Manager: fix "null" error some people are getting.

Some users reported in some cases they see a line in
the sdk manager log that just says "null". Turns out
to be an NPE when trying to read the null InputStream
returned by UrlOpener in case of a failed URL fetch.

UrlOpener used to throw an IOException when a resource
couldn't be fetched, but then I added an alternate
download path (to handle file:// resources) and that
made it fail with a null input stream instead. So now
the code throws an exception like it used to before.

Change-Id: I92ef53992290c5e6fde8b0400274bbee822f2a61
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
rc/com/android/sdklib/internal/repository/archives/ArchiveInstaller.java
ae6a209f6f4030e1ebe20118f9455547e4cd50fc 17-Aug-2012 Xavier Ducrohet <xav@android.com> Unify all loggers in the sdk tools.

Removed ILogger from ide_common
Removed ISdkLog (and implementations) from sdklib

Moved all existing code to com.android.utils.ILogger
which is located in common.

Change-Id: Icd674d4b8d10f6ae8b60a83acb43cc53c7a52137
rc/com/android/sdklib/ISdkLog.java
rc/com/android/sdklib/NullSdkLog.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/StdSdkLog.java
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/avd/HardwareProperties.java
rc/com/android/sdklib/internal/build/MakeIdentity.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/NullTaskMonitor.java
rc/com/android/sdklib/internal/repository/packages/ExtraPackage.java
rc/com/android/sdklib/internal/repository/sources/SdkSources.java
rc/com/android/sdklib/util/CommandLineParser.java
ests/src/com/android/sdklib/SdkManagerTestCase.java
ests/src/com/android/sdklib/internal/repository/MockMonitor.java
ests/src/com/android/sdklib/mock/MockLog.java
ests/src/com/android/sdklib/util/CommandLineParserTest.java
0cd878f3a22cd5d648ee96441cc59d9b20d17aab 17-Aug-2012 Raphael Moll <ralf@android.com> Merge "ADT: Detect when SDK platforms/addons might have changed."
86f78976ed9cd29c76dea973b6a2b6262f7cd98d 16-Aug-2012 Raphael Moll <ralf@android.com> ADT: Detect when SDK platforms/addons might have changed.

This adds a new functionality in SdkManager to keep
track of the existing platforms/addons folder and
detect later whether they might have changed.

The check is a quick sanity check done on the presence
of the target directory, its last-modified timestamp
as well as the one of the source.properties.
Whenever an SDK Manager instance updates an existing
target or add/removes a new one, a change will be detected.

Non-goal: this does not trigger when a user manually
modifies the content of a target (e.g. its data files).

A method is added in AdtPlugin to reload the SDK if the
above method detects the targets have potentially changed.
This is then used when there's a user interaction with
something that depends on the latest state of the SDK,
namely: opening XML files (layout, manifest, etc.) or
opening a wizard (AVD manager, new project, new template.)
These wizards already register for sdk/target change
listeners and are notified asynchronously if the SDK has
changed and is refreshed.

Change-Id: Ia343c26321c0cb39c28a7c5d570c94e543344401
rc/com/android/sdklib/SdkManager.java
79ad870742142e531cda9463406a41a0fed3a658 16-Aug-2012 Xavier Ducrohet <xav@android.com> Merge "Create new logging class in the common library."
bce43e3b692e09854ec7390411b6d5a7ccd60880 16-Aug-2012 Xavier Ducrohet <xav@android.com> Create new logging class in the common library.

The goal is to later migrate all existing code to this
new logger and get rid of all our duplicates.

Also did a misc fix in AndroidLocation.

Change-Id: Ia33a782b57c91b4e3d5fd2c0660e040be11b9cbb
rc/com/android/sdklib/StdSdkLog.java
813bf88a44dab30cdeb5a4462bd174355bc48f55 15-Aug-2012 Xavier Ducrohet <xav@android.com> Add Ant support for UI automation test.

Also fix a bug in a custom ant task where minSdkVersion and targetApi
were swapped.

Change-Id: Id9bac802377a04270e76def42eaf6a8fb4b3f874
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
62ab8708b3621dc4fd73aa23101d184905f02d0e 14-Aug-2012 Xavier Ducrohet <xav@android.com> Fix build.

For some reason "make sdk" doesn't build uiautomatorviewer?

Change-Id: Ie390b8c517d4e5da1fbc9b13f56bf60812efecba
rc/com/android/sdklib/devices/DeviceManager.java
81cefe2a26dd6db8a878e30874d12cdcbff0e83b 11-Aug-2012 Xavier Ducrohet <xav@android.com> More refactoring.

Move stuff out of sdklib into common and ide_common.
Remove androidprefs and move the one class into common.

Change-Id: I71d126a13cf2ba413692e29616f4968a37d7b33a
classpath
ndroid.mk
anifest.txt
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/ISystemImage.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/StdSdkLog.java
rc/com/android/sdklib/SystemImage.java
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/devices/Abi.java
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/devices/DeviceWriter.java
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
rc/com/android/sdklib/internal/repository/AdbWrapper.java
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/archives/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/packages/AddonPackage.java
rc/com/android/sdklib/internal/repository/packages/DocPackage.java
rc/com/android/sdklib/internal/repository/packages/ExtraPackage.java
rc/com/android/sdklib/internal/repository/packages/Package.java
rc/com/android/sdklib/internal/repository/packages/PlatformPackage.java
rc/com/android/sdklib/internal/repository/packages/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/packages/SamplePackage.java
rc/com/android/sdklib/internal/repository/packages/SourcePackage.java
rc/com/android/sdklib/internal/repository/packages/SystemImagePackage.java
rc/com/android/sdklib/internal/repository/packages/ToolPackage.java
rc/com/android/sdklib/io/FileOp.java
rc/com/android/sdklib/xml/AndroidManifest.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/AndroidXPathFactory.java
rc/com/android/sdklib/xml/ManifestData.java
ests/src/com/android/sdklib/SdkManagerTest.java
ests/src/com/android/sdklib/SdkManagerTestCase.java
ests/src/com/android/sdklib/internal/repository/LocalSdkParserTest.java
ests/src/com/android/sdklib/internal/repository/MockPlatformTarget.java
ests/src/com/android/sdklib/internal/repository/packages/MockAddonPackage.java
ests/src/com/android/sdklib/io/MockFileOp.java
ests/src/com/android/sdklib/xml/AndroidManifestParserTest.java
ests/src/com/android/sdklib/xml/SupportsScreensTest.java
9ddba2385a293507ee76370818fed2cdb9a791fc 10-Aug-2012 Michael Wright <michaelwr@google.com> Load devices defined in tools

Change-Id: Ib40dada5062e755b48bd3a62514ede14cef5ec1e
rc/com/android/sdklib/devices/DeviceManager.java
e657bb8af7b8e75665bb745b2b9b363dea024c00 09-Aug-2012 Michael Wright <michaelwr@google.com> Set default scaled screen size to device's screen size

Change-Id: I6b169f0ef21d8f45da35dd10a7f76b30f3defcbb
rc/com/android/sdklib/devices/DeviceManager.java
2162975f51274ca38be4fb13afd7d77ad5ef63c8 08-Aug-2012 Michael Wright <michaelwr@google.com> Make AVDs repairable when the base device changes or is deleted

Change-Id: I3b931ee511dc157320ca8658fe421fe28a1ff387
rc/com/android/sdklib/devices/Camera.java
rc/com/android/sdklib/devices/Device.java
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/devices/Hardware.java
rc/com/android/sdklib/devices/Meta.java
rc/com/android/sdklib/devices/Screen.java
rc/com/android/sdklib/devices/Software.java
rc/com/android/sdklib/devices/State.java
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/avd/AvdManager.java
880f28a8a6f1abde140e5a201e5d38f62a8db1ae 09-Aug-2012 Xavier Ducrohet <xav@android.com> Merge "Refactor common.jar"
29ed8538ee176dee3a522a9007867fd0ca57880a 08-Aug-2012 Michael Wright <michaelwr@google.com> Merge "Make missing devices.xml a warning rather than an error"
e18f34337a2d8033f83b6173b3c66decd23c0679 08-Aug-2012 Michael Wright <michaelwr@google.com> Merge "Add RAM, VM heap and internal storage size settings to AVDs"
85e4a1a9dd133abb879ec211ce8dd385004edf22 08-Aug-2012 Xavier Ducrohet <xav@android.com> Refactor common.jar

Move resources and com.android.util.Pair into layoutlib_api
where they belong since layoutlib depends on them and we need
to control the API.

Made a copy of Pair to stay in common.jar but moved it to
com.android.utils.Pair (the one in com.android.util.Pair is
marked as deprecated to prevent usage where applicable).

Also moved XmlUtil and PositionXmlParser to com.android.utils
to match Pair.

Change-Id: I21d7057d3f2ce604f86a3bb1fa3c130948c93b89
classpath
ndroid.mk
anifest.txt
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
rc/com/android/sdklib/internal/repository/packages/AddonPackage.java
rc/com/android/sdklib/internal/repository/packages/ILayoutlibVersion.java
rc/com/android/sdklib/internal/repository/packages/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/packages/PlatformPackage.java
ests/src/com/android/sdklib/internal/repository/sources/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkRepoSourceTest.java
3c7c9c4b0b75d8817951a2c0764c6837335cd5e9 08-Aug-2012 Raphael Moll <ralf@android.com> Cleanup: dos2unix some files in SdkController.

Change-Id: I7d53dd01cc9fc25794ed10bf053f093a4dda9af3
ests/src/com/android/sdklib/testdata/repository_sample_1.xml
ests/src/com/android/sdklib/testdata/repository_sample_2.xml
91ebf4f36f73eb9c4330c294dd98ff54df773c0c 07-Aug-2012 Michael Wright <michaelwr@google.com> Make missing devices.xml a warning rather than an error

Since most users probably won't have custom devices, but instead use the
ones we provide, it doesn't make sense to have the absence of a custom,
user-specific devices.xml be an error instead of a warning.

Change-Id: I9754be29e88377b8c2e594f1d790310da35897fc
rc/com/android/sdklib/devices/DeviceManager.java
abf9f02ce38116f0c8a48916aa961378df0896db 07-Aug-2012 Michael Wright <michaelwr@google.com> Add RAM, VM heap and internal storage size settings to AVDs

Change-Id: Idb8807e07fddc912144b962de0a01b729071c92b
rc/com/android/sdklib/internal/avd/AvdManager.java
7238a3c1986abd17a54eb8e5fe680c1ba525bee1 07-Aug-2012 Raphael Moll <ralf@android.com> Merge "Convert EOL from Windows to Unix in sdklib *.java"
2dbb10456924ea2cbce7c4647881fd57f766c3aa 07-Aug-2012 Raphael Moll <ralf@android.com> Convert EOL from Windows to Unix in sdklib *.java

This is just a "dos2unix" applied to all the sdklib *.java
files. I meant to clean that a while ago.
I'll do sdkuilib in a different CL.

Change-Id: I5c7d65cea9205d8765961db0fea42d8b3dbd58eb
settings/org.eclipse.jdt.ui.prefs
rc/com/android/sdklib/internal/repository/AdbWrapper.java
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/IDescription.java
rc/com/android/sdklib/internal/repository/ITask.java
rc/com/android/sdklib/internal/repository/ITaskFactory.java
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/NullTaskMonitor.java
rc/com/android/sdklib/internal/repository/SdkStats.java
rc/com/android/sdklib/internal/repository/archives/Archive.java
rc/com/android/sdklib/internal/repository/archives/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/archives/ArchiveReplacement.java
rc/com/android/sdklib/internal/repository/packages/AddonPackage.java
rc/com/android/sdklib/internal/repository/packages/BrokenPackage.java
rc/com/android/sdklib/internal/repository/packages/DocPackage.java
rc/com/android/sdklib/internal/repository/packages/ExtraPackage.java
rc/com/android/sdklib/internal/repository/packages/FullRevision.java
rc/com/android/sdklib/internal/repository/packages/FullRevisionPackage.java
rc/com/android/sdklib/internal/repository/packages/IAndroidVersionProvider.java
rc/com/android/sdklib/internal/repository/packages/IFullRevisionProvider.java
rc/com/android/sdklib/internal/repository/packages/ILayoutlibVersion.java
rc/com/android/sdklib/internal/repository/packages/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/packages/MajorRevision.java
rc/com/android/sdklib/internal/repository/packages/MajorRevisionPackage.java
rc/com/android/sdklib/internal/repository/packages/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/packages/Package.java
rc/com/android/sdklib/internal/repository/packages/PackageParserUtils.java
rc/com/android/sdklib/internal/repository/packages/PlatformPackage.java
rc/com/android/sdklib/internal/repository/packages/SamplePackage.java
rc/com/android/sdklib/internal/repository/packages/SourcePackage.java
rc/com/android/sdklib/internal/repository/packages/SystemImagePackage.java
rc/com/android/sdklib/internal/repository/packages/ToolPackage.java
rc/com/android/sdklib/internal/repository/sources/SdkAddonSource.java
rc/com/android/sdklib/internal/repository/sources/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/sources/SdkSource.java
rc/com/android/sdklib/internal/repository/sources/SdkSourceCategory.java
rc/com/android/sdklib/internal/repository/sources/SdkSourceProperties.java
rc/com/android/sdklib/internal/repository/sources/SdkSources.java
rc/com/android/sdklib/internal/repository/sources/SdkSysImgSource.java
rc/com/android/sdklib/io/FileOp.java
rc/com/android/sdklib/io/NonClosingInputStream.java
rc/com/android/sdklib/repository/PkgProps.java
rc/com/android/sdklib/repository/RepoConstants.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkAddonsListConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
rc/com/android/sdklib/repository/SdkStatsConstants.java
rc/com/android/sdklib/repository/SdkSysImgConstants.java
ests/src/com/android/sdklib/internal/repository/AddonsListFetcherTest.java
ests/src/com/android/sdklib/internal/repository/MockEmptySdkManager.java
ests/src/com/android/sdklib/internal/repository/MockMonitor.java
ests/src/com/android/sdklib/internal/repository/MockPlatformTarget.java
ests/src/com/android/sdklib/internal/repository/SdkStatsTest.java
ests/src/com/android/sdklib/internal/repository/packages/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockBrokenPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockExtraPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockPlatformPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockPlatformToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockSourcePackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockSystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockToolPackage.java
ests/src/com/android/sdklib/internal/repository/sources/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkRepoSourceTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkSysImgSourceTest.java
ests/src/com/android/sdklib/io/MockFileOp.java
ests/src/com/android/sdklib/repository/CaptureErrorHandler.java
ests/src/com/android/sdklib/repository/ValidateAddonXmlTest.java
ests/src/com/android/sdklib/repository/ValidateAddonsListXmlTest.java
ests/src/com/android/sdklib/repository/ValidateRepositoryXmlTest.java
ests/src/com/android/sdklib/repository/ValidateSysImgXmlTest.java
1ba5fb74459244d2216d7e280685fa178c04c03c 07-Aug-2012 Michael Wright <michaelwr@google.com> Include status-bar node when writing out Device's software

Change-Id: I973d454d040ab537e10727f16f70270dc0bae7ce
rc/com/android/sdklib/devices/DeviceWriter.java
0920b8eb481295001c85b2023b4ff7c67a7aaf84 07-Aug-2012 Raphael Moll <ralf@android.com> Merge "Java implementation of bspatch."
a91fdf412872b7d55733e6abdfab754e85223655 07-Aug-2012 Raphael Moll <ralf@android.com> Merge "SDK Manager: allow user URLs to point to sys-img.xml too."
64fe39358b3b56135a8954867d752206c593bfc4 04-Aug-2012 Michael Wright <michaelwr@google.com> Increment count when backing up bad devices.xml

Fixes a bug where if you had devices.xml.old.0 in ~/.android, then the
DeviceManager would spin in an infinite loop because the count wouldn't
be incremented each time.

Change-Id: I525a0da120205ffb9e507bf1a83cb02f077ba76d
rc/com/android/sdklib/devices/DeviceManager.java
128d49cc721b1b7bbbfa3add74d0d7c3a9726d72 04-Aug-2012 Michael Wright <michaelwr@google.com> Added status bar qualifier to device schema

Since some tablets have a status bar at the top and others don't, we
need to be able to configure this by API level for the GLE.

Change-Id: I8c4fd7adb89636173421489f8a136d541d3de4eb
rc/com/android/sdklib/devices/DeviceParser.java
rc/com/android/sdklib/devices/Software.java
rc/com/android/sdklib/devices/devices.xml
c57491d693715afb10d6fa029fb1afde69e637ab 04-Aug-2012 Raphael Moll <ralf@android.com> Java implementation of bspatch.

Change-Id: I994ea6499c542fe43b16037e4a8cf184b95f91de
ests/src/com/android/sdklib/util/BSPatchTest.java
c6f92cb7198d33ebf564c16c6e84141cf2b6c7fe 03-Aug-2012 Michael Wright <michaelwr@google.com> Merge "Add new AVD creation and edit dialog"
fdacc9a5e24a816b030e5df567dc95d5e307a977 03-Aug-2012 Michael Wright <michaelwr@google.com> Merge "Add listener interface for changes in device lists"
401d7f4d85201d4a86e05aa7240d2fd2222064b5 03-Aug-2012 Michael Wright <michaelwr@google.com> Merge "Rename bad device configs"
8ff4be0b5d12a9009a51cc55c660fc8da7011b85 01-Aug-2012 Michael Wright <michaelwr@google.com> Add new AVD creation and edit dialog

Take advantage of the new device specifications and provide a much
simplified AVD creation dialog, while retaining the old dialog for use
with AVDs created prior to this.

Change-Id: I2ab3613d6a1b58a96c330dc1d8c1df36afc88058
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
e662bf4410674c7fca9f8ab08badffac9fa60b40 27-Jul-2012 Michael Wright <michaelwr@google.com> Add listener interface for changes in device lists

Allows things like the GLE to be notified when a device is added or
removed via the AVD Manager so they can update their menus
accordingly.

Change-Id: I616234e7dba3151712cf0d6df600a9104da4f806
rc/com/android/sdklib/devices/DeviceManager.java
728828ede736d17ef5641b900c5cd224173c25aa 26-Jul-2012 Michael Wright <michaelwr@google.com> Rename bad device configs

Rather than overwriting bad device configs, and possibly losing
something important to the user, we move them to devices.xml.old
(or devices.xml.old.0, devices.xml.old.1, etc).

Change-Id: Ide992b36e9645bc15fce040ddf06e91e6076aad9
rc/com/android/sdklib/devices/DeviceManager.java
910df7cba1d2f7ef489af9747ddb6b42d201c27b 02-Aug-2012 Raphael Moll <ralf@android.com> SDK Manager: allow user URLs to point to sys-img.xml too.

The "user defined sites" code originally only dealt with add-on XML sources.
Now we'd like it to deal with system-image sources too, but we
don't know which kind of object it is (at least not without
trying to fetch it.) As a temporary workaround, just take a
guess based on the leaf URI name.

However ideally what we should simply do is add a checkbox "is
system-image XML" in the user dialog and pass this info down
here. Another alternative is to make a "dynamic" source object
that tries to guess its type once the URI has been fetched.

Change-Id: I019d1b0dee56a587bc917c9141ca4bd052e55876
rc/com/android/sdklib/internal/repository/sources/SdkSources.java
a618c659fbf9b47e311fe1b9bd678b786d3f58cc 01-Aug-2012 Siva Velusamy <vsiva@google.com> Install platform tools if necessary during monitor startup

Part of fix for http://code.google.com/p/android/issues/detail?id=35640

Change-Id: I75834928033d08936c15f354a630815276895242
rc/com/android/sdklib/SdkManager.java
01fb99f645ab7f1dbfe0a62935cf189f76bb3a1c 24-Jul-2012 Michael Wright <michaelwr@google.com> Fixed camera settings on default devices

Change-Id: I29d027e2e516a94cbc42a07f7db659a4b2d4c448
rc/com/android/sdklib/devices/devices.xml
c3ee0af5e44b03de5138e8715c43fc543309afdc 24-Jul-2012 Raphael Moll <ralf@android.com> Merge "SDK Manager fix: override in-memory sources when checking for updates."
33748ce4b996523e25ab10750042a7823baf0336 23-Jul-2012 Michael Wright <michaelwr@google.com> Add user device management capabilities to DeviceManager

Also shared user devices across manager instances to prevent multiple
parses of the device specifications and multiple copies of the devices
being kept in memory.

Change-Id: I19236cc8efa5553d73a4d84aef4175831f20b986
rc/com/android/sdklib/devices/DeviceManager.java
a392389d49048dfc7399c8ea55aafee1faadcc14 21-Jul-2012 Michael Wright <michaelwr@google.com> Add setters to Device and related classes

This allows classes outside of the SdkLib package to create devices.

Change-Id: I33fa564b921f35a602564cf3cede3045b624f7d6
rc/com/android/sdklib/devices/Camera.java
rc/com/android/sdklib/devices/Device.java
rc/com/android/sdklib/devices/DeviceParser.java
rc/com/android/sdklib/devices/Hardware.java
rc/com/android/sdklib/devices/Meta.java
rc/com/android/sdklib/devices/Screen.java
rc/com/android/sdklib/devices/Software.java
rc/com/android/sdklib/devices/State.java
8f82fb0427e37162e0e2243785276a36946f3748 29-Jun-2012 Michael Wright <michaelwr@google.com> Fixed AvdManager to only have one instance per SDK location

Change-Id: I59697ef605e33a9216ed318190060e71ce0df579
rc/com/android/sdklib/internal/avd/AvdManager.java
125e3f1e34cc650c1f2cb6da801037183f1f9ec5 21-Jul-2012 Raphael Moll <ralf@android.com> SDK Manager fix: override in-memory sources when checking for updates.

An issue that showed up with the cache mechanism in Tools r20
is that users are not notified of tools updates unless they
clear their cache. The issue is that the SDK Manager first tries
to load an existing cache for a fast startup and then performs
a network check. However it doesn't clear the sources already
memory loaded in memory and thus skips the actual network check
and simply uses the first loaded result. This changes it so that
the network check actually happens even if there's a source
loaded in memory.

Change-Id: I3fde77b9aec8ccbd1cf66f79f99f8c5f4e84d900
rc/com/android/sdklib/internal/repository/DownloadCache.java
27c58b99171127ff0f38a94926a7ed8488cabbfc 16-Jul-2012 Xavier Ducrohet <xav@android.com> Fix a possible NPE when reading bad prop files.

Change-Id: I8f650a139c121bd68e3c246ff1a7db1a02378191
rc/com/android/sdklib/internal/project/ProjectProperties.java
2faf406fa126fa4aedb14b01a80149907f97dae1 26-Jun-2012 Michael Wright <michaelwr@google.com> Fixed resolution for 3.4in WQVGA

Change-Id: Ibdc40d6c535de8b2816e789ef8c125c3c82345a2
rc/com/android/sdklib/devices/devices.xml
a835eb48ff0844ed346c49cabfadc1666f668430 26-Jun-2012 Michael Wright <michaelwr@google.com> Added default devices to the avd creation dialog

Change-Id: Id8f0c659b9b0ff4a2ff8605265338cc2a5b05d1a
rc/com/android/sdklib/devices/DeviceManager.java
7c7f053a788b2e3fee7f57a1a921196e89864aa4 21-Jun-2012 Michael Wright <michaelwr@google.com> Added GLE support for devices

Change-Id: I4e82e93563529540d31af8809aba79f40610fa2e
rc/com/android/sdklib/devices/DeviceWriter.java
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/avd/AvdManager.java
a9715c2f980511b444a13d4f08f5df0768b5434b 21-Jun-2012 Michael Wright <michaelwr@google.com> Added default choice of devices

Change-Id: I9f13102c0e10108c93cf1727a7355432d1eac4f1
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/devices/devices.xml
5f2b9cd07a6f3c409971218ee34d3f7b36bd4725 22-Jun-2012 Siva Velusamy <vsiva@google.com> Fix minor errors when used with Eclipse4.

Change-Id: Ia31c45715530f58ac293f61185b5a45f71fab4f5
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
dee7a55b0a9283c5ea661a7c6efce2a4caf6929b 21-Jun-2012 Raphael Moll <ralf@android.com> SDK Manager: accept relative urls for addons-list.xml documents.

Change-Id: Ibbe574716b59c4ccfba93eccd6e3df895063c889
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
ests/src/com/android/sdklib/internal/repository/AddonsListFetcherTest.java
ests/src/com/android/sdklib/testdata/addons_list_sample_1.xml
ests/src/com/android/sdklib/testdata/addons_list_sample_2.xml
b3862702e7dd316a9ec981bfeac1600f53b307d2 21-Jun-2012 Raphael Moll <ralf@android.com> SDK Manager: new --clear-cache flag for command-line.

Change-Id: I2153a3f451567708ac25f992cdeaa0fb5f1adef3
rc/com/android/sdklib/util/CommandLineParser.java
2bf5d49dc2acd3bd8689b5c5bd0cbc0915882b53 19-Jun-2012 Michael Wright <michaelwr@google.com> Added DeviceWriter and equals for Devices

Change-Id: I6c9a162bc414d3d8252dbbb5a37bb4d2ed1d6058
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/devices/Camera.java
rc/com/android/sdklib/devices/Device.java
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/devices/DeviceWriter.java
rc/com/android/sdklib/devices/Hardware.java
rc/com/android/sdklib/devices/Meta.java
rc/com/android/sdklib/devices/Screen.java
rc/com/android/sdklib/devices/Software.java
rc/com/android/sdklib/devices/State.java
rc/com/android/sdklib/devices/Storage.java
ests/src/com/android/sdklib/devices/DeviceWriterTest.java
a2cf071d2cc8e65f2c66108584a975b68bc4ac84 20-Jun-2012 Michael Wright <michaelwr@google.com> Merge "Fixed resource leak in DeviceManager"
e1e644ecbb06954c8fe678a948091dd293ae09bf 20-Jun-2012 Xavier Ducrohet <xav@android.com> Merge "Misc fix on new project wizard."
60e722818e0343d988430246a8f8341d4a744528 20-Jun-2012 Xavier Ducrohet <xav@android.com> Misc fix on new project wizard.

- filter out addons that don't have extra APIs.
- display target codename when available.
- misc fix in validate re minSdk value.

Change-Id: I41a47249ff92f6c65cd6c9a7e19154587c1da1f6
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/repository/PkgProps.java
9db211ac1c68f2843950ec172544757602fd7fa0 20-Jun-2012 Michael Wright <michaelwr@google.com> Merge "Fixed format string for device parsing errors"
3e9c78b05ade34afee5ca373fd0ac512ac33aefb 20-Jun-2012 Michael Wright <michaelwr@google.com> Fixed resource leak in DeviceManager

Change-Id: I5eed8a5de878bd3c52452536baca0c56822263b8
rc/com/android/sdklib/devices/DeviceManager.java
6019ab664150de45b9bd6975453d818c1233120b 19-Jun-2012 Michael Wright <michaelwr@google.com> Fixed format string for device parsing errors

Change-Id: I52f0aa20f9fb8a4b3e61ab820972af35f95f7bf8
rc/com/android/sdklib/devices/DeviceManager.java
255184d6c522a46c6e8233baa6b685a14c249e5f 19-Jun-2012 Michael Wright <michaelwr@google.com> Fixed schema to match resource qualifiers

Change-Id: Icede9eaaf0a38924397e7ea49775a6aef9701391
rc/com/android/sdklib/devices/DeviceParser.java
ests/src/com/android/sdklib/devices/DeviceParserTest.java
39d80ed5669bff4734f342cd689baa83e876289f 15-Jun-2012 Michael Wright <michaelwr@google.com> Added device functionality to the AVD manager

Change-Id: Ib67a7b8f123302ee75eefcb45e9cac233f026f28
rc/com/android/sdklib/devices/Abi.java
rc/com/android/sdklib/devices/DeviceManager.java
rc/com/android/sdklib/devices/Storage.java
71da4451642194b53f40f7c4f6a3b983d53561a3 13-Jun-2012 Michael Wright <michaelwr@google.com> Added FolderConfig creation and config loading for Devices

Change-Id: Iae7b32df991df946bba22aba5ab9b32ed2c094ea
rc/com/android/sdklib/devices/Device.java
rc/com/android/sdklib/devices/DeviceManager.java
dde3ba93f1276dc3f5a5550e74a83fdb94cfd40c 19-Jun-2012 Raphael Moll <ralf@android.com> Merge "AVD Editor: support Enum Hardware Properties."
bdb7dd94d76db3201773bdc593d72633daaaa07a 18-Jun-2012 Raphael Moll <ralf@android.com> AVD Editor: support Enum Hardware Properties.

Used to support the enum touch screen type.

Change-Id: Ia3419527a391b35f7e3c8a4853c8603907defe39
rc/com/android/sdklib/internal/avd/HardwareProperties.java
fe364d5894c582b3563b309242e6cf1836f13ba3 18-Jun-2012 Xavier Ducrohet <xav@android.com> Merge "Add lib source folders to the emma report."
0c3b994c5bbbc980f7872649e2ccb0ba3f0840c7 18-Jun-2012 Tor Norbye <tnorbye@google.com> Workaround for Eclipse resource detection.

Plus close a potentially unclosed resource.

Change-Id: I4eb69c28dc120ab3eb5fe5724149b749ed9fe335
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/SdkStats.java
rc/com/android/sdklib/internal/repository/sources/SdkSource.java
a12a01f80d45941967b99a537a11fd4b98eed23c 16-Jun-2012 Xavier Ducrohet <xav@android.com> Add lib source folders to the emma report.

This allows seeing the library source code in the HTML
report.

Change-Id: I30cd9fa99d2962bb4c12cba6f2ba044857836b93
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
602722a9d282e80cd0ab3112415c65f479ef2366 16-Jun-2012 Xavier Ducrohet <xav@android.com> Merge changes Ife59a297,Id8db82e2

* changes:
Fix issue where libraries were not getting instrumented.
Fix emma for split projects.
08799a8a00ca755b6d14201c885c3279d26aa617 15-Jun-2012 Raphael Moll <ralf@android.com> SDK Manager fix display of update revisions.

A couple of occurences were displaying full revision
for updates (e.g "Update available: rev. 20.0.0")
instead of the short version (e.g. "rev. 20").

Change-Id: I593ba952df714b50e548dbb447aaf9ac4e4192ca
rc/com/android/sdklib/internal/repository/packages/AddonPackage.java
f453507f61785ebb5594b5cdb867286f9e848fdb 15-Jun-2012 Raphael Moll <ralf@android.com> SDK Manager fix.

This change the XML fetcher to cope with:
- input streams that do not support mark/reset when the
caller expects one as such.
- the XML parser/validator closing the input stream
when the caller still needs it open.

Change-Id: I5af24b7b8545f9c5f60a13d5dc06ebfc4bb9b0dd
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/internal/repository/SdkStats.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
rc/com/android/sdklib/internal/repository/sources/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/sources/SdkSource.java
rc/com/android/sdklib/io/NonClosingInputStream.java
fcb82e3185d657e3b5440295478cdc58afd168c3 15-Jun-2012 Xavier Ducrohet <xav@android.com> Fix emma for split projects.

The location of the .em file was wrong. Changing its location
means it gets put in the tested project so we need a way to know where
the output of the project is.

As we need to be better at supporting customized projects folder, we
introduce a new task that will be able to look for the customized
path of any projects. So far we only support the output folder
and the source folder.

Change-Id: Id8db82e254baae2088827c96b7719f94c92c927c
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/internal/project/IPropertySource.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
f4f17275b1fe8644073e3ef485ca12291125ae83 14-Jun-2012 Raphael Moll <ralf@android.com> Merge "SDK Manager: API to list extras and their revisions."
ce952c83dcab748cb51dd87e23fdfdab26c04f23 14-Jun-2012 Raphael Moll <ralf@android.com> SDK Manager: API to list extras and their revisions.

Change-Id: I4989af2e987cf2b58f6da6a6a88f11a9351289e0
rc/com/android/sdklib/SdkManager.java
f658e868b61ffc80aadafdcbefe12fdb2b3c88b5 14-Jun-2012 Michael Wright <michaelwr@google.com> Fixed device tests to use new device api

Change-Id: I8d37398581023808eac19ad21ce864eaba69ae3b
ests/src/com/android/sdklib/devices/DeviceParserTest.java
6ebc2c45b01705c2619f11d3bd308ffe51f69758 08-Jun-2012 Michael Wright <michaelwr@google.com> Added parser for new devices schema

Change-Id: Ib8a4a750b56f9ea94abd21c445958726343e760c
classpath
ndroid.mk
anifest.txt
rc/com/android/sdklib/devices/Abi.java
rc/com/android/sdklib/devices/BluetoothProfile.java
rc/com/android/sdklib/devices/ButtonType.java
rc/com/android/sdklib/devices/Camera.java
rc/com/android/sdklib/devices/CameraLocation.java
rc/com/android/sdklib/devices/Device.java
rc/com/android/sdklib/devices/DeviceParser.java
rc/com/android/sdklib/devices/Hardware.java
rc/com/android/sdklib/devices/Meta.java
rc/com/android/sdklib/devices/Multitouch.java
rc/com/android/sdklib/devices/Network.java
rc/com/android/sdklib/devices/PowerType.java
rc/com/android/sdklib/devices/Screen.java
rc/com/android/sdklib/devices/ScreenType.java
rc/com/android/sdklib/devices/Sensor.java
rc/com/android/sdklib/devices/Software.java
rc/com/android/sdklib/devices/State.java
rc/com/android/sdklib/devices/Storage.java
ests/Android.mk
ests/src/com/android/sdklib/devices/DeviceParserTest.java
c2c63aba78b89bc8812790497bbfd2119be698ae 13-Jun-2012 Raphael Moll <ralf@android.com> SDK Manager: fix download cache for file:// URLs.

Change-Id: I3f9a39861df0839c39a82adde4945fa641501a04
rc/com/android/sdklib/internal/repository/UrlOpener.java
da13c2fa650d4ded32f60721776d419da874dcbd 12-Jun-2012 Raphael Moll <ralf@android.com> SDK: don't override user.home property in Unit Tests.

Apparently that's not even needed anymore, it might
be a left-over from a previous test.

Change-Id: I622fbba13975d14cd45a4724751abdd33756824f
ests/src/com/android/sdklib/SdkManagerTestCase.java
e86ac701205c6fdb0d2ae91e025024aec4f6a9de 08-May-2012 Tor Norbye <tnorbye@google.com> Include a default proguard config file with optimization

Adds a new proguard-android-optimize.txt file alongside the
default proguard-android.txt file in tools/proguard/ which
project.properties files can point to. The shrinking rules
are the same, but unlike proguard-android.txt, the new config
file leave optimization enabled. This allows users to point
to a tool-managed proguard file rather than forking the
default file in order to edit out the -dontoptimize flag.

Change-Id: I2f0fc8361e3964843a4cafe4f4087a6dee68b5ce
rc/com/android/sdklib/SdkConstants.java
3fd37a8d1bfe08985c0a9fddb2aeddb4c90b2df2 11-Jun-2012 Raphael Moll <ralf@android.com> Merge "SDK: Enable latest repository schema (repo v7 with previews)"
5017599693a5c97146b94e63e856e3485ee5b3f1 05-Jun-2012 Raphael Moll <ralf@android.com> SDK: Enable latest repository schema (repo v7 with previews)

Change-Id: I528bb09eeffe1e101685b72a151085429d1ac98f
rc/com/android/sdklib/repository/-sdk-addon-5.xsd
rc/com/android/sdklib/repository/-sdk-repository-7.xsd
rc/com/android/sdklib/repository/sdk-addon-5.xsd
rc/com/android/sdklib/repository/sdk-repository-7.xsd
665f681e4881a7472f8ebcb7c4fb9a6771aada29 02-Jun-2012 Xavier Ducrohet <xav@android.com> Projects can now access aidl files from their libraries.

Library projects now copy their aidl files into bin/aidl.

Aidl is now called with this import path for all referenced
library projects.

Also added a test project.

Change-Id: I7f94489e87450be67a16ed7198f85b8b472f5025
rc/com/android/sdklib/SdkConstants.java
764d9297c9631f239c8ebafc64edc77db80ce3c2 01-Jun-2012 Tor Norbye <tnorbye@google.com> Fix warnings

First, update our various project-specific Eclipse compiler settings
configuration files to include the new Eclipse 4 flags.

Second, turn off the "Unchecked conversion from non-annotated type to
@NonNull" warnings; there are hundreds or thousands of these, and
there isn't much we can do about them when they're coming from
platform and library APIs.

Third, make the lint projects warning-clean again by addressing
various warnings Eclipse found (such as some unclosed resources and
some null handling issues; yesterday's null annotation fixes only
addressed errors, not warnings.)

Change-Id: If75f7401a1cbeef1bf58b47ccaa9ad17bede7f91
settings/org.eclipse.jdt.core.prefs
db0a40e662c8d14f0a6451845198f055a76a02af 22-May-2012 Raphael Moll <ralf@android.com> SDK Manager: support standalone sys-img xml.

This extends the addons_list XSD to support both
addons sites and OEM's system-image sites.

Then this defines a new schema "sys-img" XSD for
a site that offers only system images.

Change-Id: I77ff56c4c70f57ab8ea44cf4ea3094125653737b
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/sources/SdkAddonSource.java
rc/com/android/sdklib/internal/repository/sources/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/sources/SdkSource.java
rc/com/android/sdklib/internal/repository/sources/SdkSysImgSource.java
rc/com/android/sdklib/repository/-sdk-addon-5.xsd
rc/com/android/sdklib/repository/-sdk-repository-7.xsd
rc/com/android/sdklib/repository/RepoConstants.java
rc/com/android/sdklib/repository/SdkAddonsListConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
rc/com/android/sdklib/repository/SdkSysImgConstants.java
rc/com/android/sdklib/repository/sdk-addons-list-1.xsd
rc/com/android/sdklib/repository/sdk-addons-list-2.xsd
rc/com/android/sdklib/repository/sdk-sys-img-1.xsd
ests/src/com/android/sdklib/internal/repository/AddonsListFetcherTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkSysImgSourceTest.java
ests/src/com/android/sdklib/repository/ValidateAddonXmlTest.java
ests/src/com/android/sdklib/repository/ValidateAddonsListXmlTest.java
ests/src/com/android/sdklib/repository/ValidateRepositoryXmlTest.java
ests/src/com/android/sdklib/repository/ValidateSysImgXmlTest.java
ests/src/com/android/sdklib/testdata/addons_list_sample_2.xml
ests/src/com/android/sdklib/testdata/sys_img_sample_1.xml
547c7761208632134d33eace29c81a4e60cd0a69 31-May-2012 Tor Norbye <tnorbye@google.com> Fix "Resource leak: <Foo> is never closed"

This changeset fixes various code fragments opening
resources without closing them.

Change-Id: I6ed48a32dc5de4c11cab394dd3883ebbb54d2938
rc/com/android/sdklib/build/JarListSanitizer.java
rc/com/android/sdklib/internal/avd/HardwareProperties.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
ests/src/com/android/sdklib/mock/MockLog.java
7e4b8e9d595e45baa9d87cdb8282f02759e73abc 30-May-2012 Tor Norbye <tnorbye@google.com> Fix nullness annotations

Eclipse 4.2 includes analysis support for @Nullable and @NonNull
annotations. However, it requires these annotations to be *repeated*
on every single method implementing or overriding a superclass or
interface method (!).

This changeset basically applies the quickfixes to inline these
annotations. It also changes the retention of our nullness
annotations from source to class, since without this Eclipse believes
that a @NonNull annotation downstream is a redefinition of a @Nullable
annotation.

Finally, the null analysis revealed a dozen or so places where the
nullness annotation was either wrong, or some null checking on
parameters or return values needed to be done.

Change-Id: I43b4e56e2d025a8a4c92a8873f55c13cdbc4c1cb
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/build/KeystoreHelper.java
rc/com/android/sdklib/internal/repository/archives/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/packages/ToolPackage.java
ea2cca2e2a7fbcea004b94c83bdfc424b27a0a3d 18-May-2012 Raphael Moll <ralf@android.com> Setting to enable preview packages.

Change-Id: I7af78e81e5433396c7a1039782ab8ceda35187a0
rc/com/android/sdklib/util/FormatUtil.java
rc/com/android/sdklib/util/FormatUtils.java
b681e01f17149c0ab1da96eabbc6d121e9e8b9d0 18-May-2012 Raphael Moll <ralf@android.com> SDK Manager: Settings to control download cache.

SDK Manager > Tools > Options now has a checkbox to
deactivate the download cache. It also indicates the
path to the cache directory, its size and a button
to clear the cache immediately.

This only affects the sdk manager files for the download
cache, it doesn't clear other cached files such as the
lint binaries.

Also restructured the settings controller a tiny bit.
There's more that could be restructured here but it's
not a priority right now.

Change-Id: I474e6155bdc041770f3f7664366d0d92bd96d9b0
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/util/FormatUtil.java
rc/com/android/sdklib/util/SparseArray.java
0d08ce04d89f8ec44c3464af20ab0c00b85c64ff 17-May-2012 Raphael Moll <ralf@android.com> SDK Manager: do not erase default java http proxy properties.

If the sdk manager config file has no proxy port/host
info, do not set the corresponding java properties to
empty strings.

This means if the sdk manager settings are empty, whatever
is the default from Java OR from the Eclispe proxy settings
will be used by the manager.

Change-Id: I17bbc6faed4726fc4b6aa9b29ded7d698ed81283
rc/com/android/sdklib/internal/repository/UrlOpener.java
rc/com/android/sdklib/internal/repository/sources/SdkSource.java
73262b1c01e3a902c171a5de2825f8ab0f2b44fb 09-May-2012 Raphael Moll <ralf@android.com> SDK Manager: rework package loader.

When the SDK Manager window opens, the process is
changed to:

- first a package loader is created that only checks
the local cache xml files. It populates the package
list based on what the client last got, essentially.

- next a regular package loader is created that will
respect the expiration and refresh parameters of the
download cache.

This means for users, in the majority of cases when
remote servers do not change, the package list will
be populated as fast as possible and then an asynchronous
refresh happens.

Change-Id: Ifd1f58412dcc643eaae37257a9bc0a01fc222c90
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/internal/repository/ITaskFactory.java
28bff66f6a82f602db88127b8f39fdd7576f9fc9 03-May-2012 Raphael Moll <ralf@android.com> SDK: full revision for min-tools-rev.

Support full revision for:
- tools: min-platform-tools-rev
- platform + sample + extra: min-tools-rev

Change-Id: I2c699683c1a3c02c99654dba7c39c7a1e5cd042e
rc/com/android/sdklib/internal/repository/packages/ExtraPackage.java
rc/com/android/sdklib/internal/repository/packages/FullRevisionPackage.java
rc/com/android/sdklib/internal/repository/packages/IMinPlatformToolsDependency.java
rc/com/android/sdklib/internal/repository/packages/IMinToolsDependency.java
rc/com/android/sdklib/internal/repository/packages/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/packages/PackageParserUtils.java
rc/com/android/sdklib/internal/repository/packages/ToolPackage.java
rc/com/android/sdklib/repository/--sdk-addon-5.xsd
rc/com/android/sdklib/repository/-sdk-addon-5.xsd
rc/com/android/sdklib/repository/-sdk-repository-7.xsd
rc/com/android/sdklib/repository/SdkAddonConstants.java
ests/src/com/android/sdklib/internal/repository/archives/ArchiveInstallerTest.java
ests/src/com/android/sdklib/internal/repository/packages/MinToolsPackageTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkRepoSourceTest.java
ests/src/com/android/sdklib/repository/ValidateRepositoryXmlTest.java
ests/src/com/android/sdklib/testdata/addon_sample_5.xml
ests/src/com/android/sdklib/testdata/repository_sample_7.xml
fb13f1a4ecc40e2c63505236d248509e22e63552 07-May-2012 Raphael Moll <ralf@android.com> Fix SDK Build: move unit test to /tests folder instead of /src

Change-Id: I6891dcaa42990d80982bbd48859f99709aa62931
rc/com/android/sdklib/AndroidVersionTest.java
ests/src/com/android/sdklib/AndroidVersionTest.java
870b1db0790e53f79a845b66de96d093e44c1058 05-May-2012 Raphael Moll <ralf@android.com> SDK Manager: fix parsing of empty AndroidVersion codename.

SDK Bug: 29952

To reproduce the bug, install any system image with the SDK
Manager and add the line "AndroidVersion.CodeName=" in the
source.properties. When the SDK Manager loads, it will
incorrectly flag the system image as "broken" because it
can't understand the empty codename.

This fixes it by sanitizing the codename when creating
an AndroidVersion and using that class when loading the
properties instead of hand checking the codename in
various places.

Change-Id: Ie4a02739e56f576c7644b5539697c943d0082aac
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/AndroidVersionTest.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
d113f3dc4354ac56cc51cf698610807b5bad914c 04-May-2012 Raphael Moll <ralf@android.com> SDK Manager change format of revision property.

Instead of storing the full revision as 4 separate
properties, this stores it using the legacy
"Pkg.Revision" property with the "1.2.3 rc4"
format. It reduces the number of properties to
maintain, it's more human-readable and it's
easier when we want to have min-tools-rev be
a full revision in the next CL (otherwise it
means 4 more properties, etc.)

Change-Id: I94ebc4786e83c5b565a6d3a33d11efdfda6f72c5
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/packages/FullRevision.java
rc/com/android/sdklib/internal/repository/packages/FullRevisionPackage.java
rc/com/android/sdklib/internal/repository/packages/MajorRevision.java
rc/com/android/sdklib/internal/repository/packages/MajorRevisionPackage.java
rc/com/android/sdklib/repository/PkgProps.java
ests/src/com/android/sdklib/internal/repository/packages/FullRevisionPackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/FullRevisionTest.java
ests/src/com/android/sdklib/internal/repository/packages/MajorRevisionTest.java
ests/src/com/android/sdklib/internal/repository/packages/PackageTest.java
6ef33683dea36a439f548c3958d00cc24acaa56d 03-May-2012 Raphael Moll <ralf@android.com> SDK: cleanup all the Integer.parse(getProperty) calls.

Change-Id: Iee113eb3341f6aab65d65654505c5fedcfaff9a1
rc/com/android/sdklib/internal/repository/packages/ExtraPackage.java
rc/com/android/sdklib/internal/repository/packages/FullRevisionPackage.java
rc/com/android/sdklib/internal/repository/packages/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/packages/MajorRevisionPackage.java
rc/com/android/sdklib/internal/repository/packages/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/packages/Package.java
rc/com/android/sdklib/internal/repository/packages/SamplePackage.java
rc/com/android/sdklib/internal/repository/packages/ToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/PackageTest.java
e4b7f106500886bf4a6eb0303dbc1cfb73229954 03-May-2012 Raphael Moll <ralf@android.com> SDK: Rework repository-7.xsd

This changes the XML schema for repository-7 to put the
"full revision" in its own <revision> element with 4
sub-elements (major/minor/micro and preview).

Next step is to reuse this for min-[plat-]tools-rev
for dependencies.

Change-Id: I644f08e7383987682f8b0b31175ce58d02fd8751
rc/com/android/sdklib/internal/repository/XmlParserUtils.java
rc/com/android/sdklib/internal/repository/packages/AddonPackage.java
rc/com/android/sdklib/internal/repository/packages/BrokenPackage.java
rc/com/android/sdklib/internal/repository/packages/DocPackage.java
rc/com/android/sdklib/internal/repository/packages/ExtraPackage.java
rc/com/android/sdklib/internal/repository/packages/FullRevision.java
rc/com/android/sdklib/internal/repository/packages/FullRevisionPackage.java
rc/com/android/sdklib/internal/repository/packages/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/packages/MajorRevisionPackage.java
rc/com/android/sdklib/internal/repository/packages/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/packages/Package.java
rc/com/android/sdklib/internal/repository/packages/PackageParserUtils.java
rc/com/android/sdklib/internal/repository/packages/PlatformPackage.java
rc/com/android/sdklib/internal/repository/packages/SamplePackage.java
rc/com/android/sdklib/internal/repository/packages/SourcePackage.java
rc/com/android/sdklib/internal/repository/packages/SystemImagePackage.java
rc/com/android/sdklib/internal/repository/packages/ToolPackage.java
rc/com/android/sdklib/internal/repository/sources/SdkRepoSource.java
rc/com/android/sdklib/repository/-sdk-repository-7.xsd
rc/com/android/sdklib/repository/PkgProps.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
ests/src/com/android/sdklib/internal/repository/packages/FullRevisionPackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/MockEmptyPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockPlatformToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/PackageTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkRepoSourceTest.java
ests/src/com/android/sdklib/repository/ValidateRepositoryXmlTest.java
ests/src/com/android/sdklib/testdata/repository_sample_7.xml
87107c5cb1fb5fdafdaa94460fb6797af60fcde9 20-Apr-2012 Raphael Moll <ralf@android.com> Rework SDK Manager support for major.minor.micro revisions.

2 things in this CL:

- There's a bit of refactoring:
- PreviewVersion becomes FullVersion (which is
a full major.minor.micro.preview)
- And I introduce a MajorRevision (which is just
a major number)
- Package.getRevision() returns one of these
revision objects instead of an integer which
leads to a multide of small boring changes.
- Changed the PackageDiffLogic and its test to
adequately use the new revision; "tools preview"
packages are placed in their own category and
releases can update previews but not the reverse.

Change-Id: Ia80fd9a3791919e827ce0d183c0f297f0d27f2e6
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/packages/DocPackage.java
rc/com/android/sdklib/internal/repository/packages/ExtraPackage.java
rc/com/android/sdklib/internal/repository/packages/FullRevision.java
rc/com/android/sdklib/internal/repository/packages/FullRevisionPackage.java
rc/com/android/sdklib/internal/repository/packages/IFullRevisionProvider.java
rc/com/android/sdklib/internal/repository/packages/IPreviewVersionProvider.java
rc/com/android/sdklib/internal/repository/packages/MajorRevision.java
rc/com/android/sdklib/internal/repository/packages/Package.java
rc/com/android/sdklib/internal/repository/packages/PlatformPackage.java
rc/com/android/sdklib/internal/repository/packages/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/packages/PreviewVersion.java
rc/com/android/sdklib/internal/repository/packages/PreviewVersionPackage.java
rc/com/android/sdklib/internal/repository/packages/SamplePackage.java
rc/com/android/sdklib/internal/repository/packages/SourcePackage.java
rc/com/android/sdklib/internal/repository/packages/SystemImagePackage.java
rc/com/android/sdklib/internal/repository/packages/ToolPackage.java
rc/com/android/sdklib/repository/PkgProps.java
ests/src/com/android/sdklib/internal/repository/packages/FullRevisionPackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/FullRevisionTest.java
ests/src/com/android/sdklib/internal/repository/packages/MockEmptyPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockPlatformToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/PackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/PreviewVersionTest.java
ea0e2af1c398ad3b189a163fa574ca3d255e5895 03-May-2012 Raphael Moll <ralf@android.com> Merge "SDK Tools pkg support for major.minor.micro revisions."
abfa416d221cfee2470d4b6ee64da8f1b81cdbf1 30-Apr-2012 Siva Velusamy <vsiva@google.com> sdklib: update classpath to get mkidentity from prebuilts

Change-Id: Ic0e471830b373b8e46e0c6817f4ccf37aaf2a143
classpath
0c6def5d3f0d611bca7dbb7c2b773cd1664ec390 20-Apr-2012 Raphael Moll <ralf@android.com> SDK Tools pkg support for major.minor.micro revisions.

For tools and platform-tools, we'll support a revision
in the form "major.minor.micro rc#". The fourth one
is a preview/release candidate number.

This allows us to have revisions 18, 18.1, 18.0.1 and
18 rc1, etc.

Change-Id: I8a41491d4cd8798f1b71ed7f3484d9293fee81bc
rc/com/android/sdklib/internal/repository/packages/AddonPackage.java
rc/com/android/sdklib/internal/repository/packages/DocPackage.java
rc/com/android/sdklib/internal/repository/packages/IAndroidVersionProvider.java
rc/com/android/sdklib/internal/repository/packages/IPackageVersion.java
rc/com/android/sdklib/internal/repository/packages/IPlatformDependency.java
rc/com/android/sdklib/internal/repository/packages/IPreviewVersionProvider.java
rc/com/android/sdklib/internal/repository/packages/Package.java
rc/com/android/sdklib/internal/repository/packages/PlatformPackage.java
rc/com/android/sdklib/internal/repository/packages/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/packages/PreviewVersion.java
rc/com/android/sdklib/internal/repository/packages/PreviewVersionPackage.java
rc/com/android/sdklib/internal/repository/packages/SamplePackage.java
rc/com/android/sdklib/internal/repository/packages/SourcePackage.java
rc/com/android/sdklib/internal/repository/packages/SystemImagePackage.java
rc/com/android/sdklib/internal/repository/packages/ToolPackage.java
rc/com/android/sdklib/repository/--sdk-addon-5.xsd
rc/com/android/sdklib/repository/-sdk-repository-7.xsd
rc/com/android/sdklib/repository/PkgProps.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
rc/com/android/sdklib/repository/sdk-addon-4.xsd
rc/com/android/sdklib/repository/sdk-repository-6.xsd
ests/src/com/android/sdklib/internal/repository/archives/ArchiveInstallerTest.java
ests/src/com/android/sdklib/internal/repository/packages/MockExtraPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockPlatformToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockSystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/PlatformPackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/PreviewVersionTest.java
ests/src/com/android/sdklib/internal/repository/packages/SourcePackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/SystemImagePackageTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkRepoSourceTest.java
ests/src/com/android/sdklib/repository/ValidateRepositoryXmlTest.java
ests/src/com/android/sdklib/testdata/repository_sample_4.xml
ests/src/com/android/sdklib/testdata/repository_sample_5.xml
ests/src/com/android/sdklib/testdata/repository_sample_6.xml
ests/src/com/android/sdklib/testdata/repository_sample_7.xml
528b92910b587a6cb234a17d96fa171a233ed014 27-Apr-2012 Raphael Moll <ralf@android.com> New env-var to disable SDK Manager cache

Change-Id: Ia1c0ae789f173aca0832c1c7c1f6679645611f9b
rc/com/android/sdklib/internal/repository/DownloadCache.java
92529f27adec9ce5ec1cb3dfd79a15df7773e27c 17-Apr-2012 Raphael Moll <ralf@android.com> SDK: XML to export platform stats.

This would be used later by the NPW.

Change-Id: Iec6f24182f234d83217d83f0087aa92eabb7609d
rc/com/android/sdklib/internal/repository/SdkStats.java
rc/com/android/sdklib/repository/SdkStatsConstants.java
rc/com/android/sdklib/repository/sdk-stats-1.xsd
rc/com/android/sdklib/util/SparseArray.java
ests/src/com/android/sdklib/internal/repository/SdkStatsTest.java
ests/src/com/android/sdklib/testdata/stats_sample_1.xml
908753734919c32cc5d4b538fea68f45c1eaf31f 20-Apr-2012 Raphael Moll <ralf@android.com> Reorganize sdklib.repository packages.

This splits the sdklib repository in 3 sub-packages
for archives, packages and sources.

There are a lot of files moved around but its just
a move refactoring and the only thing changes are
imports and a few methods made public.

Change-Id: I6ce0e872ac7afea2a6a4eb70ee7bbad0c04b6678
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/ArchiveReplacement.java
rc/com/android/sdklib/internal/repository/BrokenPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/IExactApiLevelDependency.java
rc/com/android/sdklib/internal/repository/ILayoutlibVersion.java
rc/com/android/sdklib/internal/repository/IMinApiLevelDependency.java
rc/com/android/sdklib/internal/repository/IMinPlatformToolsDependency.java
rc/com/android/sdklib/internal/repository/IMinToolsDependency.java
rc/com/android/sdklib/internal/repository/IPackageVersion.java
rc/com/android/sdklib/internal/repository/IPlatformDependency.java
rc/com/android/sdklib/internal/repository/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/SdkAddonSource.java
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/SdkSourceCategory.java
rc/com/android/sdklib/internal/repository/SdkSourceProperties.java
rc/com/android/sdklib/internal/repository/SdkSources.java
rc/com/android/sdklib/internal/repository/SourcePackage.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
rc/com/android/sdklib/internal/repository/XmlParserUtils.java
rc/com/android/sdklib/internal/repository/archives/Archive.java
rc/com/android/sdklib/internal/repository/archives/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/archives/ArchiveReplacement.java
rc/com/android/sdklib/internal/repository/packages/AddonPackage.java
rc/com/android/sdklib/internal/repository/packages/BrokenPackage.java
rc/com/android/sdklib/internal/repository/packages/DocPackage.java
rc/com/android/sdklib/internal/repository/packages/ExtraPackage.java
rc/com/android/sdklib/internal/repository/packages/IExactApiLevelDependency.java
rc/com/android/sdklib/internal/repository/packages/ILayoutlibVersion.java
rc/com/android/sdklib/internal/repository/packages/IMinApiLevelDependency.java
rc/com/android/sdklib/internal/repository/packages/IMinPlatformToolsDependency.java
rc/com/android/sdklib/internal/repository/packages/IMinToolsDependency.java
rc/com/android/sdklib/internal/repository/packages/IPackageVersion.java
rc/com/android/sdklib/internal/repository/packages/IPlatformDependency.java
rc/com/android/sdklib/internal/repository/packages/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/packages/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/packages/Package.java
rc/com/android/sdklib/internal/repository/packages/PlatformPackage.java
rc/com/android/sdklib/internal/repository/packages/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/packages/SamplePackage.java
rc/com/android/sdklib/internal/repository/packages/SourcePackage.java
rc/com/android/sdklib/internal/repository/packages/SystemImagePackage.java
rc/com/android/sdklib/internal/repository/packages/ToolPackage.java
rc/com/android/sdklib/internal/repository/sources/SdkAddonSource.java
rc/com/android/sdklib/internal/repository/sources/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/sources/SdkSource.java
rc/com/android/sdklib/internal/repository/sources/SdkSourceCategory.java
rc/com/android/sdklib/internal/repository/sources/SdkSourceProperties.java
rc/com/android/sdklib/internal/repository/sources/SdkSources.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
ests/src/com/android/sdklib/internal/repository/ArchiveInstallerTest.java
ests/src/com/android/sdklib/internal/repository/ArchiveTest.java
ests/src/com/android/sdklib/internal/repository/BrokenPackageTest.java
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest_v3.java
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest_v4.java
ests/src/com/android/sdklib/internal/repository/MinToolsPackageTest.java
ests/src/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/MockBrokenPackage.java
ests/src/com/android/sdklib/internal/repository/MockEmptyPackage.java
ests/src/com/android/sdklib/internal/repository/MockExtraPackage.java
ests/src/com/android/sdklib/internal/repository/MockPlatformPackage.java
ests/src/com/android/sdklib/internal/repository/MockPlatformTarget.java
ests/src/com/android/sdklib/internal/repository/MockPlatformToolPackage.java
ests/src/com/android/sdklib/internal/repository/MockSourcePackage.java
ests/src/com/android/sdklib/internal/repository/MockSystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/MockToolPackage.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/PlatformPackageTest.java
ests/src/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/internal/repository/SdkSourcePropertiesTest.java
ests/src/com/android/sdklib/internal/repository/SourcePackageTest.java
ests/src/com/android/sdklib/internal/repository/SystemImagePackageTest.java
ests/src/com/android/sdklib/internal/repository/archives/ArchiveInstallerTest.java
ests/src/com/android/sdklib/internal/repository/archives/ArchiveTest.java
ests/src/com/android/sdklib/internal/repository/packages/BrokenPackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/ExtraPackageTest_v3.java
ests/src/com/android/sdklib/internal/repository/packages/ExtraPackageTest_v4.java
ests/src/com/android/sdklib/internal/repository/packages/MinToolsPackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockBrokenPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockEmptyPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockExtraPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockPlatformPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockPlatformToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockSourcePackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockSystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/packages/MockToolPackage.java
ests/src/com/android/sdklib/internal/repository/packages/PackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/PlatformPackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/SourcePackageTest.java
ests/src/com/android/sdklib/internal/repository/packages/SystemImagePackageTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkRepoSourceTest.java
ests/src/com/android/sdklib/internal/repository/sources/SdkSourcePropertiesTest.java
9ae013cdfed27c90306d7f8d426be6d34d369ad2 17-Apr-2012 Xavier Ducrohet <xav@android.com> Fix lib properties on windows.

This is a very crude first fix while we figure out
how to properly escape/unescape all chars.

Change-Id: I783f8fdfd802e1a8ff44bbc7f6056fb607a3e523
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
af832e8eeb4eb7e24a292ed912ce8eb7cc2a8233 12-Apr-2012 Raphael Moll <ralf@android.com> SDK: primitive implementation of download cache.

It supports:
- A local binary cache + a few http headers are saved
- If ETag is present, generates a GET with If-None-Match
- If Last-Modified is present, generates a GET with If-Modified-Since
- Ability to configure the cache to be direct (don't cache),
or serve without checkout or serve with a server check.
- Doesn't check cached files if newer than 10 minutes.
- For servers with no ETag/LastModified support, check files
every 4 hours (no pref to change this yet.)

Change-Id: I515e77291fb6810453e82e73f6508cfc60b2f422
classpath
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/DownloadCache.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
ests/src/com/android/sdklib/internal/repository/ArchiveInstallerTest.java
72d16d222e7205cab473d01f483c534747c9026b 16-Apr-2012 Raphael Moll <ralf@android.com> Merge "SDK: Use HttpClient from prebuilts/tools"
396fc3405ba9b833b19ba13ae4b16ed4c542aa16 16-Apr-2012 Raphael Moll <ralf@android.com> Merge "SDK: change proguard.config for Windows."
86f8b11eb187eae363a933f8ef3bb7ef8de0e489 16-Apr-2012 Raphael Moll <ralf@android.com> SDK: change proguard.config for Windows.

Change the default to use / dir-separators even
for the Windows template. The / will be correctly
replaced by \\ by both Ant and our ExportHelper,
ensuring a relative path works on all platforms.

SDK bug: 28860

(This does not solve the path-separator issue with
; vs : on Windows. That will be addressed later.)

Change-Id: Iee3ae9c58aa606aee7943c4e20643164bbf7344b
rc/com/android/sdklib/internal/project/ProjectProperties.java
1daa8f999d87443d14f698ca8ccc103e3309fa3e 30-Mar-2012 Xavier Ducrohet <xav@android.com> Fix "ant test" + misc clean up / reorganization of build.xml

- Split NewSetupTask in several tasks to make things more flexible.
Particularly this allows more targets to get access to the project
type (app, lib, test, ...) as it's not so computive intensive.

- Fix test project to give them access to the full tested project's
classpath.

- Fix support for projects that test themselves.

- Make sure library projects are instrumented when using the
emma target.

Change-Id: Ia0c9564eacee2521e7cbd5154b8a85ea287ad4fd
rc/com/android/sdklib/internal/project/IPropertySource.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
rc/com/android/sdklib/xml/AndroidXPathFactory.java
da8dd040b9c362677f121156af420d453fc34378 13-Apr-2012 Raphael Moll <ralf@android.com> SDK: Use HttpClient from prebuilts/tools

Requires prebuilts/tools.git change I24a2f1608

Change-Id: I7f128be1acfe585e22b5350ac1b598d4b01dc006
classpath
d770f732813773a669b3c2f3d180a9725457d97e 04-Apr-2012 Raphael Moll <ralf@android.com> SDK: unit test for SdkSourceProperties.

Also fix a name changed in the SdkUiLib test.

Change-Id: I30fa83ac607fc4735af161604514f09c2aff6a93
rc/com/android/sdklib/internal/repository/SdkSourceProperties.java
ests/src/com/android/sdklib/internal/repository/SdkSourcePropertiesTest.java
1d3cefadbc55507611b1b8ad7cd4d7f6ce4467b9 04-Apr-2012 Raphael Moll <ralf@android.com> SDK Manager: Remember last seen source names.

One issue in the SDK Manager is that sources that
are partially installed first are loaded first.
However we used to remember the source URL but not
its name, resulting in some sources having no visible
name when loaded from installed packages.

This solves the issue by storing the known source names
locally. This expands on the local settings file that
stores whether a source is enable/disable to add more
attributes.

Change-Id: Ideca00820ccad01b4cacd997b1e43b53270fa1bc
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/SdkSourceProperties.java
6462650a787c96cbb371d6aca201af3d613aad24 29-Mar-2012 Raphael Moll <ralf@android.com> SDK Manager dialog to enable 3rd party addons.

- Change AddonUser dialog: transform current dialog in
2 pages. One is for user to add custom addon site
URLs (like the dialog was doing before, unchanged.)
- Other tab is to select which official addon sites
should be enabled.
- Support enable/disable state for each source.
- Display disabled sources as such in the tree when
in "per-repository" view.
- Persist the enable bit state via local pref file.
- Refactor a few inner classes out of PackagesPage.

Change-Id: Icc8e392d90550e53f1c76dd7aefb31669219973b
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/SdkSources.java
1cb06d5bc82268dc5c684aa2ee7415175ce14c7e 27-Mar-2012 Xavier Ducrohet <xav@android.com> Use our own signing code in Ant and don't rely on Jarsigner.

JDK7 changes the default signing algorithm and breaks release
builds where the ant script does the signing after building
the apk.
This changes the Ant script to use a custom task that uses
the same code that is already used to sign debug apps.

Change-Id: I0df7378a7a59b54ef6a17db363a2127736f4434e
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/internal/build/DebugKeyProvider.java
rc/com/android/sdklib/internal/build/SignedJarBuilder.java
a50c9641a9b83db4b9db49fa5e0cad0ab859683e 09-Mar-2012 Raphael <raphael@google.com> SDK Manager: fix doc updates not being visible.

Change-Id: I993de075c265745d1db0732ae7936ce23dfd333e
rc/com/android/sdklib/internal/repository/DocPackage.java
148a3bb96fc4fc6681d8af937c2a83c35129f8b4 09-Mar-2012 Raphael <raphael@google.com> SDK Manager: Add Mips support.

(based on ae7878a5426e5df22634b449a76d59626d038713
and adapted to tools_r17.)

Change-Id: If8312af7f385cbe6e066657ef7e63ab8fd758424
rc/com/android/sdklib/ISystemImage.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SystemImage.java
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
rc/com/android/sdklib/repository/sdk-repository-6.xsd
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/testdata/repository_sample_6.xml
7b4b54057e216904fc25989beb7b0b7bff874a64 09-Mar-2012 Raphael <raphael@google.com> Merge "NPW: Find samples in extras."
5b5bdeb7e691980a1174650ce926edbaa87a5a3e 09-Mar-2012 Raphael <raphael@google.com> NPW: Find samples in extras.

Changes:
- the SdkManager can now list extras that
contain a "samples" directory.
- The NPW uses that to list samples from extras
that match the requested API level. The name
of the sample in the list also indicates the
extra's display name.

Change-Id: Id6609f53b9ba84126e36bc33e5675ec6a0284814
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
ests/src/com/android/sdklib/internal/repository/LocalSdkParserTest.java
a08befd52438d523cb2cd41b53f961785d3872fd 08-Mar-2012 Xavier Ducrohet <xav@android.com> Ant build now sanitize jar files in setup task.

Previously the list of jar files was sanitized (to remove
duplicates) in the dex task, but this meant the full list
(with duplicates) was passed to proguard when building in release
mode.

This changeset move the sanitization of the jar files in the
Setup Task so that the script later only deals with a sanitized
list. The means the content of libs/*.jar for the current project
must be looked at in the task instead of later in the XML script.

Change-Id: Ib5253b80ee7c1ded004bcdad6184e0900b7a7543
rc/com/android/sdklib/build/JarListSanitizer.java
a4ddc9f83003ac4dad261cecd77f6b331c53728e 08-Mar-2012 Xavier Ducrohet <xav@android.com> Merge "Figure out DX input path based on actual classpath."
bcf44e9429811b3e1f97d21ea92816957bce2601 07-Mar-2012 Xavier Ducrohet <xav@android.com> Figure out DX input path based on actual classpath.

This synchronizes the previous work on figuring out the actual
classpath for the library container and reuse this to figure out
what goes into dex.

Also use the classpath to figure out the java resources that should
be packaged in the apk. Additionally, only add java resources by
reading the output folder instead of the source folders as this
ensure that exclusion patterns are respected.

Change-Id: Iac742f4bdefab370ec3cf7d955736e84d58ead9c
rc/com/android/sdklib/build/ApkBuilder.java
de9dcb97c90a961f0e1500f5aea4be7501c4bc66 08-Mar-2012 Raphael Moll <raphael@google.com> Merge "SDK: generate repo using latest schemas."
19f29f1ae89d40cb4b5ab06134621a8a1c19aa96 07-Mar-2012 Raphael <raphael@google.com> SDK Manager: tweak addon comparison to support new schema.

This slightly tweaks the comparison between addons so
that the SDK Manager list can properly support a list
containing addons with solely <vendor> vs similar ones
that have <vendor-id> and <vendor-display> without
creating duplicates.

Change-Id: Id1639f73466d7e3f9912e3a0d730bfc74444e27e
rc/com/android/sdklib/internal/repository/AddonPackage.java
09d4a9a0b4d3e20c30b08fee46d1c03ff45fdc0b 07-Mar-2012 Raphael <raphael@google.com> SDK Manager: display tooltip for update packages.

When an item is both installed AND has an update available,
this changes the SDK Manager tooltip to show info for both
packages. This becomes particularly helpful when an extra
or addon can suddenly change names after an update.

Change-Id: Id96f161c0c4b3ace39cb00b6910f26080e6c15a4
rc/com/android/sdklib/internal/repository/AddonPackage.java
81c5fb5448a6342cb3bb29ea501fccf95573288c 02-Mar-2012 Xavier Ducrohet <xav@android.com> Automatically add dependencies to Eclipse project.

add libs/*.jar from Library Projects, add Java-only projects
only that referenced in Library Projects (recursively so that
Java projects that reference other Java projects pull those in
too). Also add jar files referenced by Java-only projects.

Change-Id: Ic2b10107153e0576f5e6ba34d50bd3fef95c3fea
rc/com/android/sdklib/build/JarListSanitizer.java
e70a66290663264c8990283924cf262107f68e7b 28-Feb-2012 Raphael Moll <raphael@google.com> SDK: generate repo using latest schemas.

Requires dev.git change I250fe7a3 to build properly.
Also requires Change Ia307af09 for addon.

Change-Id: Ib0363f06ce2754c58b5f2ba31c4f0720b933f0d8
rc/com/android/sdklib/repository/-sdk-addon-4.xsd
rc/com/android/sdklib/repository/-sdk-repository-6.xsd
rc/com/android/sdklib/repository/sdk-addon-4.xsd
rc/com/android/sdklib/repository/sdk-repository-6.xsd
44a21c237072fba5454732c74d1f7653523c4105 23-Feb-2012 Xavier Ducrohet <xav@android.com> Fix issue when a project and its libraries use the same jar files.

This is only an issue in Ant because in Eclipse we don't automatically
pull the jar files from libraries into the main project (we should somehow
now that we have the Library Projects jar container that is dynamic).

Right now we do a simple size/sha1 check on libraries that have the same
name to figure out if they are the same version. If they are we only
use one in the dex step (that notoriously fails to add the same class
twice). If they are different we stop the build as it's an error (having
two library projects depending on two different versions of a jar file
should be an error as we can be sure the two versions are API compatible).

For later: not use the file name only? find a way to version the libraries
and to have them declare whether they are API compatible with older versions?

Also added a hard-coded case for the Android Support Library. If both the v4
and the v13 are detected, use the v13 only as it includes the v4 already.

New test apps. Three cases:
- main and library projects with duplicate jar files that are identical
- main and library projects with duplicate jar files that are NOT identical
- main and library projects with v4 and v13 in the dependency list.

Change-Id: I3a9abdcbec635d7c9d3228bdd105120f77178b27
rc/com/android/sdklib/build/JarListSanitizer.java
1490e11ed5007fbfa432877019ed366e8a36a5a5 23-Feb-2012 Raphael <raphael@google.com> SDK Repository: add "beta release candidate" tag to XSD

This adds an optional integer>0 as "beta release candiate" to
repository packages. This will be used in tools 18 to allow
us to push beta versions of packages and still know how to
update them compared to non-beta packages.

Change-Id: I2f0d3cb75171bc23bce1eb511a4e3b86ca97245b
rc/com/android/sdklib/repository/-sdk-addon-4.xsd
rc/com/android/sdklib/repository/-sdk-repository-6.xsd
bdad89923551dbb3db139f92f5a7d09fe93d7c2c 22-Feb-2012 Raphael <raphael@google.com> Merge "ADT: Suggest solution to ADT version check error."
e27bbc4d1cf9c9d6b23344b977331bed0a3357a5 22-Feb-2012 Raphael <raphael@google.com> ADT: Suggest solution to ADT version check error.

This amends the ADT version check to help the user either:
- open the SDK Manager
- open the P2 Updater
- open the Android Preference

On Windows the launch the *external* SDK Manager since
eventually we know that ADT will lock something that would
prevent the update from working in the first place.

Change-Id: Ib20e4e1411b36e3cd794cccbc02518db0a40ced9
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/build/KeystoreHelper.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/util/GrabProcessOutput.java
0bf1b2c94e8b3d829fd69d11f2efd550d6159cb9 17-Jan-2012 Tor Norbye <tnorbye@google.com> Split ProGuard file into two halves

This changeset splits the proguard.cfg into two halves:

(1) All the general Android settings go into
$ANDROID_SDK/proguard/proguard-android.txt.

This defines shrinking rules like keep custom views, etc. The
crucial point is that this information is maintained and updated
by Tools updates, so whenever new APIs are added to Android, or
whenever bugs are found in the configuration such as flags needed
to work with Dalvik, we can make the updates - we don't have old
snapshots living on in projects.

(2) Any project specific settings go to proguard-project.txt in the
project.

(3) The proguard.config property in project.properties now refers to a
*path* of configuration files, which are all passed to ProGuard in
the given order. The code which processes this setting will
substitute android.sdk.home and user.home variables, so the path
does not have to be hardcoded to point to the project-android.txt
file.

The default project templates have been updated to include a
commented out configuration setting up proguard as described
above.

The default proguard file name was changed from proguard.cfg to
proguard-project.txt such that it can be directly opened in Eclipse
and to make it clear it's an editable text file.

Lint was updated to find the Proguard file via the proguard.config
property as well as via the old and new default names for projects not
enabled with ProGuard.

A subsequent CL will add a lint check which identifies projects
containing the old setup (full local configuration) and offer to
replace it with the new setup.

Change-Id: I44b4c97a160114c2382f02f843c95486a0dc9d6b
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
8e054f9228c59c1371b93c104558c0c0e1436b6a 17-Feb-2012 Raphael <raphael@google.com> Fix build: generate addon.xml in v3, not new v4 xsd

Change-Id: I7a416dfacfa871755ce86660feb73b699ff97dc1
rc/com/android/sdklib/repository/-sdk-addon-4.xsd
rc/com/android/sdklib/repository/sdk-addon-4.xsd
fc9c99e32d8f462eed14b7bdafbc2ba08607c3df 14-Feb-2012 Raphael <raphael@google.com> SDK Repository: name/vendor id/display for addons.

SDK Bug: 21942, part 2 of 3.

(part 3 is replacing manifest.ini by source.props)

Change-Id: I96be0d8210120927744224d909f7ee7184ebfecf
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/sdk-addon-4.xsd
ests/src/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/repository/ValidateAddonXmlTest.java
ests/src/com/android/sdklib/testdata/addon_sample_4.xml
52a70dbcf795b16104d6a7872976dde8760249e3 14-Feb-2012 Raphael <raphael@google.com> SDK Manager: support forward evolution of repository-N.xml

Change-Id: I1ec10f677d542b02d1588c43d5b40ed10d94f874
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
957ac03267ebc574c1389fd0c7f672c9a3a111a3 11-Feb-2012 Raphael <raphael@google.com> SDK Repository: vendor id/display name for extras.

SDK Bug: 21942, part 1 of 2.

Change-Id: Id9c026965b365e57302c56620f4ec8f88573d633
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/repository/PkgProps.java
rc/com/android/sdklib/repository/RepoConstants.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
rc/com/android/sdklib/repository/sdk-addon-4.xsd
ests/src/com/android/sdklib/internal/repository/ArchiveInstallerTest.java
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest.java
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest_v3.java
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest_v4.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/repository/ValidateAddonXmlTest.java
ests/src/com/android/sdklib/testdata/addon_sample_4.xml
696a2e8896cf79749a5fb429331adf5b1b64d874 10-Feb-2012 Raphael <raphael@google.com> SDK Repository: remove <extra> from repository.xml

To simplify and avoid XSD duplication, remove extra
packages from the repository.xsd. Instead they should
be defined via an addon.xml.

Note that -repository-6.xsd is prefixed with a dash,
meaning the SDK Manager 17 knows about it and can enforce
it but the build server will continue creating repos
in v5 for now. Once r17 is deployed, we can make the
xsd v6 mandatory for r18.

Change-Id: I00d4644378bcc95bfd9ceb7eede0c8c720926f74
rc/com/android/sdklib/repository/-sdk-repository-6.xsd
rc/com/android/sdklib/repository/SdkRepoConstants.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/repository/ValidateAddonXmlTest.java
ests/src/com/android/sdklib/repository/ValidateRepositoryXmlTest.java
ests/src/com/android/sdklib/testdata/repository_sample_6.xml
56a6d5e290d78888d3640a555385d123abb0d503 09-Feb-2012 Raphael <raphael@google.com> SDK Manager: use find_lock.exe when install dir is locked.

For the SDK Manager on Windows, this uses find_lock.exe
to try to find the processes that are locking an existing
SDK folder that cannot be moved out of the way.
The result is displayed in a simple yes/no dialog or
on the command-line if invoked without UI.

Change-Id: I39fa7529e207e870376a30c8311440f9c240d4b3
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
8c578aff7c5d84bc38d5a6d391986aece3cd2e19 09-Feb-2012 Raphael <raphael@google.com> SDK/ADT: Refactor grabProcessOutput.

We have many implementations of grabProcessOutput.
This introduces an utility in sdklib that takes
an interface to capture out/err and uses this in
various places instead of duplicating the code.

Change-Id: I7e6eea443c592ae5670485369233e1cd002ff9cc
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/build/KeystoreHelper.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/util/GrabProcessOutput.java
858b17c8539f9d9cb7202e6fa7e87bda35ca021c 07-Feb-2012 Raphael <raphael@google.com> Merge "SDK Manager: extract samples as read only."
585c358c3cf4c10d70b28da7f777ea844c79e41f 07-Feb-2012 Raphael <raphael@google.com> Merge "SDK Manager: extract source packages as r-o."
2d0bec5514d42fe717133f6c017019c542ef0c46 06-Feb-2012 Raphael <raphael@google.com> SDK Manager: extract samples as read only.

This changes the SDK Manager to extract sample code
as read-only files (for java, aidl and xml sources).

Then we have a change in ADT to make sure that
the NPW copies the sources of a sample as read-write.

Change-Id: I26a494d3b1a08890b5b6970eea759b6f7c63c62c
rc/com/android/sdklib/internal/repository/SamplePackage.java
72b588de47324540a1989fcc7d1b820b56045371 06-Feb-2012 Raphael <raphael@google.com> SDK Manager: extract source packages as r-o.

Extract Java sources from source packages as read-only.
When such sources are added to the target build path in
Eclipse it prevents users from modifying them by mistake.

Change-Id: I271d1d55e35ba275494b9d5d899817a7d0ad0361
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/SourcePackage.java
rc/com/android/sdklib/io/FileOp.java
rc/com/android/sdklib/io/IFileOp.java
ests/src/com/android/sdklib/internal/repository/ArchiveInstallerTest.java
ests/src/com/android/sdklib/io/MockFileOp.java
024cc09a19e096bcd1a4eae7eec16b29083bad2c 06-Feb-2012 Tor Norbye <tnorbye@google.com> Merge "Update default project icons, and add an xhdpi version"
ec17a292857ccc0f458de06d055485e4eb8765be 28-Jan-2012 Xavier Ducrohet <xav@android.com> Automatically add annotations.jar on the classpath for API<=15

This is to provide app some annotations used by the tools.
Those annotations will be part of the API later.

Change-Id: I32b31a3039e4fbb331682a84192252bd43c0f54a
rc/com/android/sdklib/SdkConstants.java
2ccd27ce4e32da8832d2810f152b1752074bfd41 19-Dec-2011 Raphael <raphael@google.com> Manifest Merger tool.

Change-Id: Iae9033f04654e03151c206b5dfb1fd8f47eea8f2
rc/com/android/sdklib/util/CommandLineParser.java
ests/src/com/android/sdklib/mock/MockLog.java
18bce12c5916331971b2e8108f8485cc56b696d3 06-Jan-2012 Tor Norbye <tnorbye@google.com> Fix locale handling of uppercase/lowercase

This changeset fixes issue
23747: i and İ character problem in turkish operating Systems...
and probably many other bugs in the Turkish locale.

Basically, we had a lot of String.toLowerCase() and
String.toUpperCase() calls. This performs locale sensitive
conversions, which in many cases is NOT what we want; for "machine
readable" conversions we should be using Locale.US which performs no
special cases.

For more, see
http://developer.android.com/reference/java/util/Locale.html#default_locale

Change-Id: I996b0e70fb377e8dae484c5811deb8bc9afb684c
rc/com/android/sdklib/SystemImage.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
5843f30f42b11cc6a6b4ca25a57bfe04bfe7d517 21-Dec-2011 Raphael <raphael@google.com> SDK: Extend CommandLineParser to support string arrays.

This allows the parser to process an input such as:
$ cmd verb --arg1 value1 --arg2 value2 value3 value4
or
$ cmd verb --arg1 value1 --arg2 value2 -- -value3 --value4

Change-Id: I7ea6c019c2bb4ee5003bdba1f0774f3c062322c2
rc/com/android/sdklib/util/CommandLineParser.java
ests/src/com/android/sdklib/util/CommandLineParserTest.java
09c6e56052a136ce9f82876d3199a527d9cba678 21-Dec-2011 Raphael <raphael@google.com> Move CommandLineProcessor from sdkmanager to sdklib as CommandLineParser

Change-Id: I4413efea2887436d167ce44db6f0cd711bdf8fdd
rc/com/android/sdklib/util/CommandLineParser.java
ests/src/com/android/sdklib/util/CommandLineParserTest.java
820265da80f6aef2f95d94bbc329e30999ec794f 23-Dec-2011 Tor Norbye <tnorbye@google.com> Add @NonNull annotation and configure Eclipse settings

This changeset adds a new @NonNull annotation, to match our existing
@Nullable annotation, and it adds configuration settings for Eclipse
3.8 / Eclipse 4.2 which configures the new null analysis there to use
our own annotations. Note that the annotations only have source
retention so there is no extra size or class-loading overhead. (To use
findbugs you'll need to temporarily change retention to class-level.)

In upcoming CL's I'll use these annotations to clarify the Lint API
and other APIs.

Change-Id: I99096d8b8a7e25ef002624d592da7700195a5872
settings/org.eclipse.jdt.core.prefs
ab36f4e7488358dea4ab6b54ee2b7bef3da0232b 21-Dec-2011 Tor Norbye <tnorbye@google.com> Update SDK codebase to JDK 6

This changeset makes the SDK codebase compile with source=1.6 (which
means it also requires JDK 6). This means that methods implementing an
interface requires @Override's. It also means we can start using APIs
like the ArrayDeque class and methods like String#isEmpty().

This changeset looks big but the change is trivial: it's basically
adding @Override in all the places that need it, along with some other
automatic Eclipse cleanup in certain files (such as reordering imports
where they were incorrectly ordered (because older versions of Eclipse
didn't always handle inner classes right)), as well as cleaning up
trailing whitespace and removing some $NON-NLS-1$ markers on lines
where there aren't any string literals anymore.

This changeset also sets the source and target JDK level to 6 in the
Eclipse compiler .settings file, and synchronizes this file to all the
other Eclipse SDK projects.

Change-Id: I6a9585aa44c3dee9a5c00739ab22fbdbcb9f8275
settings/org.eclipse.jdt.core.prefs
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/NullSdkLog.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/StdSdkLog.java
rc/com/android/sdklib/SystemImage.java
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/build/ApkBuilderMain.java
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/ArchiveReplacement.java
rc/com/android/sdklib/internal/repository/BrokenPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/NullTaskMonitor.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/SdkSourceCategory.java
rc/com/android/sdklib/internal/repository/SourcePackage.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/io/FileOp.java
rc/com/android/sdklib/xml/AndroidXPathFactory.java
ests/src/com/android/sdklib/internal/build/DebugKeyProviderTest.java
ests/src/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/MockMonitor.java
ests/src/com/android/sdklib/internal/repository/MockPlatformTarget.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/io/MockFileOp.java
ests/src/com/android/sdklib/mock/MockLog.java
ests/src/com/android/sdklib/repository/CaptureErrorHandler.java
f2d1abb4f4e55d50432d1a19541df42a86517620 17-Dec-2011 Tor Norbye <tnorbye@google.com> Update default project icons, and add an xhdpi version

Change-Id: I1c8a8ee2e470a30bc9df76b694e9b68fe09d5712
rc/com/android/sdklib/internal/project/ProjectCreator.java
191e6a53717c3e6fc3a9dabc2866f3818c459898 08-Dec-2011 Raphael <raphael@google.com> SDK Manager: shutdown httpclient to abort download.

When a user aborts a download in the SDK Manager,
we call the HttpClient InputStream.close().
It turns out this blocks till the download is complete.
Issuing the client shutdown first makes it really
close the connection, as indicated in the javadoc.

SDK Bug: 21167

Change-Id: Ie68a60d60f482a0f7abaea084ffbf6700a0a9a3d
rc/com/android/sdklib/internal/repository/UrlOpener.java
d9b8f06adac48d40d7201d15d2396d193bc0e5e6 01-Dec-2011 Raphael <raphael@google.com> SDK Manager: verbose print if unzip fails.

The core issue was that source packages were not properly
zipped on the build server side, which made the unzip crash
with an EOFException. This simply adds a better verbose
message in case this happens again.

It seems the Java ZipFile bug listed in there is fixed
at least in the JVM I'm currently running (1.6 and 7)
but anyway I added the extra safeguard code as documented
in the reported bug (e.g. don't ask ZipFile to unzip more
than the actual size of the entry.) Can't hurt to have it.

Change-Id: Ib47530920474e320da69c35d9a695d931bed55c1
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
fe084645ce1ac38ec449a054da0a65bc28beace7 29-Nov-2011 Raphael Moll <raphael@google.com> SDK: Switch back to android.bat.

android.exe is not ready for usage yet.
The local sdk parser can still detect both.

Change-Id: I597f9b5553628b55703aa12282b2808c0b6d1fb1
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
0e117ffa9a638aa062a66daf93e96a9ee2fe2576 15-Nov-2011 Raphael <raphael@google.com> Merge "SDK: Switch from android.bat to android.exe"
efe1af451d561571ea8e29bbe90ccaa3b66461e4 14-Nov-2011 Raphael <raphael@google.com> SDK: Switch from android.bat to android.exe

Change-Id: I549340bdaaf78d6d314992ad2b91e9b45f97d2c2
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
cefde2307aa8737fccc756c3b69c3d7ca3e53e8b 13-Nov-2011 Siva Velusamy <vsiva@google.com> Add support for NTLM proxy authentication.

Change-Id: Ia8375444bf99b33396616a57e781adb22d82175d
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
rc/com/android/sdklib/internal/repository/NullTaskMonitor.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
rc/com/android/sdklib/internal/repository/UserCredentials.java
ests/src/com/android/sdklib/internal/repository/MockMonitor.java
3693d5ef092c27d2c10abac6992df0ec4b80976d 11-Nov-2011 Xavier Ducrohet <xav@android.com> Merge "Add support for BuildConfig class to ADT."
3056c8e00f7c36d022cc00f227c22d53d6113733 19-Oct-2011 Xavier Ducrohet <xav@android.com> Add support for BuildConfig class to ADT.

Change-Id: I17d4eae699e55e41c26c6125175b893a3012699e
rc/com/android/sdklib/internal/build/BuildConfigGenerator.java
0e7626245014c961d3272ae8fa401e09bec6ee30 01-Nov-2011 Raphael <raphael@google.com> SdkManager: rework pkg diff to avoid duplicates

Change-Id: Iad1576ec4ca03213679aabb97328bcf9c0f590eb
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/LocalSdkParserTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
1d0646bea498ad7bb9ca5aa3a50f433c575a78d3 25-Oct-2011 Raphael <raphael@google.com> SDK Manager: change addons_list.xml download URL.

SDK Bug: 5508174

Change-Id: I14ab4163e0f07824226cc78f72b538e2f82d7c5f
rc/com/android/sdklib/repository/SdkAddonsListConstants.java
54cf88137a0b392c26144b5d8c8b87291075309d 22-Oct-2011 Raphael <raphael@google.com> Merge "Prevent NPE in 'android update project'."
6502dab137786678877c1e4a6a68901ae493fd93 22-Oct-2011 Xavier Ducrohet <xav@android.com> Platform now returns the new location of the renderscript includes.

http://code.google.com/p/android/issues/detail?id=21006

Change-Id: Ice55f026e9d78922bfa359edad62630a8f7fb8ed
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
3bd440e8ffa0affa9747516f1a16d2b8bae65d34 22-Oct-2011 Raphael <raphael@google.com> Merge "Fix AVD Manager creation for GTV issue."
f0ea77b8773d0f9536cb4ce18fba6aef07fcb0c5 21-Oct-2011 Raphael <raphael@google.com> Fix AVD Manager creation for GTV issue.

SDK Bug: 20963

Change-Id: I46b8e808f2eb0c008b60036631a4d061d02085c6
rc/com/android/sdklib/internal/avd/AvdManager.java
24bf21ec932cb962fb7b335abdc30250be2de360 21-Oct-2011 Raphael <raphael@google.com> SDK Manager: label incompatible packages.

- Clearly states that a package is not compatible.
- Provides an env var to work around and install anyway:
$ export ANDROID_SDK_IGNORE_COMPAT=1
$ tools/android

Change-Id: I5d94fbe452c72572054b2aecb781acfe3519135c
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
5d658389def8f881c1a5f5d7e12bf3e39152ad8f 18-Oct-2011 Raphael <raphael@google.com> Prevent NPE in 'android update project'.

SDK Bug 20535.
Doesn't seem reproducible, so just defend against
a potential NPE anyway.

Change-Id: Ieb6a0958c7585ea3c5cffbb640943263a14e4c60
rc/com/android/sdklib/internal/project/ProjectCreator.java
5ff70872aa2c37af8c67b55657d36d30d2491372 17-Oct-2011 Raphael <raphael@google.com> Merge "SDK Manager: env var SDK_TEST_BASE_URL"
34aefb0509ec35d0fd327d9e470a395313d6359c 15-Oct-2011 Xavier Ducrohet <xav@android.com> Merge "Add BuildConfig to ant SDK project."
b0ac9620f74f0b3817a8847178ca53d876b78a09 14-Oct-2011 Raphael <raphael@google.com> SDK Manager: env var SDK_TEST_BASE_URL

Support a new env var SDK_TEST_BASE_URL that should
be set to the root of an alternate repo. When set
it will completly override the built-in default
repository base URL.

Change-Id: I4852d4c60aac19e2e5c7c34d848b15254d93afb6
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/repository/SdkAddonsListConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
e162064a7b5db1eecec34271bc7e2a4296181ea6 14-Oct-2011 Xavier Ducrohet <xav@android.com> Add BuildConfig to ant SDK project.

The BuildConfig class contains a single boolean constant
called DEBUG which is true only for debug/instrumented builds.

This allows developers to create debug only code that's automatically
stripped from release builds.

Also fixed some issues with dependency check for other tasks, notably
the aapt task that would always find new files due to not filtering
out files that are ignored by aapt itself (hidden files, version control
files, etc...)

Change-Id: I4391a87c064a185d6b337ca46e3a9f0e43c5174d
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/internal/build/BuildConfig.template
rc/com/android/sdklib/internal/build/BuildConfigGenerator.java
a607442176215db1fd8aa63f5e27183f122b8da5 14-Oct-2011 Raphael <raphael@google.com> Merge "SDK Manager: fix duplicated Extra Packages."
a0fcdd03d2a6475d59441443ec21888043514ca9 14-Oct-2011 Raphael <raphael@google.com> SDK Manager: fix duplicated Extra Packages.

Change-Id: I0518515a2095b63099cb69d67d110330b148d5a2
rc/com/android/sdklib/internal/repository/Package.java
9d38047fb0c217cc3ee5ef01edf920ae642edb9a 14-Oct-2011 Raphael <raphael@google.com> SDK Manager: don't output XML parse errors to stderr

This is exactly like change I6f82b040 except now we
remove the stderr output when parsing the addons_list.xml

To put this in context, end-users should not see any
xml parsing error. In this case we get one because the
file doesn't exist on the test server and the web server
returns an HTML page describing the error, which naturally
fails to validate against our XSD. But since the point of
the method is just to validate, errors are irrelevant.

Change-Id: I80b2c7600d1ceffa870ac3d71ef0c0f6ef9f809c
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
4f6fa011befdddecdd8c52b0256853e8c04e244c 11-Oct-2011 Raphael <raphael@google.com> SDK Manager: Prevent 'adb start-server' from blocking

SDK Manager hangs on windows after it tries to stop
and restart ADB (e.g. when installing platform-tools).

It hangs when capturing the stdout/stderr pipes -- these
don't close automatically when the process has finished
and these are not interruptible streams.
One workaround is to not capture them, especially since
the output isn't really useful for the installer anyway.

Change-Id: I6554461dfffad2cc8ff0f1fe7d212fdee742e2e6
rc/com/android/sdklib/internal/repository/AdbWrapper.java
627ab8dcda7ff08c4a9b6de4f50768a3573ad333 08-Oct-2011 Raphael <raphael@google.com> SDK Manager: don't output XML parse errors to stderr

Change-Id: I6f82b040e8a2f91c24b7e75b3371f249b0b0f383
rc/com/android/sdklib/internal/repository/SdkSource.java
14b0907ed9b802a1d9ecc3ad543203f1b4788532 06-Oct-2011 Siva Velusamy <vsiva@google.com> Fix NPE: for some properties, description was null.

See http://code.google.com/p/android/issues/detail?id=20447

Change-Id: I7db8f16b4027a9f4582c4a70bf8ad1c048ae7006
rc/com/android/sdklib/internal/avd/HardwareProperties.java
4c7bf6fe4dbf06f43d86b639ce5144ffeff7a626 05-Oct-2011 Raphael <raphael@google.com> SDK: fix SdkManager class not releasing FileInputStream

In various parts of the code base, I see code that creates
a FileInputStrea and never closes it. Unfortunately on
Windows that means the file will stay locked for as long
as the java process is alive.

In this case the SdkManager wasn't closing to input streams
which makes the source.properties files locked, and thus
it makes it impossible to upgrade/delete the corresponding
packages.

There are more occurences of this elsewhere in the code.

Change-Id: I9f0a854b210411757eee8b4ebf8308b059206542
rc/com/android/sdklib/SdkManager.java
903ae4af34664fb8ffffa7a86e907814f860dab1 05-Oct-2011 Raphael <raphael@google.com> SDK Manager: Fix NPE when deleting local archive

Properly enforce that all local archive should have
an actual installation path to be considered local.

This was missing in the system image and the source
archives introduced last week.

Change-Id: I3e4abd3c4136c9be73061e207e42e2d3cc22ca8b
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/SourcePackage.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
rc/com/android/sdklib/io/FileOp.java
ests/src/com/android/sdklib/internal/repository/MockBrokenPackage.java
ests/src/com/android/sdklib/internal/repository/MockEmptyPackage.java
ests/src/com/android/sdklib/internal/repository/MockSourcePackage.java
ests/src/com/android/sdklib/internal/repository/MockSystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/SourcePackageTest.java
ests/src/com/android/sdklib/internal/repository/SystemImagePackageTest.java
391b7e5a7d82068e4714572d3a5ef830c562796a 05-Oct-2011 Xavier Ducrohet <xav@android.com> Merge "Make source.prop more important than build.prop when parsing platforms."
655ebafcd6c81a84aac06ce185592bf4dace3f8e 05-Oct-2011 Raphael <raphael@google.com> Merge "SDK: Use a different repository-N.xml for updating."
8f4710850b3a01d6e5f1188440c59d6999646858 04-Oct-2011 Raphael <raphael@google.com> SDK: Use a different repository-N.xml for updating.

Change-Id: I566b6945b7d31c3bfe52b834014beb3f37a098d8
rc/com/android/sdklib/internal/repository/SdkAddonSource.java
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
6a5504251e5b089d0a41e71fc35f8c7a4bfae635 04-Oct-2011 Xavier Ducrohet <xav@android.com> Make source.prop more important than build.prop when parsing platforms.

Change-Id: I715a7503a7be2b28cd89bd441b8cbb5ee620ccac
rc/com/android/sdklib/SdkManager.java
b4ea99769f2bc149ac3a3fef77c49b7b4b83fe90 04-Oct-2011 Raphael <raphael@google.com> SDK: revert c649a334 and fix missing \n properly.

Change-Id: I4affda9be00c37c4a801816625f57f7eda585ef4
rc/com/android/sdklib/ISdkLog.java
rc/com/android/sdklib/internal/avd/AvdManager.java
e3a47ab00fedabb25bb0c8eb5d816e00b5d5e652 04-Oct-2011 Raphael <raphael@google.com> SDK: Fix bug that prevents repo XSD upgrades

This fixes the bug in the current code.
We're going to switch to a different upgrade mechanism,
rendering this code useless, but I'd still have this
checked in for the record: the issue is that the
temporary node is mixed up and the attributes use the
element name instead of their attribute names.

Change-Id: I3abcfd476494ee2ddb8b75789b346e86556d8d85
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
28e97beb4570a5df7a29b2c6bc81b1732093333d 01-Oct-2011 Raphael <raphael@google.com> Merge "SDK: fix missing \n in 'android create avd'"
c649a334d7bc656ea3c00cd9d3d102c88fbf8f80 30-Sep-2011 Raphael <raphael@google.com> SDK: fix missing \n in 'android create avd'

SDK Bug: 20430

Change-Id: Id427390c799165a1dff07530c6fce48488193055
rc/com/android/sdklib/ISdkLog.java
d963b52229e2d1a3875698e5d2822f00df3485c9 27-Sep-2011 Raphael <raphael@google.com> SDK repository: support for source packages.

Change-Id: Ib8df984ddbad0bb6f0eb4c2fb0bd4b9c49b334cc
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/SourcePackage.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
rc/com/android/sdklib/repository/sdk-repository-5.xsd
ests/src/com/android/sdklib/SdkManagerTestCase.java
ests/src/com/android/sdklib/internal/repository/LocalSdkParserTest.java
ests/src/com/android/sdklib/internal/repository/MockSourcePackage.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/internal/repository/SourcePackageTest.java
ests/src/com/android/sdklib/internal/repository/SystemImagePackageTest.java
ests/src/com/android/sdklib/testdata/repository_sample_5.xml
60bb1722d62a628fdfee3902fa21084505682275 23-Sep-2011 Xavier Ducrohet <xav@android.com> Merge "Add dependency support for ApkBuilder ant step."
24ac8c1d152da56cbeb8341ab34c9f454cdef0b2 23-Sep-2011 Xavier Ducrohet <xav@android.com> Merge "Add support to make identity files from the command line."
0a6192fd645d454bb7004600c6e1704abc05a4b7 16-Sep-2011 Xavier Ducrohet <xav@android.com> Add support to make identity files from the command line.

Change-Id: Ifaa1b4653ea6c1b311e711bd285d08afb0d3e12c
classpath
ndroid.mk
anifest.txt
rc/com/android/sdklib/internal/build/MakeIdentity.java
a9a28238f7b20d7c0a05c95afad02fcdb34e0d0e 02-Sep-2011 Xavier Ducrohet <xav@android.com> Add dependency support for ApkBuilder ant step.

Change-Id: I7230a2aa3df5fab8b420f1ed2f359621fbda7f5a
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/build/ApkBuilderMain.java
53c2f0ce0dfac607c6ff3b6350b61ba134cd7eeb 22-Sep-2011 Raphael <raphael@google.com> Display the full error info for broken packages.

The BrokenPackage contains a "long description" that
contains the error (why it is broken). We need to use
that and not override it with the base package
description.

Change-Id: I3eff79f2f9aabd54c2f1eaf7b671bdfe929627df
rc/com/android/sdklib/internal/repository/BrokenPackage.java
84f83d86c90b9fafc7d7a56f12ae7996e7a5a298 18-Sep-2011 Raphael Moll <raphael@google.com> Merge "Enable SDK Repo to use latest XSD versions."

This requires development.git Change-Id If3beb09a to build.

Manual cherry-pick of b889a8783158f156bc95ec3c63cccd60e210f1d1.
Apparently it wasn't auto-merged automatically.

Change-Id: I12f9da8e5348e8524294866f3e400110926e8317
rc/com/android/sdklib/repository/-sdk-addon-2.xsd
rc/com/android/sdklib/repository/-sdk-addon-3.xsd
rc/com/android/sdklib/repository/-sdk-repository-4.xsd
rc/com/android/sdklib/repository/-sdk-repository-5.xsd
rc/com/android/sdklib/repository/sdk-addon-2.xsd
rc/com/android/sdklib/repository/sdk-addon-3.xsd
rc/com/android/sdklib/repository/sdk-repository-4.xsd
rc/com/android/sdklib/repository/sdk-repository-5.xsd
d1ac9be49485ac6e07307e1bd5be4853b701f5f5 19-Sep-2011 Raphael <raphael@google.com> SDK: change way system image packages are loaded.

This change the system image packages to not care
about the directory name of where they are located
and instead enforce the presence of a source.properties
file.

Change-Id: I580a0c04a453297ae7ddf9de8e012fd65d34d776
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/BrokenPackage.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
ests/src/com/android/sdklib/SdkManagerTestCase.java
ests/src/com/android/sdklib/internal/repository/LocalSdkParserTest.java
1b0a26cee7812957706eae92573cc9a2f776ce23 18-Sep-2011 Raphael <raphael@google.com> SDK Manager: Extract all source.properties constants.

The SDK Manager uses specific constants to save
local source.properties files in installed packages.
This moves all these constants in a common constant
class and makes it explicit that these constants
form some kind of API that can't be changed arbitrarily.

Change-Id: I005f13f53768fbcc677edf94be0b4c13e19e3ec8
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/ILayoutlibVersion.java
rc/com/android/sdklib/internal/repository/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
rc/com/android/sdklib/repository/PkgProps.java
ests/src/com/android/sdklib/internal/repository/ArchiveInstallerTest.java
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest.java
ests/src/com/android/sdklib/internal/repository/MinToolsPackageTest.java
ests/src/com/android/sdklib/internal/repository/MockPlatformPackage.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/PlatformPackageTest.java
ests/src/com/android/sdklib/internal/repository/SystemImagePackageTest.java
2c4c6561c01683bda2681a1449e6a3c0915e5d6a 16-Sep-2011 Raphael <raphael@google.com> SDK Manager: make 'list sdk' ids deterministic.

This changes 'android list sdk' to output deterministic
install IDs. These IDs can then be give to 'android update sdk'.

Example of usage:

$ android list sdk --extended
Refresh Sources: [...]
----------
id: 2 or "android-13"
Type: Platform
Desc: Android SDK Platform 3.2, revision 1
[...]
----------
id: 41 or "extra-google-usb_driver"
Type: Extra
Desc: USB Driver for Windows, revision 4

$ android update sdk --no-ui --filter android-13,extra-google-usb_driver
=> This installs the platform API 13 and the USB Driver.

SDK Bug: 19504

Change-Id: I3109c90371d292df4e9cf845208bf8efe774233f
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/BrokenPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/util/LineUtil.java
ests/src/com/android/sdklib/internal/repository/BrokenPackageTest.java
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest.java
ests/src/com/android/sdklib/internal/repository/MinToolsPackageTest.java
ests/src/com/android/sdklib/internal/repository/MockEmptyPackage.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/PlatformPackageTest.java
ests/src/com/android/sdklib/internal/repository/SystemImagePackageTest.java
ests/src/com/android/sdklib/util/LineUtilTest.java
647fde24273f228dc346993f73e4198065127b8f 14-Sep-2011 Raphael <raphael@google.com> Merge changes I74718caa,I5811c160

* changes:
SdkManager: double selection on tree viewer.
Tweak sdk manager progress bar.
606d26952d74e0c39f3c766bab828cf96f507453 13-Sep-2011 Raphael <raphael@google.com> SdkManager: double selection on tree viewer.

Change-Id: I74718caa48a59f132b6d37988625376c312bba27
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
eb3fbf45fb4107a7141cd76fbdab4375ac238e91 13-Sep-2011 Raphael <raphael@google.com> Tweak sdk manager progress bar.

Change-Id: I5811c1601578a9e6e53d59f13ba469d2ce7d767f
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
2e9be3365117d1ece3989cce4bb7ef0421df7343 08-Sep-2011 Tor Norbye <tnorbye@google.com> New Project Wizard overhaul

This changeset splits the New Project Wizard into multiple logical
wizards (a separate one for samples, testing and plain projects), and
each wizard contains multiple pages - such as a separate page for SDK
selection, a separate page for Sample selection, a separate page for
Test target selection, and so on.

In addition, sample projects are now copied into the workspace itself
such that they can be modified and deleted without affecting the mater
copy in the SDK install directory. Samples can also be accessed from a
new separate entry in the New wizard.

The SWT code is now maintained with WindowBuilder. Most of the code in
NewProjectWizard was related to actually building the projects, and
this code is preserved in the new NewProjectCreator class which is
used by unit tests etc such that we don't need to create a stub wizard
and stub wizard page anymore.

Change-Id: I64872722e320a109870403d25fdf051270b526ed
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
f481ad78b0039368eeee4bda63c6c645ceb4837e 07-Sep-2011 Raphael <raphael@google.com> Load standalone system images in the SdkManager.

This revamps the way system images are handled
in the internal SdkManager class.

Before, a given IAndroidTarget could provide a list
of ABI strings it new about, discovered by parsing
the SDK/platform/images/xyz or SDK/addon/images/xyz
folder.

This introduces the notion of System Image to an
IAndroidTarget. A system image combines an ABI with
a location strategy (legacy images folder, images
sub-folder or standalone sdk/system-images folder)
and an actual location path.

Change-Id: If5b748aa9aef6788bc3c814818381c7918b40bca
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/ISystemImage.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/SystemImage.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
rc/com/android/sdklib/io/FileOp.java
ests/src/com/android/sdklib/SdkManagerTest.java
ests/src/com/android/sdklib/SdkManagerTestCase.java
ests/src/com/android/sdklib/internal/repository/LocalSdkParserTest.java
ests/src/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/MockPlatformTarget.java
02db530a055a7656cc5f3b453638c9558cbc22df 08-Sep-2011 Raphael <raphael@google.com> Merge "Add missing NON-NLS to SdkConstants."
3af60e9efcc9ef272d8c6a8efcd08614860c8c42 08-Sep-2011 Raphael <raphael@google.com> Merge "More support for standalone system image packages."
bc4b582f2d9b5431d1b803244aa774b04a01aab8 08-Sep-2011 Raphael <raphael@google.com> Merge "Fix SdkManager.UrlOpener to support file:// URLs."
bdd151d0daba1ee54e4d78c38ccb5894739d6b84 07-Sep-2011 Raphael <raphael@google.com> Add missing NON-NLS to SdkConstants.

Not stricly needed, but it's nice to uniformize the file.

Change-Id: Ia3930f46d465588ccb1b071679661f567bea8bce
rc/com/android/sdklib/SdkConstants.java
416858b586043b1479cc42dd261cb544c61874da 07-Sep-2011 Raphael <raphael@google.com> More support for standalone system image packages.

Change-Id: I084c3b4916b1ce69ba602ced5be308f0d215eff8
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/MockBrokenPackage.java
ests/src/com/android/sdklib/internal/repository/MockSystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/internal/repository/SystemImagePackageTest.java
f10fb34e91e3dadd0289edd1a2f2ab56799974da 07-Sep-2011 Raphael <raphael@google.com> Fix SdkManager.UrlOpener to support file:// URLs.

The new Apache HttpClient code doesn't support local file://
URLs. For any unsupported protocol, retry using the class
java.net.Url.open method.

Change-Id: Ie01499b372a3f5e1a217e0b51fd4a07c216164fb
rc/com/android/sdklib/internal/repository/UrlOpener.java
007841f608852cc428bd4d1fe07c92275bf86b7d 27-Aug-2011 Tor Norbye <tnorbye@google.com> Change default launcher icon name in new Android projects

When creating a new project, the default project template includes a
launcher icon named "icon.png". This changeset changes the name of
this default icon to "ic_launcher.png", in accordance with the
recommended naming convention listed in

http://developer.android.com/guide/practices/ui_guidelines/icon_design.html

(The secondary motivation for this is that the Icon Set Wizard will
suggest ic_launcher as a default launcher name, and it would be nice
if going through the wizard with the default settings would replace
the current project's launcher icon. Given the guidelines above I'd
rather not change the wizard default name to "icon")

Change-Id: I9f516c769019c2635edad4e1e6f01a5110d156fe
rc/com/android/sdklib/internal/project/ProjectCreator.java
4ef781614055685c864c3cdd586f7f5af9b826c7 03-Sep-2011 Raphael <raphael@google.com> Add SystemImagePackage definition to sdkmanager.

This just adds the type and check we can parse it out
a sample XML. This CL does not yet use the system image
package where needed.

Change-Id: Id2d83c9e216256c329a88dced9e274da0ab651f0
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/SystemImagePackage.java
ests/src/com/android/sdklib/internal/repository/MinToolsPackageTest.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/internal/repository/SystemImagePackageTest.java
ests/src/com/android/sdklib/testdata/repository_sample_5.xml
82b6dad4d4c2c2551b57c5a57b2cb76862acd704 01-Sep-2011 Raphael Moll <ralf@android.com> SdkManager: support <included-abi> in platform packages.

This is part of a series of CL to add support for
system-image packages separated from platform packages.

In this small CL we just add the <included-abi> element
to platform packages, load/save it and test by loading
a sample XML.

Change-Id: Icbf554ea398bbcfe5cf760f9d25aec3de088937a
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/repository/-sdk-repository-5.xsd
rc/com/android/sdklib/repository/SdkRepoConstants.java
ests/src/com/android/sdklib/SdkManagerTest.java
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest.java
ests/src/com/android/sdklib/internal/repository/MinToolsPackageTest.java
ests/src/com/android/sdklib/internal/repository/MockPlatformPackage.java
ests/src/com/android/sdklib/internal/repository/MockPlatformTarget.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/PlatformPackageTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/testdata/repository_sample_5.xml
4ce91e84c16f9bd1fc502c18917fddcb5df6ed23 02-Sep-2011 Raphael <raphael@google.com> Cleanup javadoc references in sdklib.

Change-Id: I2173944aeb3f18fc58d19fcf80ec186743dba56a
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
98ee1eecf280be5ff468f833f880723700c6cafe 02-Sep-2011 Raphaël Moll <raphael@google.com> Merge changes Ifbb7de6e,Ib3b26595

* changes:
Fix example URL used in UTs.
SDK Manager2: fix large downloads.
a17fbd7bbe52163d9670b33e72cbd6ef0f7b2499 02-Sep-2011 Brett Chabot <brettchabot@android.com> Merge "Fix junit reported error in SdkManagerTestCase."
d7ab87816ba1da6b0cd8afecf15cd50f801e0f6d 01-Sep-2011 Raphael Moll <ralf@android.com> SDK Manager2: fix large downloads.

UrlOpener was using a BufferedHtmlEntity reader.
As a consequence its getContent() was loading large packages
in memory and resulting in OutOfMemory exceptions, whilst at
the same time blocking and thus rendering the download
progress report useless. This fixes it by simply passing
through in the underlying stream and freeing resources when
the stream is closed.

Change-Id: Ib3b265953931fecdf202197230ee9f24d8178faa
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
1730878776a410e02aba2985b9c21d3e032c95bb 02-Sep-2011 Brett Chabot <brettchabot@android.com> Fix junit reported error in SdkManagerTestCase.

Bug 5250175

Change-Id: I101991158231b70e203d701f0db0c6972e305a66
ests/src/com/android/sdklib/SdkManagerTestCase.java
17d4538e908e5a66ac1936fdb3ab415eb08e9766 31-Aug-2011 Raphael Moll <ralf@android.com> Unit test for XML with <extra old-path> attribute.

3 independant things here:

- Added actual XML samples for XSD addon-3 and repo-5
that check we can validate and load the <extra old-paths>.

- Fixed type in Extra package, new attribute should be
named <old-paths>, not <old_paths>, for consistency.

- Split the SdkRepositoryTest in 3 (repo + addon + capture handler)
because it was started to get a bit large.

Change-Id: I0ebfe862d5131a4fa214603e071576bc9108137f
rc/com/android/sdklib/repository/-sdk-addon-3.xsd
rc/com/android/sdklib/repository/-sdk-repository-5.xsd
rc/com/android/sdklib/repository/RepoConstants.java
ests/src/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/repository/CaptureErrorHandler.java
ests/src/com/android/sdklib/repository/SdkRepositoryTest.java
ests/src/com/android/sdklib/repository/ValidateAddonXmlTest.java
ests/src/com/android/sdklib/repository/ValidateRepositoryXmlTest.java
ests/src/com/android/sdklib/testdata/addon_sample_3.xml
ests/src/com/android/sdklib/testdata/repository_sample_5.xml
d91fc53a0e4a3dbd55a714afe5480d566163e883 30-Aug-2011 Raphael Moll <ralf@android.com> Repository XSD: System Images Packages.

The underlying idea is to split system images archives
out of platforms, to reduce download size and be more
flexible in the future.

Code+unit tests are in a separate CL.

Change-Id: I9598fcab2c74e696446ebd1f6fce03832bfb711f
rc/com/android/sdklib/repository/-sdk-repository-5.xsd
5061cd69dc17e45557e9c6177a2340676cbb7c0e 30-Aug-2011 Raphael Moll <ralf@android.com> Test ExtraPackage old_path in SDK Manager diff

One more unit-test, this time we check that when the
SDK Manager updates its package list it properly
identifies ExtraPackages that use the old_paths
attribute as an update rather than a new package.

Change-Id: I7d5a642ae3287f46a0194b9d4597206f85d2772c
rc/com/android/sdklib/internal/repository/ExtraPackage.java
ab96c65a93b002198c9192219c5e83a97820cc47 23-Aug-2011 Raphael Moll <ralf@android.com> SDK Manager: Unit tests for ArchiveInstaller.

Change-Id: I77b369a5bd3bb81da09f6e509b67c635b7b2e2e9
settings/org.eclipse.core.resources.prefs
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/io/FileOp.java
rc/com/android/sdklib/io/IFileOp.java
rc/com/android/sdklib/io/OsHelper.java
ests/src/com/android/sdklib/internal/repository/ArchiveInstallerTest.java
ests/src/com/android/sdklib/internal/repository/MockEmptyPackage.java
ests/src/com/android/sdklib/internal/repository/MockExtraPackage.java
ests/src/com/android/sdklib/io/MockFileOp.java
ests/src/com/android/sdklib/io/MockFileOpTest.java
bcc617aea9b65f823853b10fc4ea0a8ee2bfc674 25-Aug-2011 Raphael Moll <ralf@android.com> Repository XSD: New <old_paths> in Extra packages.

This has some basic unit tests to check the presence
of the new schema, as well as path comparison done
by the ExtraPackage.

Tests for the ArchiveInstaller have been extracted
in a different CL to reduce the clutter here.

Change-Id: Iefadcbf950a56834ff09c0d1ce689411957b666e
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/ArchiveReplacement.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/repository/-sdk-addon-3.xsd
rc/com/android/sdklib/repository/-sdk-repository-5.xsd
rc/com/android/sdklib/repository/RepoConstants.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest.java
ests/src/com/android/sdklib/repository/SdkRepositoryTest.java
ced18ce635e5e784c5c42fc880fb81a47b69e6ce 29-Aug-2011 Michael Zoech <michi.zoech@gmail.com> Findbugs cleanup in sdkmanager projects

Change-Id: Ie9cd51cbec851667954b672a8dadd345aee7a71f
rc/com/android/sdklib/internal/project/ProjectCreator.java
343040125dee4a8fba6e6987c1281a45144cceeb 26-Aug-2011 Raphael Moll <ralf@android.com> SDK Manager: Fix log printf calls.

The SDK manager used to have log(String) calls which were
replaced by log(printfFormat, printfArgs..) calls in R12.

In a few places, we pass a string to the printf format that
comes from some user variable or URL or another method and
this string might contain % occurences that should not be
taken as formatters.

Change-Id: Ida29a18ba70d869a4f9d66f1d66edc010d9ec62d
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
ca42fe34f63c0ec21fbcd47061557b334a65eb5e 24-Aug-2011 Xavier Ducrohet <xav@android.com> Remove some more obsolete code. again.

Change-Id: If15a8521f6efc25e31cf64d984a0279fd3b153e6
rc/com/android/sdklib/internal/project/ApkSettings.java
51036711f744664c46a178aac458bb0cc8fa2c63 24-Aug-2011 Xavier Ducrohet <xav@android.com> Rename default.prop/build.prop to project.prop/ant.prop

Opening projects in Eclipse will rename the file and
"android update project" will do the same.

Change-Id: I251881897c251eb07c9704eb9c2448cab47e5b83
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
8c68a65be09bfcc4b412bd57af86a0431efc635f 24-Aug-2011 Xavier Ducrohet <xav@android.com> Remove more obsolete code.

Change-Id: Ib610456aab10991818c18cd01d8680c9dc3ccd14
rc/com/android/sdklib/internal/export/ApkData.java
rc/com/android/sdklib/internal/export/LogHelper.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/internal/export/ProjectConfig.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
98778375c01b7d3d15c775d2c978173a6241aa9e 23-Aug-2011 Xavier Ducrohet <xav@android.com> Remove unused export project feature.

Change-Id: Ia40c3ff899c2641ab18c3aaad6edbc0856a0534e
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
69ff1318c8d44fc1cad0aab76a80f1804a807373 23-Aug-2011 Xavier Ducrohet <xav@android.com> Modify android create/update project to deal with new build.xml

New mechanism to embed a build version into build.xml to figure out
whether the build.xml file is obsolete or not.
Use the version-tag: custom case to prevent erase user modifications.

Fixed some issues with the name of the project (put in build.xml) for
test projects which don't have any activity.

Change-Id: Ib0333d15ca9558fffe24a718e704fcf4176c9014
rc/com/android/sdklib/internal/project/ProjectCreator.java
aed3bf34d3f5e62757b076e8b403b3b33fe05e34 19-Aug-2011 Raphael Moll <ralf@android.com> SDK: Expose Layoutlib Version through IAndroidTarget.

This changes PlatformTarget to parse the Layoutlib Version
(API + revision) stored by the SDK Manager in the source.properties
of the platform on disk. Then this introduces an helper method
in SdkManager to find the highest available layoutlib version.

Change-Id: I94990dabed6c7e5ad3f8f06ff3b16696edca8653
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkManager.java
ests/src/com/android/sdklib/LayoutlibVersionTest.java
ests/src/com/android/sdklib/SdkManagerTest.java
ests/src/com/android/sdklib/SdkManagerTestCase.java
babf25ca7162849f0145f75be1b6c09b359b122c 15-Feb-2011 Xavier Ducrohet <xav@android.com> New library project mechanism.

Libraries now generate a jar file that is used by the projects
referencing them, instead of having the main projects compile
the library source code themselves.

This means we can remove the link mechanism that created linked
folder in ADT and instead use a container that is lazily initalized
to be all the jar files of the libraries.

Also merged all 3 Ant build files (main_rules, lib_rules, test_rules)
into a single build.xml that can build any kind of projects.
Lot's of improvement in there too. Much cleaner.

Change-Id: I98307e25cd76722e8595938528e6ef57a7e226ad
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/build/IArchiveBuilder.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
30383980559f10aff47df338840d1b02a104db15 12-Aug-2011 Raphael Moll <ralf@android.com> Fix SdkLib unit test to not print on stderr.

The SdkLib unit tests had the annoying side effect
of writing an XML schema validation error on stderr.
This patch uses an XML Error Handler to capture the
error and actually test for it too.

Change-Id: I129804c6f9cb4ba3dfc25db4f3313553fb01df63
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
3548c51a5d59f05873864a3590d8ab110d638ef4 12-Aug-2011 Raphael Moll <ralf@android.com> Add-ons do not support codenames.

There was a typo in the repository XSD and the addon XSD
that had an optional 'codename' element to the addon type.
Since it's optional and (should have) never beend used,
it's safe to remove it and document why we're removing it
without spinning a new XSD version.
Also added a unit-test to enforce it's invalid to have.

Change-Id: Id3c5725c022d86ac0f46532efe25ac5c000c1af7
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/repository/-sdk-addon-2.xsd
rc/com/android/sdklib/repository/sdk-addon-1.xsd
rc/com/android/sdklib/repository/sdk-repository-1.xsd
rc/com/android/sdklib/repository/sdk-repository-2.xsd
ests/src/com/android/sdklib/repository/SdkRepositoryTest.java
17441918bbb47e7d5bee826753822b1e7ce30740 12-Aug-2011 Raphael Moll <ralf@android.com> SDK Manager: don't retry source if http auth canceled by user.

This fixes a minor workflow issue the case of an
SDK source using a Basic HTTP Auth: if the user cancels
the login dialog, we don't try to be smart and try
alternate URLs. It actually means the URL was just fine
but the user didn't want to authenticate.

Change-Id: If85dc2e01e30ff26decb78088bd912da785a89f9
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
1bda9627c9d27a0c14d5fa1dc06946a36518a630 12-Aug-2011 Raphael Moll <ralf@android.com> Cleanup a few warnings in SdkLib.

Change-Id: Ie8429f077b7e3a2a7166b6fcd7b9454c9bc47088
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/internal/build/DebugKeyProvider.java
rc/com/android/sdklib/internal/build/KeystoreHelper.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/internal/export/ProjectConfig.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/xml/AndroidManifest.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/ManifestData.java
ests/src/com/android/sdklib/internal/build/DebugKeyProviderTest.java
924958e21bbe1d3c918235d9ca78a6dc64c7879b 30-May-2011 Pablo Leite <wpl020@motorola.com> Add support for authenticated add-on servers.

Displays a login prompt if necessary.
Note: This code depends on Apache http-client libraries.
Build files had been modified in order to add this dependency.
http-client libraries had also be added on prebuilt project.
prebuilt changeID=I084d78dd09a431bc3a2d77e77810b84c693bdcb7
GerritLink=https://review.source.android.com/#change,23387

Change-Id: Icada9b41a21fe3aacef9a1eff209a3fe5591a4e0
classpath
ndroid.mk
anifest.txt
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
rc/com/android/sdklib/internal/repository/NullTaskMonitor.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/UrlOpener.java
ests/src/com/android/sdklib/internal/repository/MockMonitor.java
f4be42fb1c942a4f596d251cc73cdc18ce0a8433 30-Jul-2011 Raphael Moll <ralf@android.com> SDK Manager: Fix display of Archive sizes.

SDK Issue: 18875

Change-Id: I702e11cff07bded8e90d415541040fc06ceb7d49
rc/com/android/sdklib/internal/repository/Archive.java
ests/src/com/android/sdklib/internal/repository/ArchiveTest.java
38282ecd49c2d02f771ae5f16560e126d4dbd193 28-Jul-2011 Raphael Moll <ralf@android.com> Style: space after synchronized (object) {...}

For keywords such as if, for, while, we put a space
between the keyword and the expression. Same should
go for synchronized (object) {}.

Change-Id: I5b145912f9346e3f4d8367865c2729abea68fdbc
rc/com/android/sdklib/internal/repository/SdkSources.java
e373ce4021c83e10151b75c146cba7521bd66cfe 28-Jul-2011 Raphael Moll <ralf@android.com> SDK Manager2: Revamp progress bar handling.

Change-Id: Ic5751f5c86f7cd4cf31927d83368a7fcb432e216
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/ITaskFactory.java
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/NullTaskMonitor.java
ests/src/com/android/sdklib/internal/repository/MockMonitor.java
d6e24bcd244afd7052a4b087187bb6077117678b 26-Jul-2011 Raphael Moll <ralf@android.com> SDK Man2: Clear local source caches when reloading.

Change-Id: I984ae397ada014ff8869d5775be1bc779ef22319
rc/com/android/sdklib/internal/repository/SdkSources.java
d54047c70b383faeaf0d4591ba7f7009088c01e6 22-Jul-2011 Raphael Moll <ralf@android.com> SDK Manager2: revamp package diff logic.

This revamps the diff algorithm used to merge
the local and remote packages found during a
repository load into the PkgItems displayed in
the tree viewer.

FYI all the Package and Archive sub-classes are getting
an equals() and hashCode() methods to make them behave
correctly when put it in a HashTable or Set. These are
the auto-generated stuff from Eclipse.

Change-Id: I1494a0ed44cd768eed252e3a81b9e74bf86d563c
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
28d35de8795c63abdd505e79f0ab38daaa9e7c00 20-Jul-2011 Raphael Moll <ralf@android.com> Merge "SDK Manager 2: incremental sort when sorting by source + UT"
b0144d229730efda3f17f81fd3fc098f6a35dbfc 25-Jan-2011 Xavier Ducrohet <xav@android.com> Android project's output for JDT is now bin/classes/

This matches the bin structure of the Ant build system where
the javac output is in bin/classes/ and the Android specific files
are in bin/
Also, this will allow us better control of android output files
as they won't conflict with javac's output.

New projects are created with this setup and existing projects
are converted as they are opened.

Change-Id: I83339906b0d43d7a988a75927c60b664c183d27f
rc/com/android/sdklib/SdkConstants.java
51b0ee115616811e9e3a1d296732917c00e1ea5b 17-Jul-2011 Xavier Ducrohet <xav@android.com> Merge "Read the default skin from sdk.properties."
9ce01b115aa9f70d0892f4eca954516d0da41d50 17-Jul-2011 Xavier Ducrohet <xav@android.com> Read the default skin from sdk.properties.

Change-Id: Ifad6f2186e499f579df1608055dda4eca1084830
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
b6acc2ff44c544d0e8112e24311a2e89c28dc9b7 14-Jul-2011 Raphael Moll <ralf@android.com> SDK Manager 2: incremental sort when sorting by source + UT

Also fixes some edge cases with the sort-by-api and ensure
switching between sorts doesn't mess too much with the
packages shown.

Change-Id: I7da43915f4e48bd6cd80760a6a15d657777fa0f7
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
ests/src/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/MockExtraPackage.java
ests/src/com/android/sdklib/internal/repository/MockPlatformPackage.java
ests/src/com/android/sdklib/internal/repository/MockPlatformToolPackage.java
ests/src/com/android/sdklib/internal/repository/MockToolPackage.java
122ed4977a42719239e501fc522592994267bd9d 08-Jul-2011 Raphael Moll <ralf@android.com> SdkManager: fix issue with double-packages on reload.

Rewrote the merge in place + sort of packages by API.
Did some refactoring + added some unit tests.

Change-Id: I168b306853185866606ed76c324a8db6051b15bb
rc/com/android/sdklib/internal/repository/ExtraPackage.java
ests/src/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/MockExtraPackage.java
ests/src/com/android/sdklib/internal/repository/MockPlatformPackage.java
65aa2161c1ad294ef141b479b6f49dabb2edb23b 08-Jul-2011 Raphael Moll <ralf@android.com> Add "android create avd --abi" parameter.

SDK bug 4965341

Change-Id: Iaff42d1272a9c10ba62534c5d478e35e6c2df6e5
rc/com/android/sdklib/internal/avd/AvdManager.java
0e9ca994eb7765f2a521d06d2cc8688aea8523bf 30-Jun-2011 Raphael Moll <ralf@android.com> SdkManager2: fixes for asynchronous sources UI.

- Properly refresh display list when installing/deleting
a package.
- Gray install/delete buttons during an install/delete
to avoid nesting operations.

Change-Id: I72fdca1252c447b046040afb70e67dfae77188e4
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/Package.java
9e2e10e52db0ff6198d865ef94d67a28f97438d9 01-Jul-2011 Raphael Moll <ralf@android.com> Fix SDK Manager unit tests.

These got broken after I've fixed the sort order
of extra packages in SDK Manager 2.

Change-Id: Ie18f3fb74f800ac855680be29a7932f8c8d9f54c
ests/src/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ead4221a1bf3b0866735dbf83e765e7c4cab2477 25-Jun-2011 Raphael Moll <ralf@android.com> Sdkman2: Load sources asynchronously.

Change-Id: Ic79b987ce8594e7bfe30b32e961b9384e2538b6b
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/SdkSources.java
cc556534e4b9e8e42e65f6ded684430858238471 24-Jun-2011 Raphael Moll <ralf@android.com> Sdkman2: Simplify packages names, fix extra package sort.

Simplify package names when sorted by API, that is
don't repeat "API nn" or "Android x.y" in the package
names if it matches to category.

Fix sorting of packages to properly sort extras
by vendor+path. The previous sort was broken as
it was making the revision number more important
than the vendor+path for extras.

Change-Id: I51ed0114ab9c77ef5d94710fc2449e5be9cd2ad9
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/Package.java
bc434d7305f238b2f7468d67ba0c2a03deac4245 16-Jun-2011 Xavier Ducrohet <xav@android.com> Add cpu.model to AVD running armeabi-v7a system images.

Change-Id: I5b97b115ada432e284ad2dd3c69bcf7009677aec
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/avd/AvdManager.java
050bcb67487a8d84263799a49599a149f419d3ad 11-Jun-2011 Xavier Ducrohet <xav@android.com> Properly handle CPU Arch/ABI in AVDs.

When we introduced x86 support in the tree there was no
generic emulator exe able to act as a launcher to the -arm and
-x86 versions of the emulator.

This exe is now present and packaged with the SDK, so we remove the
code to launch either arch specific version and instead make the AVD
Manager and ADT simply launch the normal emulator once again.
(This has the side effect of making ADT 12 able to run on Tools r11
and below.)

For this to run though, hw.cpu.arch must be set in the AVD if the
arch is not arm. The new AVD manager sets this properly.

Also fixed some issues from my previous fix to the hardware property.
Now the list contains all of them but there's a isValidForUi that's used
to not show up some prop in the UI.

Change-Id: I7a264a59cb3c5051ff62f6103da9663c7b7eb22f
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/avd/HardwareProperties.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
28978f45716f0c236700988a28c2545147a0c200 10-Jun-2011 Xavier Ducrohet <xav@android.com> Make String-based hw prop not recognized.

Currently all those strings aren't set to be viewed by the user
in the AVD UI so we ignore them.
In the future we should use a specific flag to ignore some (like
avd.name) and allow others.

Change-Id: Icab59bcc0b97c14fa14b786c737457434b7f51ac
rc/com/android/sdklib/internal/avd/HardwareProperties.java
42b2f34604a3f8e8ac191831d8f01a0498760d38 09-Jun-2011 Tor Norbye <tnorbye@google.com> Fix various warnings

I ran the latest version of findbugs on our codebase and fixed some
(not all!) of the warnings.

I also ran with Eclipse 3.7 RC3 and updated our compiler warning
settings for the new warnings that are available.

I also fixed some DOS line endings in some files (formatted with CRLF
instead of LF).

Change-Id: I9a9d34a9b60f2cb609245793815d96a4587007b0
settings/org.eclipse.jdt.core.prefs
939963c075543055ea87bd949fdecc29431c903b 06-Jun-2011 Matthias Granberry <matthias.granberry@gmail.com> do not package .scala files as resources

Change-Id: I8b0ac703fd60517f8c7857e7f7ce316e08ab51be
rc/com/android/sdklib/build/ApkBuilder.java
ee139d3b0fc2b889b1073869c20ce4fa82057e42 26-May-2011 Raphael Moll <ralf@android.com> Repository XML for R12: layoutlib version for addons.

Change-Id: I5e68225ae8fb12a845e1eeec7412bf0bf7d9d676
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/ILayoutlibVersion.java
rc/com/android/sdklib/internal/repository/LayoutlibVersionMixin.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/repository/-sdk-addon-2.xsd
rc/com/android/sdklib/repository/-sdk-repository-4.xsd
rc/com/android/sdklib/repository/RepoConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
ests/src/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/src/com/android/sdklib/testdata/addon_sample_2.xml
b58f2169abc29e9b36299519e689d332e5814696 26-May-2011 Xavier Ducrohet <xav@android.com> Merge "Add support for addon providing their own layoutlib and/or res."
97058aa0fb34a6b5c03df1c2b1ac1edd09d8516d 21-Apr-2011 Xavier Ducrohet <xav@android.com> Add support for addon providing their own layoutlib and/or res.

During addon parsing, the SDK Manager will detect whether the addon
has:
- data/layoutlib.jar
- data/res/
- data/fonts/

if the first one is present, then it is used during rendering.
if *both* the 2nd and 3rd ones are present, then addon resources
are used during rendering.

On the GLE side, all that's needed is adding addons to the list
of rendering targets if they have either library or resources (or
both).

Change-Id: Id16925eea2c98b9fbaaa884ac6fd8c1c1c444db2
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkManager.java
ests/src/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/MockPlatformPackage.java
08357a82b572626e2d4c13032a70e1565988d360 25-May-2011 Raphael Moll <ralf@android.com> Fix flaky SdkRepository test.

It seems like class.getResourceAsStream throws a
NullPointerException on the test machines whereas
it returns null (as documented) other times when
the resource is not found.

This patch refactors 2 duplicated getXsdStream
methods in the base RepoConstants and adjusts to
take both behaviors into account.

Change-Id: Ieefd92a006efda30828b8043e39f6b7e904bc53f
rc/com/android/sdklib/repository/RepoConstants.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
8514bd05b9ac68a356abbfff8e71b77db3f3dd47 25-May-2011 Raphael Moll <ralf@android.com> Prevent 'make sdk_repo' from picking up future schemas.

Change-Id: I749f4727b4c257ef5a6177b05727f5944d5d81ed
rc/com/android/sdklib/repository/-sdk-addon-2.xsd
rc/com/android/sdklib/repository/-sdk-repository-4.xsd
rc/com/android/sdklib/repository/README.txt
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
rc/com/android/sdklib/repository/sdk-addon-2.xsd
rc/com/android/sdklib/repository/sdk-repository-4.xsd
22c3891246d1c75153a2e087659a45383767e298 25-May-2011 Raphael Moll <ralf@android.com> Merge "New Repository XSD for R12."
ada87d70ee9d7b278613b6ce111d97a91b4b49be 25-May-2011 Raphael Moll <ralf@android.com> Use sdklib.OsHelper in AddCompatibilityJarAction.

ADT's AddCompatibilityJarAction defined 2 new generic
useful methods, copyFile and isSameFile. SdkLib already
had an OsHelper.copyFile, so I moved that class to a
more generic sdklib.io package and added the new method
isSameFile.

Another suitable candidate would have been io.FileWrapper
in the common project.

Change-Id: If310e09af112c5f4d87a253b35e67e4f5adb34da
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/OsHelper.java
rc/com/android/sdklib/io/OsHelper.java
a3aa54401b4de5f43bbcb7b6378dfad84ae56c4a 23-May-2011 Raphael Moll <ralf@android.com> New Repository XSD for R12.

This add a new schema sdk-repository-4 with the following
changes:

- <extra> element now has a <project-files> element that
contains 1 or or more <path>, each indicating the relative
path of a file that this package can contribute to
installed projects.

- <platform> element now has a mandatory <layoutlib>
that indicates the API and revision of that layout library
for this particular platform.

There's also a matching sdk-addon-2 schema with the same
modification to the <extra> element.

Change-Id: Id74a5d09dfa36d65f11b9d60a82fe8ba4119eb34
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/repository/RepoConstants.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
rc/com/android/sdklib/repository/sdk-addon-2.xsd
rc/com/android/sdklib/repository/sdk-repository-4.xsd
ests/src/com/android/sdklib/internal/repository/ExtraPackageTest.java
ests/src/com/android/sdklib/internal/repository/MinToolsPackageTest.java
ests/src/com/android/sdklib/internal/repository/PackageTest.java
ests/src/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/repository/SdkRepositoryTest.java
ests/src/com/android/sdklib/testdata/addon_sample_2.xml
ests/src/com/android/sdklib/testdata/repository_sample_4.xml
d4f04b9e0f346217ff2f2fb5def8b798d910ac79 18-May-2011 Raphael Moll <ralf@android.com> SdkMan2: Use IDE's log when available.

Change-Id: Iede7f4f9c1a7bbfbdcbb096f489616478ba94465
rc/com/android/sdklib/StdSdkLog.java
46d0ebd2126fad6b1480fa5c8121e4638c463c73 15-May-2011 Tor Norbye <tnorbye@google.com> Basic fragment support

This changeset adds preliminary support for fragments:

* Add <fragment> to the palette, along with a drop handler which pops
up a class chooser to pick the Fragment class; all project
implementations of android.app.Fragment and
android.support.v4.app.Fragment are listed.

* Adds a fragment descriptor such that code completion works for
<fragment> elements

* Fix project callback such that it does not complain about a missing
class "fragment".

* Fix outline to display the name of the fragment rather than the
fragment tag name.

* This changeset also centers the label in MockViews since those are
still used to render fragments

Change-Id: I6e062970b335d9c95870f181ed408960978c423e
rc/com/android/sdklib/SdkConstants.java
a77c147c9e7ed3ef0c99cb2cdf986603e6d229cf 02-May-2011 Raphael Moll <ralf@android.com> SdkManager: handle missing platforms/ and add-ons/ folders.

A while ago, when we were dealing with monolithics SDKs,
the strategy was that we wanted to make sure that
the 'android' command was invoked from a properly setup
SDK folder. Consequently the SdkManager required at least
the platforms/ and add-ons/ folders to be present, even if
empty.

I don't think that behavior is really necessary anymore.
The 'android' tool is invoked with knowledge from its tools
folder, so we can safely assume the top parent is "the SDK
folder" and create these directories if they are missing.

We do however try to create them as early as possible if
they are missing, so that the tool aborts early if we can't
create them. The other alternative would be to just try to
create them when we're actually installing a package.

Change-Id: I8ea58f23add89c2dac0a22142f6fb5e71b8203aa
rc/com/android/sdklib/SdkManager.java
afb6e4b4183c78131d7504ddb5395b769f1bf36e 26-Apr-2011 Raphael Moll <ralf@android.com> Fix SdkManager unit tests. Refactor AvdInfo.

A couple issues with the current unit tests:
- It was correctly allocating a temporary SDK folder.
- It was correctly creating temporary AVDs in a temp folder.
- However it was still using the regular AVD root for the
AVD ini files and leaving them behind.
- Minor windows dir-sep issue.

This replaces the SdkManagerTestUtils class by a
new base TestClass specific to SDK testing that creates
both the temporary SDK and AVD manager and correctly overrides
the AVD root.

One issue is that we have different ways to find what the
correct AVD Root is and the default paths used for an AvdInfo
where setup using static methods, making them impossible to
override in unit tests.
This refactors AvdInfo out of AvdManager and most important
there's a single non-static method, AvdManager.getBaseAvdFolder(),
that is used to know where AVDs should be stored.

Change-Id: I4270203f52de15ca9418e9b4f1bf61dbc843c218
rc/com/android/sdklib/internal/avd/AvdInfo.java
rc/com/android/sdklib/internal/avd/AvdManager.java
43c0252b41343adfcfd684cfcfc222cb337196cc 22-Apr-2011 Xavier Ducrohet <xav@android.com> When possible use File.setExecutable instead of doing an exec of chmod.

Change-Id: I2b2f79bb07e277a1f2caa62b4100cbd8f7e8328d
rc/com/android/sdklib/internal/repository/OsHelper.java
72d0424e642d83c70a13449a6cf5a907352dc435 21-Apr-2011 Xavier Ducrohet <xav@android.com> When unarchiving install, files that need +x don't need +w too.

Change-Id: I860c28fa979a1d8673abd9690014b8b28c6e8d7e
rc/com/android/sdklib/internal/repository/OsHelper.java
93e1b6416b908104f9327b06ce6dbd7250d58331 16-Apr-2011 Raphael Moll <ralf@android.com> Change logging API used by ITaskMonitor.

ITaskMonitor is used by the SDK Manager to display
status information and progress bar for asynchronous
tasks (e.g. fetching sources, downloading and installing
packages).

This changes the way text is logged by the monitor.
There used to be one setResult() method which historically
was designed to report 1 final message (e.g. "Install
completed") but then this was actually used to add
ongoing logging. So in this change the monitor has
3 replacement methods: log, logError and logVerbose,
which gives us more flexibility in controlling what
gets displayed.

As a side effect, this fixes unit-tests from SdkLib
that relied on previous output that changed in a
recent CL.

Change-Id: I0fa41d59db8f5eea478b88208695ef07e246ba30
rc/com/android/sdklib/internal/repository/AdbWrapper.java
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
ests/src/com/android/sdklib/internal/repository/AddonsListFetcherTest.java
ests/src/com/android/sdklib/internal/repository/MockMonitor.java
ests/src/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
767377b07e56201a35a14deb03d6633b687f14b7 15-Apr-2011 Raphael Moll <ralf@android.com> Merge "SDK Manager command line install improvements."
4fb15245af9152a6390d5ceae848cd306f92b3df 11-Apr-2011 Raphael Moll <ralf@android.com> SDK Manager: Fix detection of emulator in tools local folder.

That's because the constant used did not have
the extension anymore.

Note: this was only an issue on Windows since mac/linux
don't need the .exe extension in emulator.

Also this doesn't fix the missing "emulator.exe" in AOSP,
but digit has the CL for that. So in AOSP one need to manually
copy tools/emulator-arm to tools/emulator for the local tools
package to be correctly recognized.

Change-Id: I9ab254eec5c28c4d006ba4132d6b0c6d87c01e15
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
16eba086da64390960c03464f70c275122deff8d 09-Apr-2011 Raphael Moll <ralf@android.com> SDK Manager command line install improvements.

1- In no-ui mode, the "update sdk" command was missing
the add-on filter type, e.g.:
$ android update sdk --no-ui --filter add-on

This restores it and adds a unit-test to make sure
the cmd line check is in sync with the array definitions.

2- Adds a new command line option "list sdk" to list
all possible packages that can be found and updated from
the remote sites. The list has indexes which can then
be used with the "update sdk --filter" option to pick
specific packages to install.

Example:

$ android list sdk
Packages available for install: 7
1- Android SDK Tools, revision 10
2- Documentation for Android SDK, API 11, revision 1
...
$ android update sdk --no-ui --filter doc,3,7

This will install "all doc packages" as well as the
packages 3 and 7 mentioned in the "list sdk" output.

3- Changed the "--obsolete" flag to list not only obsolete
packages but actually *all* packages. This works around the
issue that the SDK Manager tries, by default, to only show
unknown platforms that are higher than whatever is currently
installed, so there was no way with the UI to install an
older platform (e.g. if you had API 11 installed, it would
not list APIS 3-10 for new installation.)
I'll revisit this behavior later.

SDK Issue: http://code.google.com/p/android/issues/detail?id=15933

Change-Id: I7626257c39602908058eb7359b4c98cc3f54eef3
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/SdkSource.java
0ad11a927406ccd3c826e1ca6b97a0c8fd17efc8 05-Apr-2011 Raphael Moll <ralf@android.com> Make debug key expire in 30 years (instead of 1).

The 1 year expiration on the default debug key
is made annoying since we don't regenerate it
automatically when it expires.

Also added a simple unit test to check key creation
and expiration date.

SDK Bug: http://code.google.com/p/android/issues/detail?id=15370

Change-Id: Ie1ee14d8888275c2dae282bfb1235af54753ac0e
rc/com/android/sdklib/internal/build/DebugKeyProvider.java
ests/src/com/android/sdklib/internal/build/DebugKeyProviderTest.java
9bd5e125506d94855fa7f8dff917f20e1b4edb0b 17-Mar-2011 Tor Norbye <tnorbye@google.com> Pick layout themes from manifest registrations and target SDK

This changeset changes the way the layout editor picks themes when a
layout is opened. It used to just pick the first available theme in
the theme chooser.

Now it performs the following checks, in order:

* Does this layout have a persisted theme setting from a previous run
of the tool? If yes, use it.
* Can the activity for this layout be determined? If so, look at the
manifest registration for the corresponding activity, and if it
specifies a theme, use it.
* If not, does the manifest specify a default theme for the project?
If so, use it.
* If not, is the target SDK version (or the minimum SDK version, if
the target is not specified) at least API level 11 or higher? If so,
the default theme is "Theme.Holo"
* If not, the default theme is "Theme".
* If the file to be opened is included from some other layout, use
the no-decorations versions of the default layouts, e.g.
Theme.NoTitleBar or Theme.Holo.NoActionBar.
* At the end of this resolution, the computed theme is stored as the
persisted theme setting for this layout, so the above algorithm will
only be computed once. We might want to tweak this such that it
distinguishes between a default computation of a theme and a manual
user choice of a theme.
* If the file is opened as "Show Included In" (e.g. rendered within an
outer file) then the theme chosen is the one for the outer file.

During startup, this information will be asked for each and every
layout being reopened, so there is now a "ManifestInfo" class attached
to the project which keeps manifest information around. It checks the
timestamp of the AndroidManifest.xml file and refreshes its
information lazily if necessary.

All themes mentioned in the manifest are listed in a special section
at the top of the theme chooser (below the entry for the default
computed described above).

The code to look up the associated Activity of a layout is using a
simple heuristic: it looks for usages of the corresponding R.layout
field, and prefers references from methods called onCreate or in
classes whose superclass name ends with Activity. I tried a different
approach where I searched for usages of Activity.setContentView(int)
but this failed to identify a number of cases where the activity was
doing some simple logic and didn't pass the layout id directly as a
parameter in setContentView, so I went back to the basic approach.

Change-Id: Ibd3c0f089fefe38e6e6c607d65524990699c86d3
rc/com/android/sdklib/xml/AndroidManifest.java
44c3abd81d6ed2a715bc693e2ec74f009e9a1bb2 22-Mar-2011 Raphael Moll <ralf@android.com> Fix AvdManager to correctly find emulator in AOSP.

This is a temporary workaround on the lack of a main
"emulator" binary in AOSP, which will be fixed later.

Change-Id: I61f03ed8a54a410469f95a1100ef38eef7ab4bf6
rc/com/android/sdklib/internal/avd/AvdManager.java
56507e88f8940301558936e3e25241fa93dd2c62 21-Mar-2011 Raphael Moll <ralf@android.com> Merge "SDK Manager dialog to manage user add-on sites."
f146e1ffc921400b091ac97926cb847cc7a0151c 21-Mar-2011 Raphael Moll <ralf@android.com> Merge "Revamp of the SDK Manager UI."
a923c6ab654299fa587800b7691ab01a90d4a640 18-Mar-2011 Xavier Ducrohet <xav@android.com> Merge "Add missing notice files."
c3478c2a13d1afd5d2d5dae699af55822d391cf8 16-Mar-2011 Raphael Moll <ralf@android.com> Disable the "unecessary else" warning.

This can be a matter of personal taste, but I find it a lot
more readable to write an if {} else {} sometimes, and it's
perfectly valid, so really it shouldn't be marked as a warning.

Change-Id: Iac1b9bd5f9602b5018f7432422e0a083f4836490
settings/org.eclipse.jdt.core.prefs
96b2f26276f182530a9a7ef4342a7da70e3907b0 16-Mar-2011 Raphael Moll <ralf@android.com> SDK Manager dialog to manage user add-on sites.

Change-Id: I36209964b8a59c6f8b987032e175849a35cf467a
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/SdkSources.java
522bf59d4426c6b36f93fa244a58f68b9405578c 26-Feb-2011 Raphael Moll <ralf@android.com> Revamp of the SDK Manager UI.

This replaces the Installed Packages and
Available Packages page by a single one that
combines both installed and available updates.

This is still experimental and is actually
not enabled unless the env var EXPERIMENTAL is
set.

Change-Id: I5ec5776da69d2668ce746c07df022bf5adc6fbf7
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/BrokenPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
b26189333d3db21355daa3131b9f5e69f3044c2e 15-Mar-2011 Xavier Ducrohet <xav@android.com> Add missing notice files.

Also fix some makefiles to make sure the notices are
picked up.
- move the makefile outside of the source folder.
- resources are now in the source folder directly instead
of being inside src/resources. It's much simpler.

Change-Id: Ica8ee4c2bc8a9b035d23fc914d4137cdca7e567d
classpath
ndroid.mk
OTICE
rc/Android.mk
ests/Android.mk
ests/com/android/sdklib/internal/repository/AddonsListFetcherTest.java
ests/com/android/sdklib/internal/repository/BrokenPackageTest.java
ests/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/com/android/sdklib/internal/repository/MockBrokenPackage.java
ests/com/android/sdklib/internal/repository/MockEmptySdkManager.java
ests/com/android/sdklib/internal/repository/MockMonitor.java
ests/com/android/sdklib/internal/repository/MockPlatformPackage.java
ests/com/android/sdklib/internal/repository/MockPlatformToolPackage.java
ests/com/android/sdklib/internal/repository/MockToolPackage.java
ests/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/com/android/sdklib/mock/MockLog.java
ests/com/android/sdklib/repository/SdkRepositoryTest.java
ests/com/android/sdklib/testdata/AndroidManifest-instrumentation.xml
ests/com/android/sdklib/testdata/AndroidManifest-testapp.xml
ests/com/android/sdklib/testdata/AndroidManifest-testapp2.xml
ests/com/android/sdklib/testdata/addon_sample_1.xml
ests/com/android/sdklib/testdata/addons_list_sample_1.xml
ests/com/android/sdklib/testdata/repository_sample_1.xml
ests/com/android/sdklib/testdata/repository_sample_2.xml
ests/com/android/sdklib/testdata/repository_sample_3.xml
ests/com/android/sdklib/xml/AndroidManifestParserTest.java
ests/com/android/sdklib/xml/SupportsScreensTest.java
ests/src/com/android/sdklib/internal/repository/AddonsListFetcherTest.java
ests/src/com/android/sdklib/internal/repository/BrokenPackageTest.java
ests/src/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/src/com/android/sdklib/internal/repository/MockBrokenPackage.java
ests/src/com/android/sdklib/internal/repository/MockEmptySdkManager.java
ests/src/com/android/sdklib/internal/repository/MockMonitor.java
ests/src/com/android/sdklib/internal/repository/MockPlatformPackage.java
ests/src/com/android/sdklib/internal/repository/MockPlatformToolPackage.java
ests/src/com/android/sdklib/internal/repository/MockToolPackage.java
ests/src/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/src/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/src/com/android/sdklib/mock/MockLog.java
ests/src/com/android/sdklib/repository/SdkRepositoryTest.java
ests/src/com/android/sdklib/testdata/AndroidManifest-instrumentation.xml
ests/src/com/android/sdklib/testdata/AndroidManifest-testapp.xml
ests/src/com/android/sdklib/testdata/AndroidManifest-testapp2.xml
ests/src/com/android/sdklib/testdata/addon_sample_1.xml
ests/src/com/android/sdklib/testdata/addons_list_sample_1.xml
ests/src/com/android/sdklib/testdata/repository_sample_1.xml
ests/src/com/android/sdklib/testdata/repository_sample_2.xml
ests/src/com/android/sdklib/testdata/repository_sample_3.xml
ests/src/com/android/sdklib/xml/AndroidManifestParserTest.java
ests/src/com/android/sdklib/xml/SupportsScreensTest.java
a0b25adffe1b53b360bbeae185c40e1ce55b3842 09-Mar-2011 Xavier Ducrohet <xav@android.com> Add specifc warnings config for most sdk eclipse projects.

Change-Id: I9837714c5673d43fa7108b16ab264f1017c4bd3d
settings/org.eclipse.jdt.core.prefs
4b108747f5c837bb3d149551e9bb94bed0f83424 28-Feb-2011 Raphael Moll <ralf@android.com> Don't erase SDCard when editing existing AVD.

SDK Bug 14162

Change-Id: I22493443e706bda830916ed0fc09741a1d6d1f15
rc/com/android/sdklib/internal/avd/AvdManager.java
90de7d27984b8a71f48e35914ab0d8de2dca8ffa 04-Mar-2011 Raphael Moll <ralf@android.com> Fix NPE in SdkManager: parsed props can be null.

Change-Id: Ia1b873fc48e87173148572b123d3c0346542f4d9
rc/com/android/sdklib/internal/avd/AvdManager.java
38b72b64c1c066658266e07fdb1ea0717025183b 04-Feb-2011 Johnnie Birch <johnnie.l.birch.jr@intel.com> AVD and ADT eclipse plugin to support processor-specific platform images and emulators.

This is a first (and largest) patch in a series of patches over the next month to extend the
AVD and ADT eclipse plugin to support processor-specific platform images and emulators. This
patch is intended to co-exist with patches to create x86 emulator environments and overall
SDK support.

There is an overall expectation that the sdk building process will be updated to meet the
following expectations... It is not in the scope of these UI patches to change the overall
sdk building structure.

expectation #1:
tools/emulator[.exe] -- ARM
tools/emulator-x86[.exe] -- x86
tools/emulator-foo[.exe] -- an arbitrary additional architecture (extensible)

expectation #2:
platforms/android-XXX/images/arm - location of kernel/images for ARM
platforms/android-XXX/images/x86 - location of kernel/images for x86
platforms/android-XXX/images/foo - location of kernel/images for arbitrary architecture

expectation #3
In the event that add-ons are in the SDK,
add-ons/addon_XXX/images/arm - location of kernel/images for ARM
add-ons/addon_XXX/images/x86 - location of kernel/images for x86
add-ons/addon_XXX/images/foo - location of kernel/images for arbitrary architecture

NOTE: For "earlier"/legacy api levels, it is assumed that it is ARM only and the images will
be in platforms/android-XXX/images and add-ons/addon_XXX/images

When an API level is chosen in AVD, it scans the appropriate API directories and determines
if the image directory is "legacy" or if it has subdirectories. In the latter case, it
populates the list of potential processors using these directory names (and some
prettyprinting for well known architectures)

tested using "android" command line to start AVD on linux and windows
tested using Eclipse plugin AVD integration on linux and windows
REMINDER: You need to change the directory layout of images and add the right
emulator-XXX[.exe] to test it

If one uses the "android" command line to create an AVD from the command line, the
processor type is assumed to be arm today. A future patch will be needed to add
command line processor type selectivity

Change-Id: Ifd7c39bf93c6e926f62407bfed024d2789efb41a
classpath
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
ests/Android.mk
ests/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/com/android/sdklib/internal/repository/MockPlatformPackage.java
868a7bbe7c5862c02483ef8f71276fc551d40d60 25-Feb-2011 Xavier Ducrohet <xav@android.com> Move ResourceFolderType into common.

Moved some constants from sdklib (which is not a dependency
of common but instead depends on common) into common.

Change-Id: I6fdfbad4e77813a9f2a2ca9ea0d740692d8bce5b
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
9aa538ffaf7abdcf4fe56c51da75666e60c67a90 25-Feb-2011 Xavier Ducrohet <xav@android.com> Move the sdk io classes to common.jar

Change-Id: I59a7b770071707ed058aa104bab8a16aa8950d56
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
rc/com/android/sdklib/io/FileWrapper.java
rc/com/android/sdklib/io/FolderWrapper.java
rc/com/android/sdklib/io/IAbstractFile.java
rc/com/android/sdklib/io/IAbstractFolder.java
rc/com/android/sdklib/io/IAbstractResource.java
rc/com/android/sdklib/io/StreamException.java
rc/com/android/sdklib/xml/AndroidManifest.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
c0f6d8a9f0fdcdb9bbd4ce6ea90bb0014154c9bc 24-Feb-2011 Xavier Ducrohet <xav@android.com> Make the sdklib/sdkuilib tests built by the build system.

Change-Id: I9ec9175e0734a5b07fa5b3879cdf7b1ef0056d27
classpath
ndroid.mk
ests/Android.mk
fcb38f8f3ee58bbac65340c4878f8ab66431ddb6 19-Feb-2011 Raphael Moll <ralf@android.com> SDK Manager: fix extra package update detection.

Change-Id: Ie512a8cc75075987d1eb88dafd079e52083e2a3c
rc/com/android/sdklib/internal/repository/ExtraPackage.java
2c6d48c1aee904dfa52baab73a53d8cda78717bb 19-Feb-2011 Raphael Moll <ralf@android.com> SDK manager fix for "force create AVD"

In the SDK Manager, creating an AVD would fail if there
was some file or folder in the way (in the .android/avd folder)
yet no AVD was loaded properly from it. This detects it,
properly notifies the user and makes "force create AVD"
work in this case.

Change-Id: Ie0abc383fef568c1a7e98c14eb7d48fbc5d66616
rc/com/android/sdklib/internal/avd/AvdManager.java
ab3ac497d03c1b0e74694d8631046e4e4a5e2d7d 18-Feb-2011 Raphael Moll <ralf@android.com> Adjust AVD create dialog to match sdcard size limits.

Change mksdcard to a minimum of 9 MiB, which is what
we enforce in the UI (I believe the 8 MiB min was obsoleted
by the 9 MiB one.)
Also warn the user about the min/max sdcard size properly
directly in the creation dialog, instead of relying on
mksdcard to fail later.

Change-Id: I30bc425ed6b75d8a00965e9e2e25890bd9bd8b39
rc/com/android/sdklib/internal/avd/AvdManager.java
a6bd273919a9545377f52e473839f1294c9ca585 12-Feb-2011 Raphael Moll <ralf@android.com> SDK Manager comment on adding new jar dependencies.

Change-Id: I6cdaefdb25f4899109dbf7b82c2872bc0b1362e6
rc/Android.mk
3e1d0111c97cece40db5cb1d8281aa0ea83f9166 11-Feb-2011 Raphael Moll <ralf@android.com> SDK Manager: Update All doesn't pick highest revisions

SDK Bug 14128

Change-Id: I4a9d1a10c99e32226eb0c2a4bc6bdddedfa26f66
rc/com/android/sdklib/internal/repository/SdkSource.java
c3c59ef4edf2f49071bf1a9e5de4e99dcc07e582 09-Feb-2011 Raphael Moll <ralf@android.com> Add unit test to SdkUiLib UpdaterData.installArchives.

This adds or changes no functionality.
It just exhibits the bug from issue 14393 which will
be fixed in the next CL.

Change-Id: Icff2023120014b422c002efde8f20175ff52e266
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/Package.java
ests/com/android/sdklib/internal/repository/MockEmptySdkManager.java
ests/com/android/sdklib/mock/MockLog.java
96f99e924b2e0d1de50418036f2bfc369b89d688 08-Feb-2011 Xavier Ducrohet <xav@android.com> Ant tasks and dependency clean up.

Give anttasks.jar a proper manifest with jar dependencies.
Update the manifest of sdklib.jar with the common.jar dependency.

The pre-setup section of build.xml has changed over time
and really we should be able to control it so move it in
$SDK/tools/ant/pre_setup.xml and import it into build.xml

Change-Id: Iab707deccc0cdbe8d1a9db052ee6fb0762853394
anifest.txt
1d2909b8ff75a392af9231fe848674378b234bb9 04-Feb-2011 Xavier Ducrohet <xav@android.com> Merge "Add app name/icon and current render locale to the LayoutLib API."
f538a020eec631ca19ce493877de2ebca3b8d6f3 03-Feb-2011 Xavier Ducrohet <xav@android.com> Add app name/icon and current render locale to the LayoutLib API.

This allows the layoutlib to render system/title/action bars
as a window decor like it would look on the device.
This can be disabled with RenderParams.setForceNoDecor().
(BTW, Params was renamed RenderParams too)

Also minor update to the API by replacing an int with Density
since the enum is now accessible to the API and layoutlib.

Change-Id: Ic37770a9276d12af90c60199a84b04cb64e7c3a1
rc/com/android/sdklib/xml/AndroidManifest.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
64ee43a3842b02b852e487c2b452583be5c47211 04-Feb-2011 Raphael Moll <ralf@android.com> SDK Manager: support extras/vendor/path

This change makes the SDK manager install new extra
packages into SDK/extras/vendor/path, creating the
folders as needed.

Existing extra packages are not moved when they are updated,
provided that they keep the same 'vendor' and 'path' attributes
in their XML definition.

There is also some support for the form SDK/vendor-path/ that
was introduced by Tools r8 and r9.

SDK Bug: 14493

Change-Id: I28b301a768ea2c8c03573f865520b1b3e85f3868
settings/org.eclipse.core.resources.prefs
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
ests/com/android/sdklib/internal/repository/MockEmptySdkManager.java
ests/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/com/android/sdklib/testdata/addon_sample_1.xml
9bf7eaf8969ed3c28467aae1f7d7debf5bc1917c 01-Feb-2011 Xavier Ducrohet <xav@android.com> Improvements to RenderScript support:

- change dependency file location to be in the gen folder
in the same package as the source file. This prevents collisions
if there are two classes named the same in different packages
or source folders.

- Now that the dependency files are visible, track their deletion
and force recompilation if this happens

- Missing dependency files during generator initialization force
a recompilation of the source file.

- Prevent packaging from taking .rs, .rsh, and .d files from the
source folders. This also impacts the Ant build system.

Change-Id: Iede9193f67370e1784bd8ba661198bbf99238074
rc/com/android/sdklib/build/ApkBuilder.java
ea803caeec48eb03db3b93c8098786a439199d54 01-Feb-2011 Xavier Ducrohet <xav@android.com> Add Renderscript support to the ADT builders.

This uses the new JavaGenerator mechanism so that all that's needed
is to run llvm-rs-cc on a given list and parsing the dependency file
that's created.

Change-Id: Ib4928c980422dfe1944bc720c77bf6ae5be4c34a
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
1f72cb7cb032538b79e79d6fc7ff3905e9766ce1 29-Jan-2011 Xavier Ducrohet <xav@android.com> Move Pair and annoatations into resources.jar now renamed as common.jar

Move all the resource query methods that returned an array of 2 Strings
to return a pair of ResourceType and String.

Change-Id: I6b8447aa27005de786e2defef81ad88a72363523
classpath
rc/Android.mk
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/annotations/Nullable.java
rc/com/android/sdklib/annotations/VisibleForTesting.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/SdkAddonSource.java
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/util/Pair.java
6685d3a8cb5fe1374e36358c1436a70c6bca1659 27-Jan-2011 Xavier Ducrohet <xav@android.com> Update the Layoutlib API to contain part of the current config.

Right now only the screen size is needed. We can add more to Params
as needed.

Since we should use the existing enum classes for this, I moved
all the current enum from sdklib into a new jar file called
resources.jar.

ADT, sdklib, layoutlib_api all depend on it.

Changes to resources should always be API compatible and the result
should be copied into the in-dev platform branch in prebuilt, similar
to layoutlib_api. See the README.txt files in layoutlib_api/ and
resources/

Change-Id: I877ba3cad555ec497954bb0866639e51e7751020
classpath
rc/Android.mk
rc/com/android/sdklib/internal/export/ProjectConfig.java
rc/com/android/sdklib/resources/Density.java
rc/com/android/sdklib/resources/DockMode.java
rc/com/android/sdklib/resources/Keyboard.java
rc/com/android/sdklib/resources/KeyboardState.java
rc/com/android/sdklib/resources/Navigation.java
rc/com/android/sdklib/resources/NavigationState.java
rc/com/android/sdklib/resources/NightMode.java
rc/com/android/sdklib/resources/ResourceEnum.java
rc/com/android/sdklib/resources/ScreenOrientation.java
rc/com/android/sdklib/resources/ScreenRatio.java
rc/com/android/sdklib/resources/ScreenSize.java
rc/com/android/sdklib/resources/TouchScreen.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/ManifestData.java
ests/com/android/sdklib/xml/AndroidManifestParserTest.java
68d0fb4cbfa47402910027c97bc91410da75ea10 11-Jan-2011 Xavier Ducrohet <xav@android.com> Add renderscript support to the Ant build system.

Change-Id: Iba1c956d33725716923da89b788f7f8d14524e41
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
72d9dbce0d832fab74258f2fb2f69e4f73d51066 18-Jan-2011 Xavier Ducrohet <xav@android.com> Parse the manifest min/targetSdkVersion to configure the layoutlib.

This is needed to configure ApplicationInfo in the layoutlib
so that some widgets properly apply different behaviors based
on the app targetSdkVersion.

Change-Id: Ic78af4390d1b871469583f3efc0de3a9da718a6c
rc/com/android/sdklib/xml/AndroidManifest.java
eee2f108eb250fb9c1b1a104303544acb7afcc7b 16-Jan-2011 Xavier Ducrohet <xav@android.com> Merge "Make the default skin a bit more dynamic based on the platform." into tools_r9
6ab5b6cef39cbf2c005fec31b7408ab9f9464b84 16-Jan-2011 Xavier Ducrohet <xav@android.com> Make the default skin a bit more dynamic based on the platform.

Change-Id: I37db0034cc106b573f0efb844cae074cb63ba588
rc/com/android/sdklib/PlatformTarget.java
509d10850c863c004cadc9b862bb607b637bad83 15-Jan-2011 Pierre Zurek <pierrezurek@gmail.com> Merge "Fix in SdkSources."

For User Add-ons, the counter used to save the urls was starting at one
while the counter used to load them was starting at zero.

Now they all start at zero.

Change-Id: Iff5204efe34d69ee8bcc3a4f11c8cc0de4ea7c29
rc/com/android/sdklib/internal/repository/SdkSources.java
57aa211a4bff699d81f755c0d827b496ad7eef26 30-Nov-2010 Tim Baverstock <weasel@google.com> Merge 74f725db from master: Add snapshot handling for AVD creation, details, and launch

Also respect 'Wipe User Data' by disabling snapshot launch, and support 'Edit AVD'.

Change-Id: I2fee9361d78d70b80314523e36b48fbd80b03ca7
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/avd/AvdManager.java
9e7b1152a98eb77eeb96cecbfd0ea3e3abe7a58c 11-Jan-2011 Xavier Ducrohet <xav@android.com> Merge into f9297748 r9: Handle Animator and Interpolator resources.

Change-Id: I85242fb436e7de99887bd60b320a16a051bddc51
rc/com/android/sdklib/SdkConstants.java
b45a6db526d6f58872483db9b64ac54df3fcf5c7 07-Jan-2011 Raphael Moll <ralf@android.com> SdkManager: suggest which platform to install to fix a broken addon.

The SDK Manager now has the notion of a "broken installed package".
The BrokenPackage can specify that:
- it requires a certain minimal platform to be installed,
and/or:
- it requires a specific exact platform to be installed.

The later constraint is expressed by IExactApiLevelDependency and
allows UpdaterLogic to find which platform would fix an addon which
is missing its base platform.

Change-Id: If429ea39f0ddc19c0cb906bf6766df310de28981
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/BrokenPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/IExactApiLevelDependency.java
rc/com/android/sdklib/internal/repository/IMinApiLevelDependency.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
ests/com/android/sdklib/internal/repository/BrokenPackageTest.java
ests/com/android/sdklib/internal/repository/MockBrokenPackage.java
3995eee9d31a0e01454e2c3f9582525e88186022 07-Jan-2011 Tor Norbye <tnorbye@google.com> Merge "Fix NON-NLS tokens"
76e96b795add2dd4a1904ff4b67de25dfadf0c21 02-Jan-2011 Raphael Moll <ralf@android.com> Support broken addons in SDK Manager UI.

Change-Id: Idec7365e440e865a8225ed6f0c9c156206141d73
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/BrokenPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
23da069e4f407df1b06e7db2324e3247496abe3d 05-Jan-2011 Tor Norbye <tnorbye@google.com> Fix NON-NLS tokens

There were a number of // $NON-NLS-1$ references in the codebase.
Eclipse's "Externalize Strings" functionality will not handle these
correctly; there must not be a space between the "//" and the "$NON"
tokens.

(I left AndroidXmlEditor.xml alone; it is the file I discovered
the problem in but I fixed those references as part of another
pending checkin.)

Change-Id: If185c88a667273af614f0bee5959fd2618756c05
rc/com/android/sdklib/xml/AndroidManifestParser.java
1fea27a759c2fbae154bbae0cd5ca02096f52d9a 31-Dec-2010 Raphael Moll <ralf@android.com> Move Pair<,> from ADT to SdkLib.utils

Change-Id: I5c37e4b4dd83bc239ed242709ede70982f14705f
rc/com/android/sdklib/util/Pair.java
2b53c912359ac3016f20b7b19cf893acbddb82cc 29-Dec-2010 Raphael Moll <ralf@android.com> SDK Manager: Rework install logic.

This should get rid of the annoying behavior on Windows
that prevent the "folder swap" operation due to the folders
being locked. Cf public issue 4410.

High level summary of the issue and the fix: the old behavior
was to unzip in a temp folder, then rename the old folder to
another temp file and finally rename the new folder at the
desired location. This fails typically when there is a file
indexer (e.g. anti-virus) scanning the new folder so we can't
move that folder.
The new logic is to try to move the old folder first into a
temp folder. If the fail move, we have a lock on the old folder
and ask the user to fix it manually. They probably have a file
opened and it's a legit issue to report. Once that succeeded
we can directly unzip the archive into the final destination
without using a temp unzip location, thus avoiding the common
"indexer in progress" issue.
In case the unzip operation fails, we try to copy (not move) the
old folder back.

Change-Id: I5ed67ff626532fe7cc48a45e87d1dbaf6954f28a
rc/com/android/sdklib/internal/repository/AdbWrapper.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/OsHelper.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
5354a20dae5d214d06dcb76b0cf39cc0f4ff2f9d 29-Dec-2010 Raphael Moll <ralf@android.com> SDK Manager: Split install logic out of the Archive class.

Change-Id: I669229ad6d8906ca654c9be5e3416360cc7a5fb5
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/ArchiveInstaller.java
1de4766e2e7838efc5eef7ce2fd876b405726b41 06-Dec-2010 Raphael Moll <ralf@android.com> Cleanup refactoring.

Change-Id: I5641a9238129558b269c3f8a27a5b4de54e9db44
rc/com/android/sdklib/xml/AndroidManifest.java
ac7c72825e49c1d48e66d283182e865265b3555f 04-Sep-2010 snpe <snpe@snpe.rs> Contribute android changes to Rename package, Rename Type and Move Type Java refactoring

Change-Id: Iad4dd015eb2164dcd888a96bafa256d89711d49d
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/xml/AndroidManifest.java
ccabacfacfcc90e1725f0342b2e6d273d0bc744e 24-Nov-2010 Tor Norbye <tnorbye@google.com> Unit test fixes

First, the AddonsListFetcherTest#testLoadSample_1 was failing on the
Mac, because the source code contained non-ASCII unicode characters,
and the encoding differs between Windows, Linux and Mac -- and on the
Mac the characters were garbage (not the intended Japanese
characters). Fixed by using unicode escape sequences to define the
expected output instead.

Second, rename the AbstractLayoutTest to LayoutTestBase; the test
runner (for plugins, not unit tests) was assuming this was a test case
(even though it's an abstract class!) so it was emitting a warning
about the class containing no test cases. This is simply a base class
for all the individual layout tests defining a bunch of useful
inherited shared behavior, so rename to avoid the warning.

Change-Id: I6e29316c5644db35051218aef8b99ac41ab0cda4
ests/com/android/sdklib/internal/repository/AddonsListFetcherTest.java
ac70ae6fb318cb4a06d9a332c287bc63cc064dfb 18-Nov-2010 Raphael Moll <ralf@android.com> Remove AdtPlugin dependency from AttrsXmlParser.

The AdtPluin was used just for logging. Instead the
AttrsXmlParser takes an ILogger (AdtPlug implements
ILogger and can be used directly in unit tests too).

For unit tests there is a new StdSdkLog convenience
class that prints to stdout/stderr (formerly MockStdLogger
from the Sdk Manager was doing that.)

Change-Id: I658af61d04efb19ad6e3bf9c0bf471452372885a
rc/com/android/sdklib/ISdkLog.java
rc/com/android/sdklib/StdSdkLog.java
35ab4df68dd5fc3f91d718073f02ff8e5042dbf5 04-Nov-2010 The Android Open Source Project <initial-contribution@android.com> merge from tools_r8

Change-Id: I7bc7385266c44927db9dc66eed3b06e92eaf99e1
4b4d81f5840bd7991e08c2c0ec5eb128b6c9563f 03-Nov-2010 Raphael Moll <ralf@android.com> SDK Repo Schema: <vendor> for <extra> elements.

Change-Id: I8fa13d28b787e3ecb8bd96896e6410313e2a66a9
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/repository/RepoConstants.java
rc/com/android/sdklib/repository/sdk-addon-1.xsd
rc/com/android/sdklib/repository/sdk-repository-3.xsd
ests/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/com/android/sdklib/testdata/addon_sample_1.xml
ests/com/android/sdklib/testdata/repository_sample_3.xml
35d3baf32b81837ab765f9d1ff9bd8c91a127142 30-Oct-2010 The Android Open Source Project <initial-contribution@android.com> merge from tools_r8

Change-Id: If932f5db0eb1d3b8caf49a2f18bc94b84eab9e3f
ca4d338fa41f41e45502842c06b9dfafe5936ba2 29-Oct-2010 Raphael Moll <ralf@android.com> SDK Manager: fix suggestions of new platforms.

I accidentally broke the way the SDK Manager was suggesting
new platforms when I "optimized" the way it was fetching new
sources when resolving dependencies. The fix is that even if
we don't need to refresh or fetch a source, we still need to
report the packages we know it contains.

Also made the Archive and ArchiveInfo implement Comparable
and defer their comparison to the one of Package. This way
we can sort the archives in the install window.

Change-Id: Ic3b39e49e8143541b19b00de09468c1b3f01b0d7
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/Package.java
eca6b85e854b5c327fe8cd792e01bb8c1ca5648f 28-Oct-2010 The Android Open Source Project <initial-contribution@android.com> merge from tools_r8

Change-Id: Id7dbdfae280b98547f9a80e07cc5d80d7f9f92f7
f0a7b02920c4998166a2027682a0e81325a73d75 12-Aug-2010 Raphael <raphael@google.com> Fix resource issues in ADT.

Change-Id: I744833ec03d0d379ea526c193549f99f25f6811a
rc/com/android/sdklib/resources/Density.java
rc/com/android/sdklib/resources/ScreenSize.java
912d8df0ed1a06c559efeefb1a0958ba989178e3 25-Oct-2010 Tor Norbye <tnorbye@google.com> Support 3rd party layout rule loading, and rip out Groovy support

Add support for loading 3rd party .jars providing additional layout
rules. This can be configured by adding a property referencing the
jars to be loaded as part of your build.properties, like this:

default.properties:
...
layoutrules.jars=chart-rules.jar:graph-rules.jar
...

This will create a class loader referencing chart-rules.jar and
graph-rules.jar (as well as the visual editor's plugin class loader as
a fallback), and this class loader is used to load IViewRule
implementations.

In addition, this plugin rips out the various remaining Groovy hooks
and references that were earlier used to load Groovy scripts as layout
rules, and removes groovy from the load path and build symlinking
scripts.

Change-Id: Ia17a60259559ec86270726add258382a879117dc
rc/com/android/sdklib/internal/project/ProjectProperties.java
7695260241c862329e63ee2fa210af5ff3c95ea7 18-Oct-2010 Xavier Ducrohet <xav@android.com> DexWrapper is now loaded by the SDK instead of the platforms.

Since tools_r8, dx.jar is now located in platform-tools. instead
of platforms/android-<API>/tools/lib/.

There is therefore no need for all the platforms to load their
own dx.jar through reflection into DexWrapper. The SDK now does it
for all, and the builders query the SDK for the wrapper.

Change-Id: Ia79ccaf95237f2b25b43f26241e6335acc7050a3
rc/com/android/sdklib/IAndroidTarget.java
67aac761416d56aed2701b8b1593ff2908b3f50f 16-Oct-2010 Raphael Moll <ralf@android.com> Merge "SDK Manager: display URL host in source tree."
7a56b3f64fac03887519e01a737f787a7c48b68c 15-Oct-2010 Raphael Moll <ralf@android.com> Merge "SDK Manager: Fix dependencies when installing selected packages."
757bb948c2c6c6917d62264e88a96dc998a88573 15-Oct-2010 Raphael Moll <ralf@android.com> SDK Manager: display URL host in source tree.

Change-Id: I2fd27d931fe9011cc2894c7179e2e14327867b94
rc/com/android/sdklib/internal/repository/SdkSource.java
e8e6a2fd82d59a8546f3155fcc11e824ebbb5157 15-Oct-2010 Xavier Ducrohet <xav@android.com> Merge "Project property cleanup."
ccaa3c356de4f0fe834f922df9de2ba419a9f69d 15-Oct-2010 Raphael Moll <ralf@android.com> SDK Manager: Fix dependencies when installing selected packages.

In the SDK Manager, when you select a specific package from an
available repository to install it, it used to not notice if there
was a broken depedency. This fixes it. It means we have to force
loading all known available repo sources to find them if necessary.

This CL fixes a minor issue: trim all URLs before trying to use
them. The CL is voluntarily a bit defensive for that. This can
happen when we load URLs from external addon sites which we do
not control.

Change-Id: I652e1fa0e74b4384d0e95819970a59519fafa05a
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/SdkSource.java
2c4736e46119e7eeb64066ace92c3341ec2d2f62 14-Oct-2010 Xavier Ducrohet <xav@android.com> Project property cleanup.

Remove obsolete sdk-location on project update, don't
use it as backup location anymore (main_rules.xml won't work with
it anyway).

Remove the old application.package properties since older platforms
will use the new rules anyway.

Change-Id: I5a5ec3d1289cf793dd0f98fb778bd84086976c52
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
efbf030d1317d38e883fee1a81f8140751b27c7d 12-Oct-2010 Raphael Moll <ralf@android.com> Ensure FolderWrapper only lists files and directories.

This matches the description of the original File.list better
and avoid us seeing non-file objects that we can't deal with
(e.g. pipes, etc.)

Change-Id: Ie47c9926c2db4cd2605d277fe847c6a60e180d09
rc/com/android/sdklib/io/FolderWrapper.java
rc/com/android/sdklib/io/IAbstractFolder.java
528f85e5c67a5d4e6fe0db9b80493f66c45064ff 12-Oct-2010 Raphael Moll <ralf@android.com> SDK Manager: fix to suggest platform-tools install.

The way the updater currently works, it will only
generate the source.props of a new package based on the
attributes it knows from that package. That means mean
Tools r7 is updating tools, it will not add the proper
min-platform-tools-rev to the new Tools r8 package.

When "Update All" is selected, we try to do 2 new things:
- make sure to lool at local *existing* packages for
potential missing dependencies, and suggest them for
install.
- if a package doesn't have a min-platform-tools-rev set,
suggest the higest revision available.

Change-Id: I76cdbc2818133429b2726d3127eedd7e65579a7e
rc/com/android/sdklib/internal/repository/ToolPackage.java
7213f6954a245b6d67aec0cd7281f1c2deec1d79 12-Oct-2010 Raphael Moll <ralf@android.com> SDK Manager: fix File.listfiles()

This fixes a couple instances of File.listfiles() that
were not validating that either a/ the file is a directory
or b/ the list is not null.

This also adds a couple toString() methods to some repo
classes, which are nice when debugging.

Change-Id: I8912d12c5344c8b511d84a58fe4693632315dff0
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/io/FolderWrapper.java
c16116d587c9a5487b9d61250cc7bbe46ebfbd39 11-Oct-2010 Raphael Moll <ralf@android.com> SDK Manager: simplify getenv var to override URLs.

SDK_TEST_URLS is a semicolon-separated list of URLs that can be used to
seed the SDK Updater list. This is only meant as a debugging and QA testing
tool and not for user usage.
To be used, the URLs must either end with the / or end with the canonical
filename expected for an addon list, addon repo or full repo.
This lets QA use URLs ending with / to cover all cases.

Change-Id: Ia7232d5d8a5b6e85d98e735b93a969e42624e919
rc/com/android/sdklib/internal/repository/SdkAddonSource.java
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkAddonsListConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
ests/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
11ef18164068a303b4f3f0904e1ca1d845a7c1c0 10-Oct-2010 Raphael Moll <ralf@android.com> SDK Manager: manage URL sites grouped in categories.

Sources are now grouped in categories:
- android official site
- all 3rd party addons which list is remotely fetched
- local overrides (from getenv SDK_UPDATER_(USER_)URLS)
- user-added add-on URLs

SdkSources (plural Sources) is the collection of all URL
sites (each one being an SdkSource that contains a collection
of packages).
SdkSourceCategory is the category of a given SdkSource.

Each source has its download URL but also an UI-visible name
which is displayed if known -- this is used for our default
android source and for 3rd party remote addons.
For all source overrides (e.g. user added or from the getenv
vars) we'll simply display the URL in the tree.

Change-Id: Idc3e9ba3395818e33fc7505ead7b0bd0be867ea3
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/SdkAddonSource.java
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/SdkSourceCategory.java
rc/com/android/sdklib/internal/repository/SdkSources.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkAddonsListConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
ests/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
1ddd55f7a6ad4f3992af324c4cc1cad31cc77b2e 10-Oct-2010 Raphael Moll <ralf@android.com> SDK Repo: Remove useless xsi namespace from unit-test XMLs.

All the sample XMLs still declare a line
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance

We don't use that namespace anymore so we don't need that line.

Change-Id: I620680d1f1fb7e8196ddf0cbc13836439f3e6a6a
ests/com/android/sdklib/testdata/addon_sample_1.xml
ests/com/android/sdklib/testdata/addons_list_sample_1.xml
ests/com/android/sdklib/testdata/repository_sample_1.xml
ests/com/android/sdklib/testdata/repository_sample_2.xml
ests/com/android/sdklib/testdata/repository_sample_3.xml
135f5badcd505518a04ba8943f373800173d3ddc 09-Oct-2010 Raphael Moll <ralf@android.com> SDK Manager: XML schema for addons-list.

Change-Id: I64db42737bf70365c7016c1292087ebbf505cea7
rc/com/android/sdklib/internal/repository/AddonsListFetcher.java
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/repository/CommonConstants.java
rc/com/android/sdklib/repository/RepoConstants.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkAddonsListConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
rc/com/android/sdklib/repository/sdk-addons-list-1.xsd
ests/com/android/sdklib/internal/repository/AddonsListFetcherTest.java
ests/com/android/sdklib/internal/repository/MockMonitor.java
ests/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/com/android/sdklib/testdata/addons_list_sample_1.xml
b113e79fc9f797578091b6026ce801804151fe68 09-Oct-2010 Xavier Ducrohet <xav@android.com> Merge "Proguard default config file."
a89eaf966690ac71c75b277a065449294545908f 07-Oct-2010 Xavier Ducrohet <xav@android.com> Proguard default config file.

It is located in $SDK/tools/lib/proguard.cfg and automatically
put in Ant project (create and update if project is not already setup
for proguard).

Change-Id: I9bcb2a5aafec1329b0c001799f4ba34c61569c3a
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
77988d85020fa21149bfb92cca510411b44483d0 07-Oct-2010 Raphael Moll <ralf@android.com> Merge "SDK Manager: support separate addon.xml schema"
3b0c290370e679d007c2b93d26254f82df46df35 06-Oct-2010 Raphael Moll <ralf@android.com> SDK Manager: support separate addon.xml schema

This splits sdk-repository-3.xsd into 2 XML schemas,
one for the sdk-repository and one for the sdk-addon.

The SDK Manager is then modified to only load <addon>
and <extra> from the sdk-addon whils the <sdk-repository>
supports everything (including <addon> if the old v1 or v2
schemas are being used).

Change-Id: I30b263f2ab48dd3ea7b70d3006fb6516291736d0
rc/com/android/sdklib/annotations/Nullable.java
rc/com/android/sdklib/annotations/VisibleForTesting.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/IMinApiLevelDependency.java
rc/com/android/sdklib/internal/repository/IMinPlatformToolsDependency.java
rc/com/android/sdklib/internal/repository/IMinToolsDependency.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/RepoSources.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/SdkAddonSource.java
rc/com/android/sdklib/internal/repository/SdkRepoSource.java
rc/com/android/sdklib/internal/repository/SdkSource.java
rc/com/android/sdklib/internal/repository/SdkSources.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/repository/CommonConstants.java
rc/com/android/sdklib/repository/SdkAddonConstants.java
rc/com/android/sdklib/repository/SdkRepoConstants.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-addon-1.xsd
rc/com/android/sdklib/repository/sdk-repository-3.xsd
ests/com/android/sdklib/internal/repository/RepoSourceTest.java
ests/com/android/sdklib/internal/repository/SdkAddonSourceTest.java
ests/com/android/sdklib/internal/repository/SdkRepoSourceTest.java
ests/com/android/sdklib/repository/SdkRepositoryTest.java
ests/com/android/sdklib/testdata/addon_sample_1.xml
ests/com/android/sdklib/testdata/repository_sample_3.xml
edeea1c711e0fd692df97f284594b59921e35b1a 01-Oct-2010 Xavier Ducrohet <xav@android.com> Add proguard support in the release build mode of ADT.

This is only activated if default.properties contains a proguard.config
property.

Change-Id: I9921b2796a423330bffa37e795399cf5cec948ab
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
e0df3f1e3dd9e5cfc63750748a220ef14893e9f4 30-Sep-2010 Xavier Ducrohet <xav@android.com> In some cases release build is actually a debug build.

If the manifest sets debuggable=true then this override
the release build to be a debug build instead.

Change-Id: Ib66bf9053cecfa7c19a02cefdbf187a20bd6da37
rc/com/android/sdklib/xml/AndroidManifest.java
020a428e1dd0231555e5ef855e3e6eca38e59c48 27-Sep-2010 Xavier Ducrohet <xav@android.com> Make the tools work with the new location of adb.

adb has been moved to the platform-tools folder.

This changes ADT, DDMS, HierarchyViewer which all care
where adb is (to launch it).

Also fixed the local SDK parser of the SDK Updater to find
the platform-tools package.

Change-Id: I3c869159d7b0e0ad9aaea06f376b7ba3e53bfc7f
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
03dec99d1bc5fc418e58235c5e6dd0543b41413e 24-Sep-2010 Xavier Ducrohet <xav@android.com> Work around a bug in the jar verifier of Android.

up to Android 1.6, if the signature file of an apk was
a multiple of 1024 the jar verification failed.

This make sure the signing code in ADT/Ant does not
generate such a signature file by adding an extra CRLF
at the end.

See http://b.android.com/830

Change-Id: Ia9ec0563d2abfaa6402ca4d19ca27335e9ba57a3
rc/com/android/sdklib/internal/build/SignedJarBuilder.java
4fb194e77970aa935067c589c90a6a6e03d3e6ea 24-Sep-2010 Xavier Ducrohet <xav@android.com> Fix target loading when sdk.properties is not present.

Older (obsolete) targets would fail to load if
sdk.properties was not present. Since the content
is optional anyway, it's ok to load the target.

Change-Id: I6539be1450e72096de7b651e1c9137b41060e315
rc/com/android/sdklib/SdkManager.java
dbf12c96e365d46ebd3961e1d90d125a80bf7470 11-Sep-2010 Raphael Moll <ralf@android.com> SDK: Use Android's SparseArray classes.

These are a fantastic replacement for Map when you have
int keys.

Change-Id: Ied0feaa9e723ede3372c5a156a72929daa5797e0
rc/com/android/sdklib/util/ArrayUtils.java
rc/com/android/sdklib/util/SparseArray.java
rc/com/android/sdklib/util/SparseIntArray.java
5fc2a65e56c51db41bb146395926870db322305d 08-Sep-2010 Xavier Ducrohet <xav@android.com> Manifest process name can start with :

When an activity (or other component) starts with :
the actual process name become <package>:<name>.

This needs to be done in the manifest parser so that
matches can be found.

Change-Id: Ib4407bc7e3f9f73f60aa9f7e391bc90e0aebf35f
rc/com/android/sdklib/xml/ManifestData.java
ad5c58dca74800742c3af9be5cecbcf17fcbc5b7 03-Sep-2010 Xavier Ducrohet <xav@android.com> Merge "New test projects."
5af43ecb4e1621cb55cdda4074c11cd9009ae2b2 02-Sep-2010 Xavier Ducrohet <xav@android.com> Support for debug build in Ant.

"ant debug" now automatically insert debuggable=true in the manifest.

Also cleaned up a lot of the Ant stuff (versioned Ant rules, support
for importing different rules files based on compatibility computation).

This is rendered moot with our new single aapt executable. The ant
rules will now evolve alongside aapt, and there will not be mismatch
between the two.

Change-Id: Iaf309f40e6ab4a0204dfbdb428cfb569bf5ca3b3
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
6c9a1906f90aad7890ac015f8d94b80231a53eda 03-Sep-2010 Xavier Ducrohet <xav@android.com> New test projects.

Also fixed some trailing space in templates
and automatically generated files.

Change-Id: I2ed5f0067dff4c62b53857b7e0a2dea5dd9a101c
rc/com/android/sdklib/internal/project/ProjectProperties.java
3d3c3c3a3e4e05f7ae7a0dff440fe500f90b785c 31-Aug-2010 Xavier Ducrohet <xav@android.com> ADT: Make release and debug builds really different.

Release export should not be debug builds that are
stripped of their signature and (optionnaly) resigned.
Instead they should actually build the apk in "release"
mode.

Refactor PostCompilerHelper to be easier to use for
export feature (moved all error handling into the
actual IncrementalBuilder since we don't want the
helper to put error/warning marker during release
export).

Update the API of ApkBuilder and PostCompilerHelper
to deal better with signing key:
- option to package with a "sign with debug" flag.
- new option to package/sign with given keys.

Debug build (through incremental builder) use the new
aapt option --debug-mode that automatically insert
debuggable=true in the manifest. This allows for the
same source code to generate debug and release builds.

Currently, only the "export unsigned release apk"
action use the new "release" build. Need to update
the export wizard. Also need to add support for this
in Ant.

New folder in sdk.git/testapps for test projects
to be used in upcoming automated build tests.
Simple "basicProject" to start with.

Change-Id: I3041312bc817153603656de2aa355f8fcaf00b5b
rc/com/android/sdklib/build/ApkBuilder.java
626477a2fc04a9c4c9c863e5ea0342811553f5dd 31-Aug-2010 Raphael Moll <ralf@android.com> SDK Manager: Remove static package class map.

When using the manager in --no-ui mode, one can use
--filter to select a list of package types to install.
This list is based on the array in SdkRepository constants
and it used need a static map to the actual classes to do
the filtering. The static map is now computed at runtime
so that we don't risk forgetting to update it.

Change-Id: I7b091c36942d3b9358595f2194f2edc76c517245
rc/com/android/sdklib/repository/SdkRepository.java
4f037e01aae3a7be9ac92fcd1dcd09fdbdce3e17 30-Aug-2010 Raphael Moll <ralf@android.com> SdkManager: exclude obsolete packages from automatic update

Fixes for SDK Manager:
- Fix --filter flag for "update sdk --no-ui"
- Filter out obsolete packages when doing automatic sdk update.
- Respect the "Display Update Only" checkbox, which internally has
always been to display non-obsolete updates, so again filter
obsolete packages correctly when using the UI.
- Use the same code to filter obsolete packages in the No-UI mode.

Change-Id: I767c151370a09c18c2adcc0a11e267e973622399
rc/com/android/sdklib/repository/SdkRepository.java
b3307cb06c8e4f7ab5d91955be0401cedee9811c 25-Aug-2010 Raphael Moll <ralf@android.com> ADT: new action to run dexdump on project.

Captures the dexdump in a temp file and opens it in an editor.

Change-Id: I6363e788fb80b3b602e3d0d736deb8888f8d9b42
rc/com/android/sdklib/SdkConstants.java
a1e7493481c5b3d78d9c209d0e88a1be49bae679 21-Aug-2010 Raphael Moll <ralf@android.com> Fix error strings: it's "dx.jar", not "dex.jar"

The error message has the wrong file name and that
confused me when I manually created my platform-tools.

Change-Id: I2d1b5258db99c5359c0ebe71d42b2d93558941ac
rc/com/android/sdklib/SdkConstants.java
e3f00462485543b752bbc3b15db0b2b6920e34e1 20-Aug-2010 Raphael Moll <ralf@android.com> UnitTest for UpdaterLogic.findPlatformToolsDependency.

Change-Id: Ie49a141ad0d25021164166aeb4405877045719bf
ests/com/android/sdklib/internal/repository/MockPlatformToolPackage.java
ests/com/android/sdklib/internal/repository/MockToolPackage.java
f6f280acb8196517bf55a3be36bf9c2b3dd79992 20-Aug-2010 Raphael Moll <ralf@android.com> SDK Manager support for Platform-Tools

Changes:
- Fixed dependency (PlatformToolPackage was made to depend
on itself... oops it should have been ToolPackage!)
- Load platform-tool from XML.
- Specify sorting order of platform-tool in list.
- Compute a platform-tool has a dependency for tool package.
- Added a totally impressive icon for the new platform-tool package.
- Update the schema comments to explicitely indicate what is new.

Change-Id: I71c6f4b61028990d051a479b919a7f55a79f87cf
rc/com/android/sdklib/internal/repository/IMinPlatformToolsDependency.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/repository/sdk-repository-3.xsd
1a58a28fa7cfc1b90d08cff3764956ce2ae0e5c8 18-Aug-2010 Xavier Ducrohet <xav@android.com> Fix missing dependency in the sdklib manifest + improved error reporting.

Change-Id: I197d17ee3dcf7119fe9da4b7f29bb9bce193ff12
anifest.txt
b77fc44ce57afeb2dcc4504bf486534feb031f8c 31-Jul-2010 Raphael Moll <ralf@android.com> SdkManager: support for upgrade to Schema #3.

This changes the way the sdk manager looks for schema upgrades:
- when trying to load an XML, parse the root element and scan
for our XLMNS. If it parses, get the version number at the end
and use this directly to try to load using the right schema.
- In turn this allows us to distinguish between an incorrectly
formatted XML (but using the right schema) versus something
that is not our XML schema or not an XML at all, and then we
can produce better errors for the user.
- We also then directly know when the schema version is above
the known value of the tool and can then create the upgrade
tools node accordingly.

Change-Id: I58c7d89d7b57dd4d5488f726e5f8b21cc4308451
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/repository/SdkRepository.java
ests/com/android/sdklib/repository/SdkRepositoryTest.java
2e99f995cf6ac6496d83da3ffefb1a8e611af181 28-Jul-2010 Xavier Ducrohet <xav@android.com> Update sdklib to use the new sdk organization (build tools moved)

Also do some minor clean-up from the recent change to ProjectProperties.
FileWrapper extends java.io.File so there's no need to create a File
and then create a FileWrapper around it. Directly create a FileWrapper.

Change-Id: I3f072bf7f848d63b90fa03bec2683f6a009deb88
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
a5f49d3bef9672375e59998fdc140378f6003f0e 30-Jul-2010 Raphael Moll <ralf@android.com> Merge "SdkManager: new schema with <platform-tool> package."
81fa73c7a89e498663184332c7b5a58d44ca923b 30-Jul-2010 Raphael Moll <ralf@android.com> Merge "SdkManager: don't use deprecated methods."
2c334d5dac7993cb3c7492b8cc1dacf2264b8306 29-Jul-2010 Raphael Moll <ralf@android.com> SdkManager: new schema with <platform-tool> package.

This adds the new schema (v3), the internal definitions and
constants. However the schema v3 is not enabled as default and
the whole thing is not used by the downloader/installer yet.

Note: some files in this folder are using Windows \r\n end-of-lines.
I will convert them to Unix \n EOLs in *another* CL, not this one.

Change-Id: I327f12571ad3959e85a7b972cad98663c09cce33
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/IMinPlatformToolsDependency.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/PlatformToolPackage.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository-2.xsd
rc/com/android/sdklib/repository/sdk-repository-3.xsd
ests/com/android/sdklib/repository/SdkRepositoryTest.java
ests/com/android/sdklib/testdata/repository_sample_3.xml
7528d4fd33a0829b48e6364f47fbb10f199a69a2 29-Jul-2010 Raphael Moll <ralf@android.com> SdkManager: don't use deprecated methods.

If we're going to deprecate the parsePropertyFile(File), we might
as well stop using it ourselves.

Also removes the obsolete parsePropertyFile(File) method.

Change-Id: I811590ca583f2a89d5b7d606d70a4bc14eb6230b
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/io/FileWrapper.java
ea2a9ac100188d856385c989ba41a83b43f7c5f9 30-Jul-2010 Xavier Ducrohet <xav@android.com> Clean up the previous fix to ApkBuilder with regard to the keystore.

Change-Id: I620269355e176d9167ceb733191ee5ea8908d06a
rc/com/android/sdklib/build/ApkBuilder.java
ce56495ea916ee7557971fe196645d420324bd08 29-Jul-2010 Xavier Ducrohet <xav@android.com> Fix broken generation of default keystore.

The location of the debug keystore was validated (to make sure
it was not a directory or an unreadable file), but it also threw
an exception if the file didn't exist, preventing the creation
from happening.

Change-Id: I2fc7d7be10ee4b85db3eab5ef4ee429681c8c5e9
rc/com/android/sdklib/build/ApkBuilder.java
8e74a1196cc2b6b2479ec060c22bf66df67c9e15 23-Jul-2010 Raphael Moll <ralf@android.com> ADT GLE2: Deal with missing custom view classes.

- Detect missing view classes and replace them by a MockView.
(This alone makes the rendering useful instead of not updating it
on error.)
- Display the name of the missing view classes.
- Make them hot links and display the New Class Wizard to create them.

Change-Id: I20b69db5428751c4a6c1367103462b3867fa9c7d
rc/com/android/sdklib/SdkConstants.java
49126da12292cd21b1204a530b734251573929b1 13-Jul-2010 Xavier Ducrohet <xav@android.com> Fix how the default.prop modifications from the UI are reloaded.

The UI to edit the target and library changed the ProjectState
directly, causing havoc on the filelistener which *must* be the
entry point to reload modification into ProjectState.

This patch makes the UI work on a copy of the properties which
are then saved separately from the ProjectState (whose save()
method disappeared).

A next patch will enforce the ProjectProperties of the ProjectState
to be read only so that this does not happen again (forcing
to clone it before modifying/saving it).

This patch also fixes the reloading/relinking of the libraries upon
modification of the default.prop but more work is needed here.

Change-Id: Ie6a23111242005eb91b7533b506c029ba602f0f3
rc/com/android/sdklib/internal/project/ApkSettings.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/internal/project/ProjectPropertiesWorkingCopy.java
ca341273a09f696470872eb1a5aa28a935e073c5 07-Jul-2010 Xavier Ducrohet <xav@android.com> ADT: dock/night combos in layout editor.

Added proper support for qualifiers that have fake values
like "__" for language/region or "none" for dock mode. Those
are used by ADT internally but do not represent valid values, so
some UI (like the config creator) must handle them.

They didn't do it before which led to some weird UI behavior such
as a language or region qualifier with "__" value.

Added some missing icons.

Clean-up some qualifiers by moving similar code into a base class
for enum based qualifiers

Removed dependency on the current IAndroidTarget to get the
folder segment corresponding to a qualifier as it's not needed
anymore now that targets use recent versions of aapt (and will
move to using the most recent one soon).

Change-Id: I29c7bb5a7783db1696f53d0e38f46f64671e5e0d
rc/com/android/sdklib/internal/export/ProjectConfig.java
rc/com/android/sdklib/resources/Density.java
rc/com/android/sdklib/resources/DockMode.java
rc/com/android/sdklib/resources/Keyboard.java
rc/com/android/sdklib/resources/KeyboardState.java
rc/com/android/sdklib/resources/Navigation.java
rc/com/android/sdklib/resources/NavigationState.java
rc/com/android/sdklib/resources/NightMode.java
rc/com/android/sdklib/resources/ResourceEnum.java
rc/com/android/sdklib/resources/ScreenOrientation.java
rc/com/android/sdklib/resources/ScreenRatio.java
rc/com/android/sdklib/resources/ScreenSize.java
rc/com/android/sdklib/resources/TouchScreen.java
ef147a4fe6e570a0444c337f4545cbc2bdf34fcd 25-Jun-2010 Xavier Ducrohet <xav@android.com> Remove hard-coded source folder name for library projects in ADT.

Previously, the library mechanism expected the library to have a single source folder called 'src'.

There can now be more than one source folder (but the 'gen' folder of the library is always excluded),
and they don't need to be directly under the project folder. For example src/java is supported.

Change-Id: If139bd69cb720c331a1e5d1543a0cd4a91b8d675
rc/com/android/sdklib/internal/project/ProjectProperties.java
1fd0a0d0ad99735551876d6f7ceab7ff5d42b575 22-Jun-2010 Xavier Ducrohet <xav@android.com> Move the exceptions out of ApkBuilder.

Change-Id: I66e767cbd4f3f3521bb994b281140a433f63291f
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/build/ApkBuilderMain.java
rc/com/android/sdklib/build/ApkCreationException.java
rc/com/android/sdklib/build/DuplicateFileException.java
rc/com/android/sdklib/build/SealedApkException.java
33141fbf60d24c71964fa8bb8b72eea796e55e41 22-Jun-2010 Xavier Ducrohet <xav@android.com> Merge "Add support for Dock, Night mode, and Navigation state resource qualifiers."
33075610a7696df4d5e986d7b705f8da2a7e9ffd 22-Jun-2010 Xavier Ducrohet <xav@android.com> Add support for Dock, Night mode, and Navigation state resource qualifiers.

Change-Id: I6b84248354c48accaed4baab7d9c12d8757a335b
rc/com/android/sdklib/resources/DockMode.java
rc/com/android/sdklib/resources/KeyboardState.java
rc/com/android/sdklib/resources/Navigation.java
rc/com/android/sdklib/resources/NavigationState.java
rc/com/android/sdklib/resources/NightMode.java
7c19dcf5aead68f4f6675db0bac6b495396e2967 17-Jun-2010 Xavier Ducrohet <xav@android.com> New ApkBuilder class.

this is meant to replace the one previously in apkbuilder.jar and the
one in ADT, while being part of the public sdklib API so that other
tools can use it if needed (to deprecate the command line version)

Another changelist will rename the ApkBuilder classes inside
ADT to make things less confusing.

Change-Id: I13f2a09d8d507a85be33af3fe659d175819cb641
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/build/ApkBuilder.java
rc/com/android/sdklib/build/ApkBuilderMain.java
rc/com/android/sdklib/internal/build/ApkBuilderHelper.java
rc/com/android/sdklib/internal/build/JavaResourceFilter.java
rc/com/android/sdklib/internal/build/SignedJarBuilder.java
e48a35070a0b27ec8ea99e2cd3bf999a11b175b5 17-Jun-2010 Xavier Ducrohet <xav@android.com> Move Apkbuilder into sdklib.

Change-Id: I88f7e6101b8c03157a320a6c9d9b7424ffbdc7f5
anifest.txt
rc/Android.mk
rc/com/android/sdklib/build/ApkBuilderMain.java
rc/com/android/sdklib/internal/build/ApkBuilderHelper.java
e1da4a29c79d6aad4a206bae80ce4033ea1d939a 16-Jun-2010 Raphael Moll <ralf@android.com> Merge "SdkManager: don't user versionName for new platform packages."
10e712627b86b2b0061dbd3a20f5f966b2cd7330 15-Jun-2010 Xavier Ducrohet <xav@android.com> Move jarutils into sdklib.

Change-Id: Ic99564a7671e588bbf6bc9ee08f7ae1f02a6dcb2
rc/com/android/sdklib/internal/build/DebugKeyProvider.java
rc/com/android/sdklib/internal/build/JavaResourceFilter.java
rc/com/android/sdklib/internal/build/KeystoreHelper.java
rc/com/android/sdklib/internal/build/SignedJarBuilder.java
7a9bf34693eaf3321ccfd43b9658403dbb27db7b 16-Jun-2010 Raphael Moll <ralf@android.com> SdkManager: don't user versionName for new platform packages.

Change-Id: I56f0a619a5b050c65843730a4fe86a50b3c127ae
rc/com/android/sdklib/internal/repository/PlatformPackage.java
853ab5a62d09675e0921d2eed60c02f66e3d0050 14-Jun-2010 Xavier Ducrohet <xav@android.com> ADT: Multi-apk export action.

This is a first step with no UI.

Still needed:
- handling signing
- add control to how ApkBuilderHelper handles errors to prevent
output to the console during export.

Change-Id: Id44d708c2b0f5bb52508c33a241bbe921b4297e1
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
543c2ee48b04e7bafb79db85c54c95eeec978952 15-Jun-2010 Xavier Ducrohet <xav@android.com> Merge "Saving ProjectProperties now keeps existing file and replaces values."
f5d5417652a05bce698fc3d7a1bed5a9ffa49002 14-Jun-2010 Xavier Ducrohet <xav@android.com> Saving ProjectProperties now keeps existing file and replaces values.

Change-Id: I15663980f931e0d15998f0430ee7154446036fca
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
016238c1b0a37d00a0179b490b13dc0c4af0a5ae 11-Jun-2010 Xavier Ducrohet <xav@android.com> Remove debug printfs

Change-Id: I34f2aa0d35c904a421654e320c9bdfc229583fab
rc/com/android/sdklib/internal/export/ProjectConfig.java
2ff47a265b0dfceade94e853b271053c78242640 10-Jun-2010 Xavier Ducrohet <xav@android.com> Fix NPE when comparing project export properties with api split = false.

Change-Id: I1d3135737e7c13503e0fe4e0559c62959014cd83
rc/com/android/sdklib/internal/export/ProjectConfig.java
e0ac2ae830f068dbbca3cbfeefd261ef7a0a98b2 04-Jun-2010 Xavier Ducrohet <xav@android.com> Export project creation.

Change-Id: I22b5a1c7225425b387e1fd5b6769b5e9249b7c88
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
f242f9a4dc19a004bbb05768f6e7f73726b0bca3 04-Jun-2010 Xavier Ducrohet <xav@android.com> Detect conflict due to change in number/list of ABI being exported.

A change in ABI (number, or one replacing another) in the ABIs of a project
would trigger a change in the generated build info, so we force
increment of versionCode in this case.

Also now display the actual project property that changed and is
causing a conflict for better troubleshooting.

Change-Id: Ibb654022f1bed0e81fa0c6e649dc69dd98f2f9e0
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/internal/export/ProjectConfig.java
9b2c8551d6cd9eadd3934a3511eadd68b1076024 04-Jun-2010 Xavier Ducrohet <xav@android.com> Rework the multi-apk log file(s).

Move away from a single log file used for:
- tell the dev what file was created with that properties
- used to increment minor versionCode for specific apks
- used to detect config change from what export to another.

There are now three files for each case, with the last two
using a never changing filename. Only a new build log file
is created at each export.

Change-Id: Ia9b464e6ffefe24463a537ee48d0a20a7a004af7
rc/com/android/sdklib/internal/export/ApkData.java
rc/com/android/sdklib/internal/export/LogHelper.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/internal/export/ProjectConfig.java
2e623920849ce79ad293557d21758add4aea95d8 03-Jun-2010 Xavier Ducrohet <xav@android.com> Add support for locale filters in multi-apk export.

Change-Id: Ia3faf7a6818de0e579cf491b139a41f4d379935e
rc/com/android/sdklib/internal/export/ApkData.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/internal/project/ApkSettings.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
14177df14b5e78a54b91409372d1a841d9fbf821 02-Jun-2010 Xavier Ducrohet <xav@android.com> Fix ABI ordering for the multi-apk build info.

Change-Id: I3241ec881549218f4cb21ce723c257ee69b9f8a5
rc/com/android/sdklib/internal/export/ApkData.java
8de0ba71344622c7bbe6699a6adb0804e0cd7094 02-Jun-2010 Xavier Ducrohet <xav@android.com> Add support for soft properties in multi-apk export.

First property is split by density.

Change-Id: If68bc520ba4014bbd4b144e71d54bc1161a56e2d
rc/com/android/sdklib/internal/export/ApkData.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
fd6c6d2a823a98d885d24626c520a242d40fb9a2 29-May-2010 Xavier Ducrohet <xav@android.com> Implement mechanics for supports-screens in the multi-apk export.

- detect overlap (apk1 is small, large; apk2 is normal)
- detect non-strictly different supports-screens
- compareTo orders based on support for higher size.

Change-Id: I76251e10c83f1508c9a5b83b638a47b1c0922693
rc/com/android/sdklib/internal/export/ApkData.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/xml/ManifestData.java
ests/com/android/sdklib/xml/SupportsScreensTest.java
75c23628a5d25b2a9d1811a615d3f70545c70839 28-May-2010 Xavier Ducrohet <xav@android.com> Uses some constants for default values for minSdkVersion and glEsVersion

Change-Id: Ieaf86ae56c7458e2bde90960c0262329ba77bad5
rc/com/android/sdklib/internal/export/ApkData.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/xml/ManifestData.java
ests/com/android/sdklib/xml/AndroidManifestParserTest.java
a16573f5ac099613f4c3cae5e4c2b6584f8b48aa 28-May-2010 Xavier Ducrohet <xav@android.com> New log format for multi-apk export.

Also added support for supports-screens in the log,
and fixed supports-screens parsing.

Change-Id: I702fb511eb4da0094917d7c0d9fe792f582adeb2
rc/com/android/sdklib/internal/export/ApkData.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/ManifestData.java
ests/com/android/sdklib/testdata/AndroidManifest-testapp2.xml
ests/com/android/sdklib/xml/SupportsScreensTest.java
920f2a5c12d58d3e6054fcbf3293b1fa912c9af3 28-May-2010 Xavier Ducrohet <xav@android.com> Properly compare supports-screens.

Comparing the content of the manifest is not working. It is
important to compare the value the platform is seeing when
runnign the app, which means knowing the default values and
overriding them with what is present in the manifest.

This requires parsing targetSdkVersion as minSdkVersion is
not enough.

Change-Id: I703a8093670709e633f47170b02dec033ae29ea9
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/xml/AndroidManifest.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/ManifestData.java
ests/com/android/sdklib/testdata/AndroidManifest-instrumentation.xml
ests/com/android/sdklib/testdata/AndroidManifest-testapp.xml
ests/com/android/sdklib/xml/AndroidManifestParserTest.java
8582ede3e8ae8db27819922fa1f6e083788e10bd 28-May-2010 Xavier Ducrohet <xav@android.com> Add Manifest checks for multi-apk export.

Change-Id: Ifd0bb892582888b7b6ef6ceb634871c1fb24d6e5
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/ManifestData.java
ests/com/android/sdklib/xml/AndroidManifestParserTest.java
ac8b6fa3ca5dd744a49a312c07835328f0805eab 27-May-2010 Xavier Ducrohet <xav@android.com> Refactored most of the multi-apk export out of the ant task into sdklib.

This common code will be used by ADT when processing multi-apk export.

I also had to improve the API for IAbstractFile/Folder.

Change-Id: Ied76f0a9f068223ceaba36124e841f804febfaf8
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/export/ApkData.java
rc/com/android/sdklib/internal/export/MultiApkExportHelper.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/io/FileWrapper.java
rc/com/android/sdklib/io/FolderWrapper.java
rc/com/android/sdklib/io/IAbstractFile.java
rc/com/android/sdklib/io/IAbstractFolder.java
rc/com/android/sdklib/io/IAbstractResource.java
d905872a881210bf8fd01f06d7771bd02aa4001c 27-May-2010 Xavier Ducrohet <xav@android.com> Move ApkData into sdklib.

This is the first step of refactoring common code from MultiApkExportTask
into sdklib.

Change-Id: Ie82eafa961a80fac7c24d3a65e75648da8af525c
rc/com/android/sdklib/internal/export/ApkData.java
885c6583ad5fd27136d8c0d9c896aaa6d36ac99a 25-May-2010 Xavier Ducrohet <xav@android.com> Merge "Fix SD Card size check to prevent int overflow."
b0973d97be079161c6e92457edaf0bf927585c95 25-May-2010 Xavier Ducrohet <xav@android.com> Fix SD Card size check to prevent int overflow.

Also added a check for sd card that are too big (>999GB) to prevent
long overflow.

Change-Id: Ie3ae57e679151dacf0e1fbbec23b29ccfdad3b6a
rc/com/android/sdklib/internal/avd/AvdManager.java
77217f92f8d68c4cb27c65c0a619eea51aa944f1 19-May-2010 Xavier Ducrohet <xav@android.com> Add proper support for <uses-library> and <uses-feature> in the manifest parsing.

Change-Id: I80d5fd57f66005fcb4157cb6acc3f9473dd19701
rc/com/android/sdklib/xml/AndroidManifest.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/ManifestData.java
ests/com/android/sdklib/testdata/AndroidManifest-testapp.xml
ests/com/android/sdklib/xml/AndroidManifestParserTest.java
fc58ae598819fac0fce2f47816dd2a92a4d5b4e0 19-May-2010 Xavier Ducrohet <xav@android.com> Add parsing of <uses-configuration> in the manifest.

Change-Id: Id6f4b58c5a811b0b7e32b40162c8bd6680f2fc67
rc/com/android/sdklib/resources/Keyboard.java
rc/com/android/sdklib/xml/AndroidManifest.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/ManifestData.java
ests/com/android/sdklib/xml/AndroidManifestParserTest.java
5e50a0ba1e75595608cc29fb7a6d5a2ed1ab0396 18-May-2010 Raphael Moll <ralf@android.com> Console-based "android update sdk"

Known limitations:
- This simulate exactly what the "update sdk" GUI does,
namely it suggests the latest platform to install and
updates older packages.
- It respects the default source URLs (e.g. the getenv stuff)
- there are a few options to configure behavior such as
selecting obsolete packages and a dry-mode.
- As such, this is mostly a one-shot update step and probably
lacks configuration that a script-based updater would want.

Non-goals:
- No way to specifically request a given package to be installed.
- No way to configure the output (e.g. the install progress might
be annoying if the output is piped for a script)

SDK Bug 2404640

Change-Id: If0512558f048e88f2b216e34ed33aa550ff2610c
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/repository/SdkRepository.java
b35d352fc9e9e10793e5dc7303a9fb02bfadf7a4 18-May-2010 Xavier Ducrohet <xav@android.com> move the resource enums from the qualifier classes to sdklib.

This is so that other code (like the manifest parser) can use them.

Change-Id: I53be59bbe752e77752e90cedb528f25cf3b3792f
rc/com/android/sdklib/resources/Density.java
rc/com/android/sdklib/resources/Keyboard.java
rc/com/android/sdklib/resources/KeyboardState.java
rc/com/android/sdklib/resources/Navigation.java
rc/com/android/sdklib/resources/ScreenOrientation.java
rc/com/android/sdklib/resources/ScreenRatio.java
rc/com/android/sdklib/resources/ScreenSize.java
rc/com/android/sdklib/resources/TouchScreen.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/ManifestData.java
ests/com/android/sdklib/xml/AndroidManifestParserTest.java
a51d4ddc3cc08e445eb426a6a6108fad3fa842b9 17-May-2010 Xavier Ducrohet <xav@android.com> Refactor the manifest parser test in the correct package.

And don't make it use the Parser Helper that's eclipse specific.

Also fixed the versionCode parsing (bug introduced in previous CL)

Change-Id: Ie472d7d6c4847e3fae660873cca7d71e801a2a34
rc/com/android/sdklib/xml/AndroidManifestParser.java
ests/com/android/sdklib/testdata/AndroidManifest-instrumentation.xml
ests/com/android/sdklib/testdata/AndroidManifest-testapp.xml
ests/com/android/sdklib/xml/AndroidManifestParserTest.java
af98417f9748cf449473478dda209cb60b20263b 13-May-2010 Xavier Ducrohet <xav@android.com> Minor refactor, moving ManifestData out of the parser class.

Also started added new data parsing (screen support)

Change-Id: I783e973fa16598a777eec4536746e6e5b9cb3e74
rc/com/android/sdklib/xml/AndroidManifest.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
rc/com/android/sdklib/xml/ManifestData.java
d5579c79e7dcb1eda9835f5a2c7299be7eab28b0 12-May-2010 Xavier Ducrohet <xav@android.com> Refactored the Android Manifest into sdklib.

API change to make it use IFileWrapper instead of IFile.

Old AndroidManifestParser changed to AndroidManifestHelper which
is now mostly wrapper methods to add Eclipse specific parameters.

Also moved ADT...AndroidConstants.CLASS_* to sdklib...SdkConstants
(needed by the parser) and removed AndroidConstants.FN_ANDROID_MANIFEST
since SdkConstants.FN_ANDROID_MANIFEST_XML existed too.

Moved the Eclipse implementation of IAbstractFile/Folder

Change-Id: I59bdbe90ba9a4c0b5bb2c4c68945b8877d4eed3d
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/xml/AndroidManifestParser.java
114ca22329320d7f43af219b473d4c2461e82e7d 29-Apr-2010 Xavier Ducrohet <xav@android.com> First step of multiple apk support.

- New export type project to handle exporting a single app represented
by multiple projects (for different minSdkVersion for instance).

- Cleaned-up the current Ant tasks and Eclipse builder to not
deal with ApkSettings anymore. It's not possible to generate
more than one APK in a single pass. The export project will
handle this and call out the normal build system to export
each variant. Make older (deprecated) attribute actually
output a warning.

- Ant rules r3 now with support for multi apk export. Lots
of clean up, add new properties to be overriden by the
multi-apk export task, make older one overrideable too.

- Better handling of older rules, older tasks, etc...
in the SetupTask used by the normal build.

- Add split by ABI to ApkSettings and use it in the
new multi apk export.

- New custom task for multi-apk export. Replaces
SetupTask for export-type projects. Calls out to the
project's build.xml after setting/overriding properties.
This also override the project's versionCode with a
new composite one made of different values.
Also uses a different build.xml, so added a new template:
build.export.template.

Very much a work in progress. Still to do:
Add other types of APK split, create/update export projects,
export the build log, ...

Also, we need to refactor the normal build rules to avoid
so much duplication!

Change-Id: I57a565c60d097a5eabb40108ae1fa8cb209f2380
rc/com/android/sdklib/internal/project/ApkSettings.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/io/IAbstractFile.java
rc/com/android/sdklib/xml/AndroidManifest.java
eb3dcf334a72a750c11dea7ce6141dd0f6a5ecf3 22-Apr-2010 Raphael Moll <ralf@android.com> Reorder packages in SDK Updater

SDK Bug http://b.android.com/7920

Change-Id: I94946beda47067ff93ce288b36d525f8fb1840f2
rc/com/android/sdklib/internal/repository/Package.java
d648616689f5b05c40ec9f23f9ec13ec85d025d6 06-Apr-2010 Raphael <raphael@google.com> SDK Manager: fix error message when missing XML validator.

SDK Bug 2306644

Change-Id: I2e698ea0ec9225a26ff94d9973c4e0b8f297c89b
rc/com/android/sdklib/internal/repository/RepoSource.java
1f05559a6c5e2c02da4d0978f32ab6df1b93db87 30-Mar-2010 Raphael <raphael@google.com> ADT: repo schema change tell users to update ADT, not tools.

SDK Bug 2438713

Change-Id: Ie6dfad20a606cea27e9ba5ef8a0a1b2afa479fa7
rc/com/android/sdklib/internal/repository/RepoSource.java
47aea9ef83f30269b31c0b5133581a68d28bb536 25-Mar-2010 Raphael <raphael@google.com> SDK Manager: Make AVD names case-insensitive under Windows.

SDK Bug 2545530

Change-Id: I015b62ad21aea8fdf741b733d2c5f2a2b08d9e73
rc/com/android/sdklib/internal/avd/AvdManager.java
31dcfe7ab21a0ca71c6c51dba6d41b1d767cf028 25-Mar-2010 Raphael <raphael@google.com> SDK Manager: correctly handle lack of AvdManager

Digit's issue in SDK Bug 2535112 was that AndroidLocation failed
to get the SDK home dir; consequently the SdkManager failed to
create an AvdManager and was using a null ptr everywhere.

This CL addresses the core issue here:
- The New AVD button should be grayed if there is AvdManager.

- UpdaterData.initSdk was catching the error and printing an
error log that is not shown in the UI. There's now an explicit
dialog box that explains the error and how to solve it.

- UpdaterWindow now aborts if the above dialog is shown. There's
no need to keep the SDK Manager window around -- OK maybe that's
a bit harsh since the SDK download/install part can stil lbe used
by do we really want to deal with an half-functional window?
No we don't really want that use-case. Let's force the user to
fix it.

- Fixed the AndroidLocation error message to something more usable.
Most people can set an environment variable, however few know
how to "set up the user.home property" (I don't even know how
to do that.)

- Display the AVD base folder in the AVD page.

Change-Id: I2b9dbc7180e4bb3ff696de257bb260e808301d2d
rc/com/android/sdklib/internal/avd/AvdManager.java
1a6379e626588d1b3306ee89e4dc05f7b79ec103 25-Mar-2010 Raphael <raphael@google.com> SDK Manager: fix crash when creating new AVD with no home.

This also fixes the logging:
- properly propagate the ISdkLog to the AvdCreateDialog.
- properly use the ADT console for logging when invoked from Eclipse.

SDK Bug 2535112

Change-Id: I9e059fe30fe02c4f5d3e70054b4454f5703df515
rc/com/android/sdklib/internal/avd/AvdManager.java
cd23678486ef1c26e9767ccfcd5e98499bb09e7a 18-Mar-2010 Xavier Ducrohet <xav@android.com> Add support for the new Ant rules files.

The new Ant rules files are located in <platform>/ant
instead of <platform>/templates

Also, the name of the file now include the revision
number to make it easier to update them, so the custom
task must deal with this.

Change-Id: I8fff9656b17c5afad8f22b23052dfca4c598d712
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
7641cd7668c2dda9d198cc660d58d845de677029 16-Mar-2010 Xavier Ducrohet <xav@android.com> ADT: New project properties panel for libraries.

Change-Id: I21efbcfd4bfcb552e1ecceee7cc611efa6b737f3
rc/com/android/sdklib/internal/project/ProjectProperties.java
d00fc08cf78849145dfb1cb371ea271e831bdb07 12-Mar-2010 Xavier Ducrohet <xav@android.com> Disable writting the apk settings.

This is not fully supported. Its presence in
default.properties can be confusing the devs
in thinking this is supported.

Also removed a useless helper class.

Change-Id: Ia26b31e258f53964a437c7bbe202da857796df8e
rc/com/android/sdklib/internal/project/ApkConfigurationHelper.java
rc/com/android/sdklib/internal/project/ApkSettings.java
ed88cf93fbef99a878be3c5e6691615b34f09045 11-Mar-2010 Xavier Ducrohet <xav@android.com> Move ant.prop to sdk.prop and up a folder.

this file is meant to have general sdk properties, not
just Ant ones.

Also separated the library support from the Ant build version.
It's clearer whether or not libraries are supported, and it's
not just tied to Ant anyway (ADT needs to know as well).

Finally use that new property to do checks on library support
in both the custom Ant tasks and ADT.

Depends on a CL in development.git (sdk.atree change).

Change-Id: I77d229ed3fd60f0468b1d3d31f7cf147b03a32fb
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
ests/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/com/android/sdklib/internal/repository/MockPlatformPackage.java
61254e28b76e39edc6482d785cf3f3b990a8c919 10-Mar-2010 Xavier Ducrohet <xav@android.com> Make some errors warnings instead when parsing the SDK.

Errors are always displayed, warning only in verbose mode.

Bug: 2502224

Change-Id: I8380e63d7a9c936187fa4c557849d9a2bacc13a2
rc/com/android/sdklib/SdkManager.java
27a04d9ba53195158752f06eb5bc5344c4e97414 08-Mar-2010 Raphael <raphael@google.com> SDK Manager: Fix typo in addon dir selection.

Follow up for change I1d7412de
SDK Bug 2277394

Change-Id: I553e8db093661f9abfd45791f194929e52775212
rc/com/android/sdklib/internal/repository/AddonPackage.java
f59560335277e4dd69b2426d917cfbdefff6513a 07-Mar-2010 Raphael <raphael@google.com> SDK Manager recomputes addon install folder name.

SDK Bug 2277349

Change-Id: I1d7412deeda45c8a85072a7ee8d371b5bee6a9a0
rc/com/android/sdklib/internal/repository/AddonPackage.java
afa1314fb37987bdb74c899234292d516df9b42d 02-Mar-2010 Raphael <raphael@google.com> ADT & libs: change ISdkLog to be a mandatory non-null parameter.

Mostly a javadoc change describing the log arguments as necessary.
In the SDK & AVD Manager code, also removed the log!=null checks.
This makes it consistent with the repository code too which
already had this assumption.

SD Bug 2477460

Change-Id: I5ba7ae6a2c7685805e43a115359f99f2f0caa815
rc/com/android/sdklib/NullSdkLog.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/avd/HardwareProperties.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/RepoSources.java
40457b5e763e655f8760d9013307105b77c2017f 02-Mar-2010 Xavier Ducrohet <xav@android.com> Merge "ADT: handle project open/close/rename for library support."
5a0dad23565a3468be03ea8bbcc04ee85925e969 27-Feb-2010 Xavier Ducrohet <xav@android.com> ADT: handle project open/close/rename for library support.

Change-Id: Id08883948adb65ce749ea53d54738e0ff02ed8b4
rc/com/android/sdklib/internal/project/ProjectProperties.java
98e87287e624a0de852b6309da3329d3bfb74671 01-Mar-2010 Raphael <raphael@google.com> ADT: Fix NPE when SDK Manager uses a null ISdkLog.

SDK Bug: 2477460

Note: this fixes the NPE but it also makes sure we give
an ISdkLog even when calling from the toolbar SDK Manager
button or from the AVD Selector > Manager button.

Maybe it would be better to just assume the logger is never
null, remove the log==null checks all over the place and
correctly comment "log cannot be null" in the methods javadocs.

Change-Id: I50f65d698b7507b5e9eca866a332290f92edd05a
rc/com/android/sdklib/SdkManager.java
72f89cce993df4f254f8664d3075e61ec362f6ca 25-Feb-2010 Xavier Ducrohet <xav@google.com> Merge "Fix project creation by properly creating default.properties if needed."
c10712c9c0d1603aa7e834517bb1d00b179c034b 25-Feb-2010 Xavier Ducrohet <xav@android.com> Move sdklib.internal.io.* into sdklib.io

Some other "public" API (AndroidManifest) depends on it
so it should be public too.

Change-Id: I88cd299bbd60df8f4dac5fe029bb52c0c0c2f16c
rc/com/android/sdklib/internal/io/FileWrapper.java
rc/com/android/sdklib/internal/io/FolderWrapper.java
rc/com/android/sdklib/internal/io/IAbstractFile.java
rc/com/android/sdklib/internal/io/IAbstractFolder.java
rc/com/android/sdklib/internal/io/IAbstractResource.java
rc/com/android/sdklib/internal/io/StreamException.java
rc/com/android/sdklib/io/FileWrapper.java
rc/com/android/sdklib/io/FolderWrapper.java
rc/com/android/sdklib/io/IAbstractFile.java
rc/com/android/sdklib/io/IAbstractFolder.java
rc/com/android/sdklib/io/IAbstractResource.java
rc/com/android/sdklib/io/StreamException.java
rc/com/android/sdklib/xml/AndroidManifest.java
68522c40236d0b0c2ab476aad7de305c97e403f7 24-Feb-2010 Xavier Ducrohet <xav@android.com> Fix project creation by properly creating default.properties if needed.

This was broken by the commit that introduced ProjectState.

Also fixed issue when default.properties was changed outside of Eclipse.
ADT now properly reload it content and re-resolve the target.

Change-Id: I7866feee626e8e22bdb37638eed1aca03c934382
rc/com/android/sdklib/internal/project/ProjectProperties.java
a07f53e7b163264fc5a03ff0203f00cb905a5439 24-Feb-2010 Xavier Ducrohet <xav@android.com> Improve the IAbstractFile/Folder classes.

- Add setContent to the file class
- add listMembers to the folder class
- extend java.io.File instead of using a delegate.

Change-Id: Ib6434b37c8cceb6661bc6a17ae678a56d2c243f2
rc/com/android/sdklib/internal/io/FileWrapper.java
rc/com/android/sdklib/internal/io/FolderWrapper.java
rc/com/android/sdklib/internal/io/IAbstractFile.java
rc/com/android/sdklib/internal/io/IAbstractFolder.java
610a7584cd2ede40772dbe95bd59e525a3859837 19-Feb-2010 Xavier Ducrohet <xav@android.com> ADT: Library support: source folder and pre-compiler.

This is the first step in the library support.
For each library, create a source folder in the main project that
is linked to the source folder of the library project.

The linked resources use a path variable named after the library
in the format: _android_<library name>.
These variables are always created when the link is created.

For now the link is recreated all the time, but we could
do a check and not redo it if it's already done.

Additionally, the pre-compiler creates the R class from
the res folders of the main and library projects.

Some misc fixes/clean-ups:
* Fix an issue with the new ProjectState where opening a
project would not trigger a load of its target data.

* Changed the lock for all SDK operation:
- moved the lock in Sdk accessible as Sdk.getLock()
- made the few Sdk method that used their own synchronize
block use the same lock as all others.

* removed the builders project and moved its content to sdklib
This was meant as a way to share code between the Eclipse
builders and the Ant tasks but sdklib is already used by
both, so it's better to put the code in sdklib than
have yet another project.

Change-Id: Ibfa449c7a809f28e428c03bbda8215969717ecde
rc/com/android/sdklib/internal/io/FileWrapper.java
rc/com/android/sdklib/internal/io/FolderWrapper.java
rc/com/android/sdklib/internal/io/IAbstractFile.java
rc/com/android/sdklib/internal/io/IAbstractFolder.java
rc/com/android/sdklib/internal/io/IAbstractResource.java
rc/com/android/sdklib/internal/io/StreamException.java
rc/com/android/sdklib/xml/AndroidManifest.java
e87bc60813f90110c1156b086138e5e856c93809 19-Feb-2010 Xavier Ducrohet <xav@android.com> Clean up for how the ADT plug-in keeps track of project and their targets.

For some the (IProject, IAndroidTarget) map was only filled when a project
was created or had its target changed. Other projects that were just opened
in the workspace wouldn't be put in the map, making each call to Sdk.getTarget()
read the default.properties.

This commit adds a new class ProjectState to centralize the state of a project
including target info, apk settings and soon libraries.
The project state are stored statically in Sdk so that they survive Sdk reload.

I'm cleaning up the API of Sdk also to make it let complex and weird.

Change-Id: I1324c622a646486a474ce26b2172385f00091b3f
rc/com/android/sdklib/internal/project/ApkSettings.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
f1c91b975dd94f5ee77100d5695c2e2243d65b31 17-Feb-2010 Xavier Ducrohet <xav@android.com> Check whether the project's target supports libraries.

Check is done when:
- a library is added to a project through "android update project"
- a project is compiled through Ant

Change-Id: I09993b9aac5ad32a84335647429fc52fa2babaf9
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
ests/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/com/android/sdklib/internal/repository/MockPlatformPackage.java
3e4e3d908df5f90d2249a5855a73160fcb65e043 17-Feb-2010 Xavier Ducrohet <xav@android.com> Merge remote branch 'goog/master' into HEAD
b91e6ca9a2f9bc09884471e7cf751b5b10667583 17-Feb-2010 Xavier Ducrohet <xav@android.com> Add Ant build/template revision to the SDK platforms.

Change-Id: I1cd3964707c5472851c6868796649e62b4f2d232
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
ests/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/com/android/sdklib/internal/repository/MockPlatformPackage.java
4ccd166171209813443bf29867c31d9e34858fd3 12-Feb-2010 Xavier Ducrohet <xav@android.com> Add support for creating/updating library project to the "android" command-line tool.

Also, support to add a reference to a library from a regular project.

Bug: 2294012
Change-Id: I5323dd5816426651a1e77ab206d9d17ee5749813
rc/com/android/sdklib/internal/project/ProjectCreator.java
7bfc74613e9bced3f1b6291280e5cc80a5f5954a 03-Feb-2010 Xavier Ducrohet <xav@android.com> Add support for library project in the Ant build system.

new build rules file for library only. Should probably extract
the parts that are common to this and the default rules file.

SetupTask now sets up some properties and Path reference based
on the libraries.
They are used by:
- aapt task (now also used for the generation of R.java) which
use all the res folders of the main project and the libraries,
and generate an R class for the project and the libraries.
- javac which compiles the src/ folders of the libraries.

Bug: 2294012
Change-Id: Ie550dcf0ba8ea57696ebb1c2a61d4c6d73307bdf
rc/com/android/sdklib/internal/project/ProjectProperties.java
65611f1e45835a65432c109ed7397124b1f61eb3 03-Feb-2010 Xavier Ducrohet <xav@android.com> Fix sorting of Sample-type packages

Also sort the list of local packages.

Bug: 2414760
Change-Id: I0a25d5985db76d561bd312682ac1ce31eafaf560
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
0b9f1ace93062a769c6ed2a963d7f3e9d839cb22 30-Jan-2010 Raphael <raphael@google.com> SDK Updater: ask for confirmation before wiping modified samples.

SDK Bug: 2401466

Change-Id: I09d596b44b3daf3a079c51f76db3f9f8d376a8b3
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
59cd9ce8477de1cc34a9f71e4e4f0ffab2c18673 29-Jan-2010 Raphael <raphael@google.com> SDK Updater: Support post install script for updating SDK Setup.exe.

The new post_tools_install.bat will be found in SDK/tools/lib.
This also moves find_java.bat into the same lib folder.

SDK Bug: 2404830

Change-Id: I84e3671918931079f296500e296ec1a55931b851
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
141efab32a8b8d491fa3781f55c2fddd62312a01 25-Jan-2010 Raphael <raphael@google.com> SDK Updater: Install samples in correct directory.

Also makes sure root directories exist before trying to
install into them

SDK Bug: 2384690

Change-Id: I9ed9f1b206debfc051d7b627afd5fd1fac96dd88
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
31d2e1f6ee7d8a033c3d73b62d51fb220ff36d56 25-Jan-2010 Raphael Moll <raphael@google.com> Merge "ADT NPW: cleanup minSdkVersion resolution for samples." into eclair
2bb7ab0c55cc3e848f2c31601018637e13be7fac 23-Jan-2010 Raphael <raphael@google.com> ADT NPW: cleanup minSdkVersion resolution for samples.

This fixes a couple quirks in NPW:
- When you select a sample, its minSdkVersion is now used as-is
but the currently selected target is not changed to match.
Otherwise it invalidates the list of samples you're trying to
import from...
- This allows for samples with no minSdkVersion to properly
import with an empty field.
- Same issue if you were to manually edit the field after the fact.

Also renamed IAndroidTarget.isCompatibleBaseFor() to
IAndroidTarget.canRunOn(), which is way more readable.

This also "fixes" bug 2346838 -- kind of, the bug was obsolete
since I had added the new sample mode but there was another
quirk instead (it was reverting the target so it invalidated
the sample you were trying to import... see point #1 above.)

Change-Id: If2487632484fa5646bea7fe2625a2a55e5d26c50
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
ests/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/com/android/sdklib/internal/repository/MockPlatformPackage.java
a713fb965670b8bdb2f05914af89f1ad41fae7b5 23-Jan-2010 Raphael <raphael@google.com> SDK Updater: support <obsolete> packages.

Bug: 2390937
Change-Id: Ie571d308475a32bc81510785152b230031037094
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/internal/repository/XmlParserUtils.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository-2.xsd
ests/com/android/sdklib/testdata/repository_sample_2.xml
f20987a9129ddd5f8911a0371b2f30f939a1ce39 22-Jan-2010 Raphael <raphael@google.com> SDK Updater: samples support.

- Scan unknown /samples folders.
- Sample icon for package list.
- Renamed all package icons to <name>_pkg_16.png to simplify loader.

Bug: 2384690

Change-Id: I4deb11c37918e75357b3bb5212f0007126a8f3de
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
5138404e9b93919d3006645d0159a59171f9d8ff 22-Jan-2010 Raphael <raphael@google.com> SDK Updater: support sample packages.

TODO: needs an icon and scanning /samples folders not matching
any current platform (in next CL)

BUG: 2384690
Change-Id: I07d55a8e1ff897bde10c475050d0e18ae3ca7da8
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/IMinApiLevelDependency.java
rc/com/android/sdklib/internal/repository/IMinToolsDependency.java
rc/com/android/sdklib/internal/repository/IPackageVersion.java
rc/com/android/sdklib/internal/repository/IPlatformDependency.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/SamplePackage.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository-2.xsd
ests/com/android/sdklib/testdata/repository_sample_2.xml
626101eadcf09ed6f471c923e1cf8deba1cd6b56 21-Jan-2010 Raphael Moll <raphael@google.com> Merge "SDK Updater: support min-api-level in Extra packages." into eclair
0e7261b945b60de9b8c11ff0c6a0eaed847f8681 21-Jan-2010 Raphael <raphael@google.com> SDK Updater: support min-api-level in Extra packages.

BUG: 2386406

Change-Id: I274079d228e9fe7ca2623b54adeae33d365662ed
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository-1.xsd
rc/com/android/sdklib/repository/sdk-repository-2.xsd
ests/com/android/sdklib/repository/SdkRepositoryTest.java
ests/com/android/sdklib/testdata/repository_sample_2.xml
fe14931d3c5c50a57d7cb705dfc57f919972fce6 21-Jan-2010 Xavier Ducrohet <xav@android.com> Make "android update test-project" create all necessary files.

Previous implementation only created build.properties to set
the location of the main project.

This new version will also update/create files as the main
"android update project" command does.

Bug: 2284744
Change-Id: I8938d0a49537c5d4fbc60d3557a21ab7c40fad3e
rc/com/android/sdklib/internal/project/ProjectCreator.java
e2bfef70bbfe1a9be1b08e330a736a14324da25d 12-Jan-2010 Xavier Ducrohet <xav@google.com> Merge "Add support for Sample packages in the SDK Manager" into eclair
f70fb361a2424bc998e2d0378ac6cb5c45ce467a 12-Jan-2010 Xavier Ducrohet <xav@android.com> Add support for Sample packages in the SDK Manager

Bug: 2296352
Change-Id: Id26fdb02030d00a27960b3e0a21d3c537e7cf8da
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
dcc72b2d2057138024c1e521f0899860439ecafa 12-Jan-2010 Xavier Ducrohet <xav@android.com> ADV Manager: prevent deletion of running AVDs

Bug: 2364918
Change-Id: Ibe01e0b2d51f6d7df1972f57ff7fadb6116175df
rc/com/android/sdklib/internal/avd/AvdManager.java
0d0fcc50842d0db182105ebee2fc60618fcacd28 12-Jan-2010 Xavier Ducrohet <xav@android.com> AVD Mananger: Fix the deletion of a folder content.

Bug: 2364917
Change-Id: I9585200adad5deb2ef27ea157ddd25e7124c2e73
rc/com/android/sdklib/internal/avd/AvdManager.java
977214b91d3c58ebddc55f4ac8efda1d7de01a0f 07-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iaf2904b2 into eclair

* changes:
AVD Selector now sort AVDs
2b3a9a7edf8465fd1cc87d03865e66c9918e45cb 05-Dec-2009 Xavier Ducrohet <xav@android.com> AVD Selector now sort AVDs

Also fixed the IAndroidTarget comparison to sort first by revision
and then per platform or addon and then per vendor/name (for add-ons)

BUG 2302823
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/internal/avd/AvdManager.java
33b62060beacbdf05ebbbfbb15b90365f005081f 05-Dec-2009 Xavier Ducrohet <xav@android.com> Listen to default.properties change from outside of ADT and update the project.

BUG 2287591
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
4013460709a66ea2cb1816faa99b3700f4760264 02-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I79854c45 into eclair

* changes:
Enforce 9+ MB sdcard size when creating AVDs.
e3e6a4da44220eda430caecb3d843b3876065699 02-Dec-2009 Xavier Ducrohet <xav@android.com> Enforce 9+ MB sdcard size when creating AVDs.

BUG 2296337
rc/com/android/sdklib/internal/avd/AvdManager.java
0cf765337d75539a42fb2ff1a635e2ad34c6446e 01-Dec-2009 Xavier Ducrohet <xav@android.com> Fix a possible NPE when add-ons don't have optional APIs.

BUG 2235023
rc/com/android/sdklib/AddOnTarget.java
ad87495ec1634e7d7f0204958c0f81b7846c0f5b 19-Nov-2009 Raphael <raphael@google.com> am 4b38ad89: SDK Manager: sort packages from remote repositories.

Merge commit '4b38ad894bdc56b21c0d7c2a169df49a8c4898b6' into eclair

* commit '4b38ad894bdc56b21c0d7c2a169df49a8c4898b6':
SDK Manager: sort packages from remote repositories.
6c142098bb3cf32ae8201c91f5d9d741e8832e58 19-Nov-2009 Raphael <raphael@google.com> am 534c38a2: Merge change I919980d2 into eclair-sdk

Merge commit '534c38a2033a1702ab5d41edd62aab3d4e6eb27a' into eclair

* commit '534c38a2033a1702ab5d41edd62aab3d4e6eb27a':
Display a message in the SDK Manager when a new schema tool is available.
4b38ad894bdc56b21c0d7c2a169df49a8c4898b6 19-Nov-2009 Raphael <raphael@google.com> SDK Manager: sort packages from remote repositories.

SDK BUG 2271987
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/RepoSource.java
919980d23fde656cd630f264e97702b40117f8a1 19-Nov-2009 Raphael <raphael@google.com> Display a message in the SDK Manager when a new schema tool is available.

SDK BUG 2252825
rc/com/android/sdklib/internal/repository/RepoSource.java
664f7c328144dd1cdde7df54bbe9c395a3b124eb 17-Nov-2009 Raphael <raphael@google.com> SDK Manager: XML Schema for sdk-repository v2

v2 will be a full standalone schema, not reusing any parts of v1.
Each package type is now defined using a named type, which means
a v3 version would redifine the top element and could include
some named types of v2.

Unfortunately we cannot *extend* the top element from v1 because
extension in XML Schema seems to imply a sequence (i.e. fixed order)
whereas we use a "choice" mode to have 0..N of each types in any
order.

SDK BUG 2252825

Change-Id: I6809bd4486ef2d7f2473995ed5a0abb7fa377bdd
rc/com/android/sdklib/repository/sdk-repository-2.xsd
d5bc0d40ec5a2b3a490f304f8a70c1fbd21e6fe7 16-Nov-2009 Raphael <raphael@google.com> SDK Manager support for future schemas.

This CL cleans up the v2 test by removing all v2 stuff
from the code right now. We only keep the part that
handles future schemas and right now the latest version is 1.

Change-Id: I31e6aeaf0582e94c67e1cc8317bec479ea7a52e7
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository-2.xsd
ests/com/android/sdklib/repository/SdkRepositoryTest.java
ests/com/android/sdklib/testdata/repository_sample_2.xml
020cf54bbe41a5d62a58687dc0a4995d7f7bb6de 15-Nov-2009 Raphael <raphael@google.com> SDK Manager: phase 1 of support for future schemas

This is phase 1 of the support for future schemas:
- introduces a new v2 of the XSD
- handles an unknown XSD and extract its tools elements after
some hand checks.

TODO in phase 2:
- we still need to iron out the details of the sample node.
- there's no support for samples yet... this commit is not
about switching the sample code support to the new structure.
- there's no indication to the user that we are handling a new
schema... there should be some visual clue on why only the
tools are shown.

SDK BUG 2252825

Change-Id: If1bda26414cfe15275063d3187a98be6301d2992
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/XmlParserUtils.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository-1.xsd
rc/com/android/sdklib/repository/sdk-repository-2.xsd
rc/com/android/sdklib/repository/sdk-repository.xsd
ests/com/android/sdklib/internal/repository/RepoSourceTest.java
ests/com/android/sdklib/repository/SdkRepositoryTest.java
ests/com/android/sdklib/repository/TestSdkRepository.java
ests/com/android/sdklib/testdata/repository_sample.xml
ests/com/android/sdklib/testdata/repository_sample_1.xml
ests/com/android/sdklib/testdata/repository_sample_2.xml
75b33ef999a4025177002b21d2620fb3717572ed 13-Nov-2009 Raphael <raphael@google.com> SDK Manager: fix, create temp folder before download

SDK BUG 2258237

Change-Id: I361fb688558539e20af50cd0a1d805ddf4ea4828
rc/com/android/sdklib/internal/repository/Archive.java
efa7c54df3ad13369a07392a25655ca0aa8f78a6 07-Nov-2009 Raphael <raphael@google.com> SDK Manager: reuse complete downloads, retry Windows locks.

This resolves 2 main issues with the SDK updater:
- Completed downloads are not cleared till the install is successful
- They are also stored in SDK/temp rather than the real Windows TEMP
folder, making them more discoverable for savvy users.
- There's a retry loop on failed install when due to a directory
being locked.
- The retry loop comes with the a Big Fat Warning[tm] in a modal
dialog box. You can't miss it. And it explicitly mentions the
antivirus software can be the root cause.

SDK BUG 2235058

Change-Id: Id49751ebd67e7291a0e7005136b22576335729c1
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
c91556d95b7bac74a960ecfede8020c66b08c033 31-Oct-2009 Xavier Ducrohet <xav@android.com> Only apply permission to files with +x (do not merge)

integrated from eclair branch.
rc/com/android/sdklib/internal/repository/Archive.java
6894ae6d8af8a30c7137fe01831a57fc0fc24695 29-Oct-2009 Raphael <raphael@google.com> SDK Manager: fix NPE in AVD > Start when there's no skin name.

Also log missing config.ini path.

SDK BUG 2223760

Change-Id: I4517005e03e90c0b5a52bcb40b0d32eddd03c1f3
rc/com/android/sdklib/internal/avd/AvdManager.java
02d31c8cf03cec16d9ed51ba0a7269bf9b392dc4 29-Oct-2009 Raphael <raphael@google.com> SDK Updater: don't load sdk-repo XML that failed to validate. DO NOT MERGE.

This also prints a more obvious message in case Java doesn't
have an XML Schema validator.

SDK BUGS 2219284 2198427

Change-Id: I28aa1104957d2fe7791dcf0377a42d37f777a19d
rc/com/android/sdklib/internal/repository/RepoSource.java
a3f649c85457ba10864a2f4f3f8164a68ccf36a0 20-Oct-2009 Raphael <raphael@google.com> SDK Updater: UI polish

Fixes the following issues:
- Updater says it didnd't install addon and then install it
(cause: UpdaterData was looking for an ArchiveInfo in a map of Archive)
- Added a label explaining the [*] in the dependency list.
- Added the originating site to the long description in the package chooser.
- Display downloading/installing comments in the result window.
- Fixed app name in dialog when tools are updated.

Change-Id: I075d2eaeb357f33671f7e9e70a906ca48000908d
rc/com/android/sdklib/internal/repository/Archive.java
706a64e84a81937fffde3c8dee61df2a77650811 16-Oct-2009 Raphael <raphael@google.com> SDK Updater: properly update/install doc. (do not merge)

This contains the following changes:
- a new interface IPackageVersion for all Package classes that can
provide an AndroidVersion getVersion().
- fixes the "update sdk" where the local repo has no doc by suggesting
to install the most up-to-date doc.
- fixes a bad cast in the UpdaterLogic.
- normalizes the long descriptions but adding the revision if not
present.
- fixes an edge case when displaying the very long description of the
docs package, i.e. need to indicate it is upgraded due to a version
change.

SDK BUG 2192352
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/IPackageVersion.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
132c03da3f64994b5fcecc14b7251242d314b23e 13-Oct-2009 Xavier Ducrohet <xav@android.com> Fix NPE in the parsing of property file.

this could happen if the log object is null and the parsing fails.

Change-Id: I6dbcafab26c5405efba20b30f511104fcee5bf78
rc/com/android/sdklib/SdkManager.java
7596693744686f053e1bac80045f1d5e158860af 10-Oct-2009 Raphael <raphael@google.com> SDK Manager: display packages revisions

This changes the short description of all the package types
to display the revision.

It also changes the long description to be "whatever" is in the
XML; if there's nothing in the xml, use the short description.
Also appends the requirements for addon/platform and min-tools-rev.

I will address the packaging script to put proper descriptions
when generating the XML.

SDK BUG 2136068

Change-Id: Iaca7692f048f7f63111c2fe1f25c5588f0fc2099
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
bdf3f2f35289afc077feaa1315874b9bc422b3b8 10-Oct-2009 Raphael <raphael@google.com> SDK Manager: extra packages must respect min-tools-rev too.

SDK BUG 2040986

Change-Id: I2fb42327ff6d474fd8ad58fcd0725af3972ea026
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/MinToolsPackage.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
108d03b836114228ee0e51fc14cc6e619402c0b7 08-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ica46d149 into eclair

* changes:
SDK Updater: platform dependency on tools, addon dependency on platform.
b3256d73fab913a18251f7b210973eb5c1597561 07-Oct-2009 Raphael <raphael@google.com> SDK Updater: platform dependency on tools, addon dependency on platform.

SDK BUG 2040986

Change-Id: Ica46d14939bb3a9bf499899a0bf571456d4c6017
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
ests/com/android/sdklib/internal/repository/MockAddonPackage.java
ests/com/android/sdklib/internal/repository/MockPlatformPackage.java
ests/com/android/sdklib/internal/repository/MockToolPackage.java
9aeeb5ef7eb46a04f3add63809e2d4a53f4ea987 08-Oct-2009 Xavier Ducrohet <xav@android.com> Add hardware support to AVD creation dialog.

Change-Id: Ia20b55c788191b40159b5c38b66f1da333179ccc
rc/com/android/sdklib/internal/avd/HardwareProperties.java
180c137525c166f3e9a6e987f22650e4d9afacb2 06-Oct-2009 Xavier Ducrohet <xav@android.com> Moved the test data to their own package.

This allows us to select the whole package for binary inclusion
in adt-test (which doesn't automatically take any non java file for
packaging)

Change-Id: Idc3d3b2f27623de1b0fccd7e01dd88948923081c
ests/com/android/sdklib/repository/TestSdkRepository.java
ests/com/android/sdklib/repository/repository_sample.xml
ests/com/android/sdklib/testdata/repository_sample.xml
029f98d69605e322c8f8592ab59d2f89814872c8 02-Oct-2009 Xavier Ducrohet <xav@android.com> Emulator launch options dialog.

This is displayed when clicking the Start button in the AVD manager.

The dialog allows to easily scale the emulator to match an arbitrary screen size
and to wipe the user data if needed.

The required monitor dpi is computed using java.awt.Toolkit, but (at least
on MacOS) it doesn't return the correct value, so it can be user supplied.
It's stored at least while the app is running and if possible in the settings
of the ADV/SDK Manager/Updater.

The wipe-data and scale flags are stored and reused while the app keeps
running as well.

Change-Id: Ia2f3ff5f4de285a3d505c6914d6b89cc663be284
rc/com/android/sdklib/internal/avd/AvdManager.java
570d2d4dad1a0e362a005f6eb80b591e219c8217 01-Oct-2009 Xavier Ducrohet <xav@android.com> Replace icon template with new style and multiple densities.

The icon in the templates of ADT was medium density only.
I added new densities (high and low), as well as updated to
the new Eclair style. Also added a version for Ant project.

Updated ADT and sdklib to deal with creating new projects
with all 3 icons.

In case of Ant project, this is done only if the icons
are present in the target platforms.

For ADT, this is done only if the project target donut
or later. Older project still have only one icon located
in drawable/

Change-Id: I77069a1e4902ef395d490526aabc40a26e33d4ca
rc/com/android/sdklib/internal/project/ProjectCreator.java
e9959a3e3c98b7e603d609b765ac4b1b99f38567 29-Sep-2009 Xavier Ducrohet <xav@android.com> Add support for 'android update test-project'.

This is only to be used to update the location of the main project.
To update other properties, 'update project' can be used.

Change-Id: I96ff44295460c7e331953263abccea17108d5a70
rc/com/android/sdklib/internal/project/ProjectCreator.java
73f5ae121d3c8967ce24bdacab76c3a3242778b5 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I663d4cb7 into eclair

* changes:
Update the project creation (from the command line):
581d5a47537a7e7fde6f347f5478194c04ca4957 28-Sep-2009 Xavier Ducrohet <xav@android.com> Parse add-on supplied layout devices.

Add-ons are expected to provide a file called devices.xml in their root
folder. The XML schema for this file is
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/layout-configs.xsd

I slightly fixed the schema so that normal screen size use the token
"normal" instead of "medium" to match the resource qualifier.

To round up the feature, the following changes are included:
- getEnum in the resource qualifier enum has been made public. There's no
sense in keeping it private and it'll help with people possibly using
valueOf which behaves differently (case sensitive so
ScreenSize.valueOf("normal") fails, while getEnum on the same string succeed.
- Updated the device configuration UI to deal with missing list of
devices while the SDK loads.

Change-Id: Ib1b01007d2ae7fd6398172c3549b2686c33d48be
rc/com/android/sdklib/SdkConstants.java
eefd90971184e89ff892bcf10598a2990bb05657 26-Sep-2009 Xavier Ducrohet <xav@android.com> Update the project creation (from the command line):

- Make the distinction between the activity class name, manifest entry,
fully-qualified name, and tested activity for the template place-holders.
Test activity names now directly contain the full name (including the
"Test" prefix) instead of the template adding it.
This is required by the new 'create test-project'

- New action: create test-project
This requires a path to the main project. It reads the package, activity
name and target from the main project.
The activity is read from the manifest and can be in a more complex form
than previously expected (for instance .subpackage.MyClass, instead of
simply MyClass). This is what required the re-work the activity related
template place holders.
Options:
-m --main Location path of the project to test, relative to the new
project [required]
-n --name Project name
-p --path Location path of the new project [required]

Example: for 2 projects MyProject and MyTests located in the same folder,
calling from their parent folder.

android create test-project -p MyTests -m ../MyProject

- build.properties now only gets application.package for older targets
as the new one get it directly from XPath

- Remove AndroidXPathFactory from the anttasks project as it was already
in sdklib which is a dependency.

- Removed IntelliJ templates for the SDK. We haven't supported them for
a while, and now that IntelliJ has built-in support for Android, it's
not that useful anymore.

While there is the command line parameters for 'update test-project'
it's not yet implemented.

Change-Id: I663d4cb7f439bb2abfe866f893e58f4d13aff975
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/xml/AndroidManifest.java
rc/com/android/sdklib/xml/AndroidXPathFactory.java
rc/com/android/sdklib/xml/ManifestConstants.java
6b17264f7af10266a12181e051aca4e05596d1ce 22-Sep-2009 Piotr Gurgul <pgurgul@google.com> Add auto-generated tested.project.dir property

Adds tested.project.dir=".." to ProjectDir/tests/build.properties in order
to indicate automatically that this is a test project and point the
tested project directory.
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
f2a9b5606db6c6b963f3f31042c49c70ed7c9f58 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24918 into eclair

* changes:
Put back support for hardware.ini at the top level of an add-on.
35fb39ee052155e901ed56449b0e5af6f905cd52 15-Sep-2009 Raphael <raphael@google.com> SDK Updater: fix wrong error when unable to get repository.xml

BUG 2095530

Change-Id: I19622378b8da049f1c3416b8e0951ecc1f7475f0
rc/com/android/sdklib/internal/repository/RepoSource.java
1dbcc7c53b3364d935752a84722d32707b286d60 14-Sep-2009 Xavier Ducrohet <xav@android.com> Put back support for hardware.ini at the top level of an add-on.

Change-Id: Ifb4e567e69f0f5e6ffde8f98c636336cf1289e42
rc/com/android/sdklib/internal/avd/AvdManager.java
72fffebda7b924987f947b85b47c9087590983e3 11-Sep-2009 Raphael <raphael@google.com> android tool: support --target symbolic target names

BUG 2056746

Change-Id: I579e58f7c63cf404cd11af394f41ed7f998593ce
rc/com/android/sdklib/SdkManager.java
d5c7842956e5fb21ec61bf4334ba6a263e883e50 10-Sep-2009 Xavier Ducrohet <xav@android.com> Support for hardware.ini per skin in add-ons.

Change-Id: Iab230f09504a7df34faa6a27c121a79ef1ffd603
rc/com/android/sdklib/internal/avd/AvdManager.java
b26676823f17f2c1ee177ba832857cfec246c2a8 24-Aug-2009 Xavier Ducrohet <xav@android.com> Move from arbitrary resource filters to fix ones

Resource filters are used when generating additional APK containing only
specific resources.
The previous UI allowed for any type of filters, but we are moving to a
simpler way with fixed filters.
The first one is the density. Selecting the filter will generate 4 APKs per
application: default (all resources), hdpi (only hdpi/nodpi and default
resources), mdpi, ldpi.
rc/com/android/sdklib/internal/project/ApkConfigurationHelper.java
rc/com/android/sdklib/internal/project/ApkSettings.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
889ecf9fe2b0f0987febf43e2ce9991705efa8b2 26-Aug-2009 Piotr Gurgul <pgurgul@google.com> Ant properties names legacy support

Support for old property names in SetupTask.java, in order to maintain
compatibility with Donut and earlier.
rc/com/android/sdklib/internal/project/ProjectProperties.java
3f1f33d535c984594dc29c6dc8a58cfc26e62c77 25-Aug-2009 Piotr Gurgul <pgurgul@google.com> Ant properties names changed

application-package to application.package
sdk-location to sdk.dir
android-jar to android.jar
android-aidl to android.aidl
in order to make their names compliant with the ant standards and rest
of the property names.
Properties names in alias rules deliberately ommited in this CL.
Some minor style changes introduced.
rc/com/android/sdklib/internal/project/ProjectProperties.java
c623c1384d6d7d523310c1a69208ac06407c59b3 18-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21645 into donut

* changes:
Make SSL error a bit more human readable.
acbe4455e9aa7d04df90d868b2f8258f7ad35a30 18-Aug-2009 Xavier Ducrohet <xav@android.com> Make SSL error a bit more human readable.
rc/com/android/sdklib/internal/repository/RepoSource.java
84a86abc6eac3f7a179614b6e3f1fbc09cf05940 17-Aug-2009 Xavier Ducrohet <xav@android.com> ADT Export wizard now calls ZipAlign
rc/com/android/sdklib/SdkConstants.java
fe02f245d9cf225e5df9a2a869c251cab395feaa 17-Aug-2009 Raphael <raphael@google.com> BUG 1922588: SDK Updater, Needs better license display
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
6c1ca733b03f8db86f9cdbc579566f4e5d6149a8 14-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21301 into donut

* changes:
BUG 1922590 : SDK Updater, customize message for Windows preventing a directory from being renamed.
c7c0055ea66bed1382fcb15f71c30a56c5149f3b 14-Aug-2009 Raphael <raphael@google.com> BUG 1922590 : SDK Updater, customize message for Windows preventing
a directory from being renamed.
rc/com/android/sdklib/internal/repository/Archive.java
5f3b8ffcce0911c022c166822b0f08c90e1bb5c8 14-Aug-2009 Xavier Ducrohet <xav@android.com> Make the Ant script sign and zipalign release builds.

It will also align debug builds.
BUG: 2052744
rc/com/android/sdklib/internal/project/ProjectProperties.java
96f65e7be5ab51524cd0a1d623b352c91c3ba5f6 13-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21034 into donut

* changes:
On project creation, put the app package in build.properties
7dfc404b29e03997c612877c6762e89d3f2f8aa9 13-Aug-2009 Xavier Ducrohet <xav@android.com> On project creation, put the app package in build.properties

This enabled 'ant uninstall' to work.
Also, add an error message to the uninstall rules in case the property
is not defined.

BUG: 2050451
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
d17762f1c4b242d101e91aeb8772487823c20f02 13-Aug-2009 Raphael <raphael@google.com> BUG 2040986 : SDK Updater, platform dependency on tools
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository.xsd
ests/com/android/sdklib/repository/repository_sample.xml
eb530ea3f4a6a48b7152cc3270e89e1f2c6ae629 12-Aug-2009 Xavier Ducrohet <xav@android.com> Properly update the new path of the AVD during an 'android avd move'

BUG: 2048358
rc/com/android/sdklib/internal/avd/AvdManager.java
4a77347cd8d63f25aa2b3a3d57cee47160e600e6 11-Aug-2009 Raphael <raphael@google.com> BUG 2041701: Release notes content/link in SDK Updater schema
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository.xsd
ests/com/android/sdklib/repository/repository_sample.xml
f2c23b6b8cbf14be03f3f1eecbaba8da8141a4aa 11-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20520 into donut

* changes:
Fix IAndroidTarget#isCompatibleBaseFor() for add-ons
ce77f80818498bbf2a4d05efdc1fecc853b8df8b 08-Aug-2009 Xavier Ducrohet <xav@android.com> Fix IAndroidTarget#isCompatibleBaseFor() for add-ons

BUG: 2042277
rc/com/android/sdklib/AddOnTarget.java
7b1832e1e3f1bbb7591935f5c37597f17a5c8b63 08-Aug-2009 Raphael <raphael@google.com> BUG 2042088 : SDK Updater: we want to keep getenv(TEMP_SDK_URL)

Renamed the getenv and added one for user sources.
Added a (naive) check to prevent duplicate URLs.

Also fixed the repositoy.xml download error message, it was not displaying the reason of failure correctly.
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/RepoSources.java
0f06b4581b4299fae4b6258544b1e003259e91f4 07-Aug-2009 Raphael <raphael@google.com> BUG 2041688 : SDK Updater: better description of extra packages
rc/com/android/sdklib/internal/repository/ExtraPackage.java
2605ba39a60efc2ca1cb45b03e93fcbc1bef6ac3 07-Aug-2009 Xavier Ducrohet <xav@android.com> Fix some display string that contained an unused %s and an NPE

This makes the android app crash when the XML cannot be validated.
rc/com/android/sdklib/internal/repository/RepoSource.java
60f8211c0ca0983a2bc7006bc8a23235f7ba1b2d 06-Aug-2009 Raphael <raphael@google.com> SDK Updater: Fix to allow install from directory URL (i.e. auto-guess the
repository.xml correctly.)

BUG 2039080

Also removed some misc Eclipse 3.5 warnings.
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/RepoSource.java
575576911925edf37319cec66ed37525f9a1ec53 06-Aug-2009 Xavier Ducrohet <xav@android.com> Fix comparison of 2 doc packages that have the same codename/revision.

This made the Donut_r1 doc show up as upgrade to the donut_r1 doc.
BUG: 2037448
rc/com/android/sdklib/internal/repository/DocPackage.java
282a182fbd3da8bc987ce10e21d2841dde236d06 06-Aug-2009 Xavier Ducrohet <xav@android.com> Fix NPE that prevented any package w/o license to be installed.

java.util.Properties#setProperty() doesn't like it when the value is null
which was the case when a package had no license.

Made sure it won't happen on other properties than the license as well.

Also improved error display when an unexpected Throwable is thrown during
install (Stack Call is now display if the Throwable has no message).

BUG:2037085
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
903da75a782f0c248ace34658c77253294622d30 03-Aug-2009 Xavier Ducrohet <xav@android.com> Fix PlatformTarget#compareTo(IAndroidTarget) again.
rc/com/android/sdklib/PlatformTarget.java
3b1e768223b885112a5432ed0e179587bf0c354a 28-Jul-2009 Xavier Ducrohet <xav@android.com> Prevent SDK updater dialog from showing offscreen.
rc/com/android/sdklib/PlatformTarget.java
fa335b0e39fa1029acf9044f98edee593ba0b757 24-Jul-2009 Xavier Ducrohet <xav@android.com> Fix the update check for doc packages.
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/Package.java
6cec8161d6682032e04396d7d70211f863246f50 24-Jul-2009 Xavier Ducrohet <xav@android.com> Add a checkbox to only show packages that are updates or new.
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
03793e2ff91ccfc7d704841783574a695c69f91e 23-Jul-2009 Xavier Ducrohet <xav@android.com> Fix loading of user repository and add refresh when adding/removing.
rc/com/android/sdklib/internal/repository/RepoSources.java
86672daff28b5d67fc07fa61e8c3618becb45af8 23-Jul-2009 Xavier Ducrohet <xav@android.com> Use Apache Commons Compress instead of java.util.zip

When the SDK installer unarchives the zip files, it is important to keep
the permissions for executable (Linux/MacOS) or the tools required to
build applications (aapt, aidl, ...) won't work.

Since java.util.zip does not provide support for permissions, we now
use the Apache Commons Compress component that allows us to read the
permission from the archive.
classpath
rc/Android.mk
rc/com/android/sdklib/internal/repository/Archive.java
ba7dd920a1d2970b1bbf2e831d6e2c8871ee6080 23-Jul-2009 Xavier Ducrohet <xav@android.com> Add support for add-on based on preview of platforms.
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/repository/sdk-repository.xsd
rc/com/android/sdklib/xml/ManifestConstants.java
79c1241417c3774487c3372423a51ee9fca6019d 22-Jul-2009 Xavier Ducrohet <xav@android.com> Refactored AndroidXPathFactory into sdklib.
rc/com/android/sdklib/xml/AndroidXPathFactory.java
df10e0b4e493624f7240a84614db46a11c011019 22-Jul-2009 Xavier Ducrohet <xav@android.com> Use the proper URL for the google repository.

Also fix an NPE.
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/repository/SdkRepository.java
db30039c393434ed8a99fefb80d684e14b4afe1b 21-Jul-2009 Xavier Ducrohet <xav@android.com> Generalize usage of AndroidVersion instead of Api level in the SDK packages.

Platform, add-on and doc packages used to use Api Level to figure out
upgrade logic. This is replaced by AndroidVersion to properly handle
codename versions.
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository.xsd
ests/com/android/sdklib/repository/TestSdkRepository.java
ests/com/android/sdklib/repository/repository_sample.xml
6d8d4187c33e461c0674f82f44edab46e4b918b4 20-Jul-2009 Xavier Ducrohet <xav@android.com> Add support for preview versions of platforms.

ro.build.version.codename is a new property indicating whether a platform
is in its release form (value = REL) or in development (value = dev branch
name such as Donut). When the codename indicates a development/preview version
then the API level must be ignored and this codename is used as a unique
identifier of the platform.

IAndroidTarget has been changed to return an instance of a new class
AndroidVersion instead of the api level directly. This class helps deals with
the logic of comparing version from targets or devices.

This change impacts all of the sdk manager to deal with targets identified by
codename instead of api level. This in turn impacts everything that relies
on the sdkmanager: ADT (build, launch, project creation), the AVD manager,
the SDK updater.
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/AndroidVersion.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository.xsd
ests/com/android/sdklib/repository/repository_sample.xml
c10372d3842be76e12ab508044f4d12a86e52352 01-Jul-2009 Raphael <raphael@google.com> Update comments in AvdManager
rc/com/android/sdklib/internal/avd/AvdManager.java
884f19d1c73cf01c7016234c367e06e6292241c5 01-Jul-2009 Xavier Ducrohet <xav@android.com> All actions in AdvManager now receives their own ISdkLog.

Also added 'update' action to AvdSelector.
rc/com/android/sdklib/NullSdkLog.java
rc/com/android/sdklib/internal/avd/AvdManager.java
5e7d619af29ac49d15105fafdf1b3840dac993a0 01-Jul-2009 Raphael <raphael@google.com> SDK Updater: refine error handling when fetching sources.
rc/com/android/sdklib/internal/repository/RepoSource.java
bb3a4e1a03bbbcc2d0b6151a5407dc7cf3ea9bb0 28-Jun-2009 Raphael <raphael@google.com> SDK Updater: Add repository.xml if not specified in URLs
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/repository/SdkRepository.java
ce875ea7e9db071f620c9ad2f0b5dccde01c6fd7 30-Jun-2009 Raphael <raphael@google.com> SDK Updater: Better handling of fetch errors.

The remote page now shows fetch errors in the tree.
Using refresh tries to reload error sources.
rc/com/android/sdklib/internal/repository/RepoSource.java
c5aae4be06246ecce6d4c973706f8e5fee6f6653 30-Jun-2009 Xavier Ducrohet <xav@android.com> AVD creation dialog.
rc/com/android/sdklib/internal/avd/AvdManager.java
152325e2f37be734978553518c7f7bc33040474f 30-Jun-2009 Xavier Ducrohet <xav@android.com> Misc cleanup from a previous commit.
rc/com/android/sdklib/internal/avd/AvdManager.java
430c7319936142604c88e7d50e784edbeb5deada 29-Jun-2009 Xavier Ducrohet <xav@android.com> Skins can now provide their own hardware support (via AVDs)
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
21e6aa228ada70e781998fde5ae3db8510fd9a96 26-Jun-2009 Raphael <raphael@google.com> SDK Updater: Store local source properties when installing.

When installing an archive, a "source.properties" file is saved
in the directory that contains all the information from the
source (Source URL, package attributes, archive attributes.)

When loading local packages, these properties are used to
recreate the local package attributes if present. This is
also used to indentify local extra packages.
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
f0316e9d69ad05ca9ad2cf20e2fb41c4f11392e9 26-Jun-2009 Raphael <raphael@google.com> SDK Updater: Cleanup a bunch of todos
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/RepoSources.java
c120ffed220ea4ec85d90095e8b939e57dd3f588 26-Jun-2009 Raphael <raphael@google.com> SDK Updater: logic to load/save user sources and to delete them.
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/RepoSources.java
dd97818fb63b94d6f037c59c6c96fe39ceda5467 19-Jun-2009 Raphael <raphael@google.com> Fix api change following a rebase.
rc/com/android/sdklib/internal/repository/ExtraPackage.java
6f8125dec6d2c13f192d0c50c153f86dbe47af2a 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4685 into donut

* changes:
SDK Updater: use separate license node in XML. Support extra packages.
1a480b201b846583467cf5b11c7adb86098b2cbe 19-Jun-2009 Raphael <raphael@google.com> SDK Updater: use separate license node in XML. Support extra packages.
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ExtraPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/internal/repository/XmlParserUtils.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository.xsd
ests/com/android/sdklib/repository/TestSdkRepository.java
ests/com/android/sdklib/repository/repository_sample.xml
243ad962b8a11d3c8a1cf9479d5fc6667262b916 19-Jun-2009 Xavier Ducrohet <xav@android.com> Add support to delete AVD in the new AvdSelector.

Also: change button order in the update chooser dialog.
rc/com/android/sdklib/internal/avd/AvdManager.java
6a43cc460c94ad3892a32e458dd38d248d334d78 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4575 into donut

* changes:
SDK Updater: Better guess for the addon folder name.
6c8ec1d6479f51e269138633aedceb0bed9d2340 18-Jun-2009 Raphael <raphael@google.com> SDK Updater: Better guess for the addon folder name.

- Always unzip the archives first and get their root zip dir.
- Try to reusing an existing addon folder first.
- Or the root zip dir.
- Or come up with a better name for the addon folder.
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
75d577e3c0cdb538ac83258fc7940cffb81d690c 18-Jun-2009 Xavier Ducrohet <xav@android.com> Force UTF-8 encoding for SDK files.

- project .properties files
- AVD ini files (<name>.ini and config.ini)
- add-on manifest
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
5989cc77948c9143872f52bfd51215aac2d4f2f8 17-Jun-2009 Raphael <raphael@google.com> SDK Updater: fix repository.xml to read as binary, not text
to let the XML decoder handle the charset decoding.
rc/com/android/sdklib/internal/repository/RepoSource.java
637c630a84447c98a44bcf5065d0c32ef380405e 16-Jun-2009 Raphael <raphael@google.com> SDK Updater: addon id is name+vendor, lower case
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
2644c419cb92b1aa149342ce99d4ba5ea919d823 14-Jun-2009 Raphael <raphael@google.com> SDK Updater: update all existing local archives, license click through.
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/RepoSources.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
e52c9bee1b56f2ca39258e951e4b1ecffab235ed 12-Jun-2009 Raphael <raphael@google.com> SDK Updater: provide a "force http" setting.

Note that the setting operates on every source by converting
the https:// links into http:// before fetching the sources
or the archives.

This also reorganize some things: the RepoSourceAdapter now
takes the UpdaterData as parameter (so both Adapters work the
same) and the label/contentProviders are nested classes instead
of static classes. Cleanup some stuff that was no longer useful
such as the RepoSources.TaskFactory (it's in UpdaterData already).

With this change I can install from the dl site over http at home!
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/RepoSources.java
0c63ade252ea194324b3da9a390cf383b2a6bfa7 12-Jun-2009 Raphael <raphael@google.com> SDK Updater: SettingsController that handles the settings.

There is not any longer any logic in the SettingsPage,
it is handled now by a "SettingsControllers" which is
available via UpdaterData. The page only takes care of
notifying the controller via a callback when settings
have changed in the UI.
rc/com/android/sdklib/repository/SdkRepository.java
2867d4627ca6e5957bc5d5075f1c6b8fb5cc102e 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3868 into donut

* changes:
ADT #1909458: fix 'android update project': "build.xml is too old"
498b180fad6f7771824815dde23095b7f77c240c 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3856 into donut

* changes:
SDK Updater: fix install in new directory.
55f40e2537ab3809e6d10588f3d46b4c11b0ad64 11-Jun-2009 Raphael <raphael@google.com> ADT #1909458: fix 'android update project': "build.xml is too old"
rc/com/android/sdklib/internal/project/ProjectCreator.java
1517a9bd8e027ef2cc5eaabc559970766aaeea43 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3848 into donut

* changes:
SDK Updater: Revamp ITaskMonitor to be able to create sub monitors.
5bc482b01aac899adb50e44d988113c077d7db94 11-Jun-2009 Raphael <raphael@google.com> SDK Updater: fix install in new directory.

Also change the getenv hack so that multiple sources
can be specified, separated by ;
rc/com/android/sdklib/internal/repository/Archive.java
adcb8628f2554897021655c579d55eaa6592cfd4 11-Jun-2009 Raphael <raphael@google.com> SDK Updater: Revamp ITaskMonitor to be able to create sub monitors.

This allows us to nest tasks that share the same
progress task dialog..
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
rc/com/android/sdklib/internal/repository/RepoSource.java
27966247a9cdf33823d65ee6dcca57a7027460a7 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3770 into donut

* changes:
Add SdkManager#reloadSdk().
4a5fed4758eb6bb1e603e1b11e28cdcb520884d4 10-Jun-2009 Xavier Ducrohet <xav@android.com> Add SdkManager#reloadSdk().
rc/com/android/sdklib/SdkManager.java
0a550dc619f23415ee341ab77d181edeacc632e1 10-Jun-2009 Raphael <raphael@google.com> ADT #1856119: 'android update project' can now update sub-projects.
rc/com/android/sdklib/internal/project/ProjectCreator.java
001c293b4ab8e5eeb4162abe1a960482da940b3d 09-Jun-2009 Raphael <raphael@google.com> SDK Updater: Support local archives

- 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.
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
72e9007cbc9741b68bc1697fb53b4109d7356f1f 09-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3546 into donut

* changes:
SDK Updater: fix repo URL
a0bd98baa83386c0641cec2db86cd997cd514abf 09-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3545 into donut

* changes:
SDK Updater: fix for new archives.
230a93784fdd007f03dd478ef443eb025a812ce7 09-Jun-2009 Raphael <raphael@google.com> SDK Updater: fix repo URL
rc/com/android/sdklib/repository/SdkRepository.java
dcfedd01818c6879b2aec60f4b346510c3b68bc4 09-Jun-2009 Raphael <raphael@google.com> SDK Updater: fix for new archives.

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.)
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
2c47b5a2825f4a81ac1ad30e1987ba5c635d4aaa 09-Jun-2009 Xavier Ducrohet <xav@android.com> Add menu + bigger icons for MacOS. Also added name to shell (macos also)
rc/Android.mk
rc/com/android/sdklib/SdkConstants.java
a2d4675e6315fb3e293546aaa80d2ffe632b8d2d 08-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3345 into donut

* changes:
SDK Updater: Add optional license elements to XML schema.
69d1a9b48d069fd96bf8e9102b92811a48b53541 08-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3407 into donut

* changes:
SDK updater: refactor install into Archive.
0fc874ce466821f764ae67e490b5ca93cc608df5 05-Jun-2009 Raphael <raphael@google.com> SDK updater: refactor install into Archive.
rc/com/android/sdklib/internal/repository/Archive.java
cce22d8c9145170734a9bcceca881568c7ec4333 06-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3342 into donut

* changes:
Add revision to Android targets.
0741fc405e9e03b6849a27466607b62bc757c289 05-Jun-2009 Xavier Ducrohet <xav@android.com> Add revision to Android targets.

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.
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkManager.java
ef84252d0f4039d415d3c0fe44f0aab8f1f25042 05-Jun-2009 Raphael <raphael@google.com> SDK Updater: Add optional license elements to XML schema.
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/sdk-repository.xsd
ests/com/android/sdklib/repository/repository_sample.xml
e1c08ba014902ea2000a975bcb4e61842884b1f6 05-Jun-2009 Raphael <raphael@google.com> SDK Updater: add comments to the XML Schema.

This patch also moves the checksumType at the bottom
so that the main sdk-repository element definition
be the first thing in the file.
rc/com/android/sdklib/repository/sdk-repository.xsd
7aafab9629f8dc64e55a72791f8106bf4b73d392 04-Jun-2009 Raphael <raphael@google.com> SDK Updater: Unzip archives.

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.
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
7da5f95c25350e20f354f5109f903ec9c5721cd3 03-Jun-2009 Raphael <raphael@google.com> SDK Updater: fix download URL, fix checksum computation.
rc/com/android/sdklib/internal/repository/RepoSource.java
4e95601d20f84d37b114f614752d7af3719659f8 02-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge changes 2853,2885 into donut

* changes:
Misc updates on the Sdklib.
Export all ADT packages.
9c7d2e230aa0515e01da8bf9fdc26c8c2b74ebd9 02-Jun-2009 Xavier Ducrohet <xav@android.com> Misc updates on the Sdklib.

- moved some code around
- made the constant in IAndroidTarget actual constant (they were not final)
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/SdkManager.java
614a1e0387cfb51862fe30db535f41767a853be0 29-May-2009 Raphael <raphael@google.com> SDK Updater: parse local packages, download and install remote packages.

The install phase is still work in progress.
The local part needs to display descriptions.
Buttons callback are generally not implemented yet.
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
rc/com/android/sdklib/internal/repository/LocalSdkParser.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/RepoSources.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/repository/SdkRepository.java
d326607175932b614f1ba61ccaeaaf5ce6fcd19a 23-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2384 into donut

* changes:
SDK Updater: display properties of sources and packages.
51e27d6bf58c43a96fc9e5e49ae0a510ca9af5fd 23-May-2009 Raphael <raphael@google.com> SDK Updater: display properties of sources and packages.
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/Archive.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/repository/SdkRepository.java
14dfe3b0f12265230026661284fffb864eb32e43 23-May-2009 Xavier Ducrohet <xav@android.com> Update 'android update adb' to the new file format for 3rd USB Vendor IDs.

The new file format is simply 1 ID per line, no need for a count value.
Lines starting with '#' are comments and therefore ignored.
rc/com/android/sdklib/SdkManager.java
fdaca34ad17c0f78709b03ec2da82d7fc6806e43 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2360 into donut

* changes:
Make 'android update adb' write the USB vendor IDs in hexa.
ed222d47ad7e4efe5ada76b77aaf7d05e11b7be3 22-May-2009 Xavier Ducrohet <xav@android.com> Make 'android update adb' write the USB vendor IDs in hexa.
rc/com/android/sdklib/SdkManager.java
c77d5c0e2971720263b79fc328253512a7c1b129 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2300 into donut

* changes:
SDK Updater: some refactoring and some new features.
e2c0e975c244290674db1eb42e27bc03eb8d3b77 22-May-2009 Raphael <raphael@google.com> SDK Updater: some refactoring and some new features.

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.
rc/com/android/sdklib/internal/repository/AddonPackage.java
rc/com/android/sdklib/internal/repository/DocPackage.java
rc/com/android/sdklib/internal/repository/IDescription.java
rc/com/android/sdklib/internal/repository/ITask.java
rc/com/android/sdklib/internal/repository/ITaskFactory.java
rc/com/android/sdklib/internal/repository/ITaskMonitor.java
rc/com/android/sdklib/internal/repository/Package.java
rc/com/android/sdklib/internal/repository/PlatformPackage.java
rc/com/android/sdklib/internal/repository/RepoSource.java
rc/com/android/sdklib/internal/repository/ToolPackage.java
rc/com/android/sdklib/repository/SdkRepository.java
55294ff87b58bb42ed65d762f873deb2956be1a2 22-May-2009 Xavier Ducrohet <xav@android.com> Moved updateAdb into SdkManager and updated with new adb_usb.ini format.

New format is: 1 number per line. First number is vendor ID count, followed
by the vendor IDs themselves. Comment lines starting with # accepted.
rc/com/android/sdklib/SdkManager.java
5c27fbd9798fb2db0b10f31f5160b698bb959044 20-May-2009 Xavier Ducrohet <xav@android.com> Add support for USB Vendor ID in the add-ons.

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.
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
9d29cd313cefe5a71042ec9be7117efea882c386 20-May-2009 Raphael <raphael@google.com> SDK Updater: Fetch source XML, display them in tree.

There's a notion of an asynchronous task with a progress bar & status UI.
That's still just experimental. Will need some refactoring, etc.
rc/com/android/sdklib/repository/SdkRepository.java
rc/com/android/sdklib/repository/SdkRepositoryConstants.java
ests/com/android/sdklib/repository/TestSdkRepository.java
c28e97a0db9c383cd656cb51f3b720dfb53b8d21 15-May-2009 Raphael <raphael@google.com> ADT #1844909: Tweak XML schema, add more tests.

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.
rc/com/android/sdklib/repository/sdk-repository.xsd
ests/com/android/sdklib/repository/TestSdkRepository.java
ests/com/android/sdklib/repository/repository_sample.xml
8d9e4d6d7c53904f0769005014f3fea88c95b114 15-May-2009 Raphael <raphael@google.com> ADT #1844909: Move sdk-repository XSD and tests from SdkManager to SdkLib.
classpath
rc/com/android/sdklib/repository/SdkRepositoryConstants.java
rc/com/android/sdklib/repository/sdk-repository.xsd
ests/com/android/sdklib/repository/TestSdkRepository.java
ests/com/android/sdklib/repository/repository_sample.xml
cca5e17467895075f5058b2523058d61cb12df92 13-May-2009 Xavier Ducrohet <xav@android.com> Move some classes that have non ready APIs to internal packages

- com.android.sdklib.avd -> com.android.sdklib.internal.avd
- com.android.sdklib.project -> com.android.sdklib.internal.project
rc/com/android/sdklib/avd/AvdManager.java
rc/com/android/sdklib/avd/HardwareProperties.java
rc/com/android/sdklib/internal/avd/AvdManager.java
rc/com/android/sdklib/internal/avd/HardwareProperties.java
rc/com/android/sdklib/internal/project/ApkConfigurationHelper.java
rc/com/android/sdklib/internal/project/ProjectCreator.java
rc/com/android/sdklib/internal/project/ProjectProperties.java
rc/com/android/sdklib/project/ApkConfigurationHelper.java
rc/com/android/sdklib/project/ProjectCreator.java
rc/com/android/sdklib/project/ProjectProperties.java
d5988982b515811ffe2883fa43ad941f339ac49e 05-May-2009 Raphael <raphael@google.com> ADT #1825491: Provide default choices for <uses-library>

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.
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
b6f840bdf6243d580594caaa7b54865a2313a25b 29-Apr-2009 Raphael <raphael@google.com> ADT #1820114: Provide a quick UI to edit AVD.

This is temporary and will be replaced once we get the standalone AVD UI.
rc/com/android/sdklib/avd/AvdManager.java
43a421647a9dd93cd98a171bf4722fc3bc6eccb2 28-Apr-2009 Raphael <raphael@google.com> Fix ADT#1807821: -f option ignored when avd dir already existed.

Also fixed an NPE when parsing some invalid AVDs.
rc/com/android/sdklib/avd/AvdManager.java
5c2baef72b52d51074c3262ec04cc63a123f82c2 20-Apr-2009 Xavier Ducrohet <> AI 146983: am: CL 146980 Fix the display of the target hash string when displaying unresolved target errors.
Original author: xav
Merged from: //branches/cupcake/...

Automated import of CL 146983
rc/com/android/sdklib/avd/AvdManager.java
70d513eb7bcd065a5465e4b8e62dc7af9cdd2c5c 18-Apr-2009 Xavier Ducrohet <> AI 146778: am: CL 146776 fix NPE in AvdManager
Original author: xav
Merged from: //branches/cupcake/...

Automated import of CL 146778
rc/com/android/sdklib/avd/AvdManager.java
e6cbfd7c2c873668c8f974b5b725f106605c253f 18-Apr-2009 Raphael Moll <> AI 146771: am: CL 146770 ADT #1797369 fix error "ant windows: com.android.ant.SetupTask cannot be found"
The path in local.properties should be double-backslashed.
Original author: raphael
Merged from: //branches/cupcake/...

Automated import of CL 146771
rc/com/android/sdklib/project/ProjectProperties.java
7a83c4e0ec5350a513d30bf983e58daa4bc230f2 17-Apr-2009 Xavier Ducrohet <> AI 146740: am: CL 146692 Clean up the output of "android list targets" and fix the image.sysdir.# to only be present if the image folders really contain *.img files.
Original author: xav
Merged from: //branches/cupcake/...

Automated import of CL 146740
rc/com/android/sdklib/avd/AvdManager.java
3f11ee56e3518f78066d971ac6afd0fa3a44aa66 17-Apr-2009 Xavier Ducrohet <> AI 146739: am: CL 146689 Broken AVDs are now loaded by default, and we provide a way to fix one (new) type of error (wrong paths to the system image)
Original author: xav
Merged from: //branches/cupcake/...

Automated import of CL 146739
rc/com/android/sdklib/avd/AvdManager.java
4948a63264111de6b1944643cd5a30e41bcc3be9 14-Apr-2009 Xavier Ducrohet <> AI 146024: am: CL 146023 Make the add-on implement getPath for IAndroidTarget.SAMPLES (only if the add-on actually has samples) (BUG #1781751)
Original author: xav
Merged from: //branches/cupcake/...

Automated import of CL 146024
rc/com/android/sdklib/AddOnTarget.java
9ee3a2301002ba01fea86673ea6d7d934eef18e8 14-Apr-2009 Raphael Moll <> AI 145985: am: CL 145929 ADT #1781076: fix missing \n in "android delete avd"
Original author: raphael
Merged from: //branches/cupcake/...

Automated import of CL 145985
rc/com/android/sdklib/avd/AvdManager.java
7d19f46ccbec99d233be241b49473c0f1042283f 09-Apr-2009 Raphael Moll <> AI 145468: am: CL 145083 ADT #1777728: fix NPE when AVD list is empty
Original author: raphael
Merged from: //branches/cupcake/...

Automated import of CL 145468
rc/com/android/sdklib/avd/AvdManager.java
f6226291223ccbd182453fa4e4c2cedb5823338f 08-Apr-2009 Xavier Ducrohet <> AI 145098: am: CL 144938 Fix the classpath container cache for project targeting add-ons (bug #1775936).
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
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
e67929df366c53628deccbe61ff2a073a9f68d34 01-Apr-2009 Raphael Moll <> AI 143883: am: CL 143881 AVD #1703143: delete AVDs not loaded correctly.
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
rc/com/android/sdklib/ISdkLog.java
rc/com/android/sdklib/avd/AvdManager.java
c256939fe472b3a966a2c202b33489502ceb5036 01-Apr-2009 Raphael Moll <> AI 143808: am: CL 143754 SdkManager: list unknown AVDs and why they didn't load.
Original author: raphael
Merged from: //branches/cupcake/...

Automated import of CL 143808
rc/com/android/sdklib/avd/AvdManager.java
9c824e47bf4ecd9ebb217a0240aefee9f257b852 28-Mar-2009 Xavier Ducrohet <> AI 143270: am: CL 143149 Make ADT look for javadoc in docs/reference for the optional libraries (to match the base docs).
Original author: xav
Merged from: //branches/cupcake/...

Automated import of CL 143270
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/SdkConstants.java
49ade098508de2800e14b63099dd68b68aa21ae0 28-Mar-2009 Raphael Moll <> AI 143223: am: CL 143034 ADT #1738834: Properly validate project name, package name and
activity name for "create project".
Also validate AVD name for "create avd".
Original author: raphael
Merged from: //branches/cupcake/...

Automated import of CL 143223
rc/com/android/sdklib/project/ProjectCreator.java
fe41de20dcfdca14bddaa57d728e79550c3336ab 25-Mar-2009 Xavier Ducrohet <> Automated import from //branches/donutburger/...@140697,140697
rc/com/android/sdklib/avd/AvdManager.java
1c8fdff64e5cb89e687925812ea0b372e0db72bc 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
rc/com/android/sdklib/PlatformTarget.java
45aacc49a96e083eb68cda88ed0f7e262b7254d1 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
rc/com/android/sdklib/avd/AvdManager.java
81e838f82b1f61e9fd6cdb4cb8121d67498417f8 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
rc/com/android/sdklib/avd/AvdManager.java
55a2c71f27d3e0b8344597c7f281e687cb7aeb1b 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
classpath
project
ndroid.mk
rc/Android.mk
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/ISdkLog.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/avd/AvdManager.java
rc/com/android/sdklib/avd/HardwareProperties.java
rc/com/android/sdklib/project/ApkConfigurationHelper.java
rc/com/android/sdklib/project/ProjectCreator.java
rc/com/android/sdklib/project/ProjectProperties.java
82ea7a177797b844b252effea5c7c7c5d63ea4ac 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
classpath
project
ndroid.mk
rc/Android.mk
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/ISdkLog.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/avd/AvdManager.java
rc/com/android/sdklib/avd/HardwareProperties.java
rc/com/android/sdklib/project/ApkConfigurationHelper.java
rc/com/android/sdklib/project/ProjectCreator.java
rc/com/android/sdklib/project/ProjectProperties.java
c9432be76d50a527da232d518f633add2f76242b 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/avd/AvdManager.java
rc/com/android/sdklib/project/ApkConfigurationHelper.java
rc/com/android/sdklib/project/ProjectCreator.java
rc/com/android/sdklib/project/ProjectProperties.java
382f18c205f459fdd9ff6c0657beadcbfe3c5b01 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/avd/AvdManager.java
rc/com/android/sdklib/project/ApkConfigurationHelper.java
rc/com/android/sdklib/project/ProjectCreator.java
rc/com/android/sdklib/project/ProjectProperties.java
76bc028c745906e691284c685e34e72b5ccf06b5 20-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132569
rc/com/android/sdklib/project/ApkConfigurationHelper.java
rc/com/android/sdklib/project/ProjectCreator.java
4fd2474506c1ea3cb96e128d72db2a18ec1e258d 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/avd/AvdManager.java
rc/com/android/sdklib/project/ProjectProperties.java
b58a893bf9ba96db9a544cd33af4828826b73061 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/avd/AvdManager.java
6990abcbc03c25aeff94da27ed6893e7993d2709 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
rc/com/android/sdklib/ISdkLog.java
rc/com/android/sdklib/avd/AvdManager.java
rc/com/android/sdklib/avd/HardwareProperties.java
rc/com/android/sdklib/vm/HardwareProperties.java
rc/com/android/sdklib/vm/VmManager.java
0997fd7456d51aa7627d62e071da5609dd70f113 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/project/ProjectCreator.java
rc/com/android/sdklib/project/ProjectProperties.java
rc/com/android/sdklib/vm/VmManager.java
4d360cae64d0e9b5fe962cd339eb1bb933941920 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/project/ProjectCreator.java
rc/com/android/sdklib/project/ProjectProperties.java
rc/com/android/sdklib/vm/HardwareProperties.java
rc/com/android/sdklib/vm/VmManager.java
a1514dae8668c48feae5436285e3db0ba2133ec3 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/ISdkLog.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/project/ProjectCreator.java
rc/com/android/sdklib/project/ProjectProperties.java
rc/com/android/sdklib/vm/VmManager.java
9ca1c0b33cc3fc28c21a915730797ec01e71a152 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
classpath
project
ndroid.mk
rc/Android.mk
rc/com/android/sdklib/AddOnTarget.java
rc/com/android/sdklib/IAndroidTarget.java
rc/com/android/sdklib/ISdkLog.java
rc/com/android/sdklib/PlatformTarget.java
rc/com/android/sdklib/SdkConstants.java
rc/com/android/sdklib/SdkManager.java
rc/com/android/sdklib/project/ProjectProperties.java
rc/com/android/sdklib/vm/HardwareProperties.java
rc/com/android/sdklib/vm/VmManager.java