aboutsummaryrefslogtreecommitdiffstats
path: root/sdkmanager/libs/sdkuilib
Commit message (Collapse)AuthorAgeFilesLines
* Merge "ADT: NPE when capturing emulator output."Raphael Moll2012-06-041-11/+17
|\
| * ADT: NPE when capturing emulator output.Raphael Moll2012-06-021-11/+17
| | | | | | | | | | | | | | This can happen when starting an emulator from the AVD selector (or the AVD Manager window.) Change-Id: I6f5098bddc0fa54d89c164e98c51cd80509bbaf7
* | Fix warningsTor Norbye2012-06-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | SDK Manager: support standalone sys-img xml.Raphael Moll2012-05-312-5/+12
|/ | | | | | | | | | 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
* Fix "Resource leak: <Foo> is never closed"Tor Norbye2012-05-302-1/+11
| | | | | | | This changeset fixes various code fragments opening resources without closing them. Change-Id: I6ed48a32dc5de4c11cab394dd3883ebbb54d2938
* Fix nullness annotationsTor Norbye2012-05-301-2/+3
| | | | | | | | | | | | | | | | | | | 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
* Setting to enable preview packages.Raphael Moll2012-05-2210-52/+249
| | | | Change-Id: I7af78e81e5433396c7a1039782ab8ceda35187a0
* SDK Manager: Settings to control download cache.Raphael Moll2012-05-187-171/+320
| | | | | | | | | | | | | | | | | 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
* SDK Manager: display options menu when invoked from IDE.Raphael Moll2012-05-172-37/+28
| | | | Change-Id: I03c75be4d624f841c6f4c0ba93b0951bc8da8850
* SDK Manager: do not erase default java http proxy properties.Raphael Moll2012-05-171-4/+10
| | | | | | | | | | | | 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
* SDK: Update about box for 2012.Raphael Moll2012-05-141-0/+1
| | | | | | SDK Bug: b/6043405 Change-Id: I2c189ef30d68738de8becff874343296ad9c412b
* SDK Manager: rework package loader.Raphael Moll2012-05-096-131/+216
| | | | | | | | | | | | | | | | | | | | 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
* SDK: full revision for min-tools-rev.Raphael Moll2012-05-081-13/+11
| | | | | | | | Support full revision for: - tools: min-platform-tools-rev - platform + sample + extra: min-tools-rev Change-Id: I2c699683c1a3c02c99654dba7c39c7a1e5cd042e
* SDK Manager change format of revision property.Raphael Moll2012-05-041-1/+1
| | | | | | | | | | | | | 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
* Rework SDK Manager support for major.minor.micro revisions.Raphael Moll2012-05-038-80/+458
| | | | | | | | | | | | | | | | | | | 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
* SDK Tools pkg support for major.minor.micro revisions.Raphael Moll2012-04-306-38/+47
| | | | | | | | | | | 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
* Reorganize sdklib.repository packages.Raphael Moll2012-04-2118-104/+104
| | | | | | | | | | | 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
* SDK: Open AVD Manager from from AVD Selector > Manager.Raphael Moll2012-04-174-21/+26
| | | | | | SDK Bug: 29026 Change-Id: I036bcd7e23210ebf3991b56211c38c077ef3d308
* SDK: primitive implementation of download cache.Raphael Moll2012-04-169-56/+79
| | | | | | | | | | | | | | 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
* SDK: Fix classpath for eclipse projects.Raphael Moll2012-04-121-1/+1
| | | | | | | | | | swt.jar must be found relative to the out/ dir (as generated by create_all_symlinks.sh) to avoid setting a platform-specific path. swtmenubar was missing the new libs references. Change-Id: I365cfa6e011ec831c4df87cb36b0df722caac2e4
* Switch libraries from Eclipse 3.4 to Eclipse 3.6.2Tor Norbye2012-04-052-6/+6
| | | | | | This reverts commit f3d3fa912a10e20cadae813b80a66e538f77131d. Change-Id: I72e28e21db3c7f959040c1fbb9df14e4d85d0df4
* Update classpath for eclipse project due to prebuilt move.Xavier Ducrohet2012-04-051-1/+4
| | | | | | | Don't use User Libraries. It's easier to just hardcode them with a classpath variable. Change-Id: If8c1236199dd6766d48cf9b553fa2a9ee0d236e6
* SDK: unit test for SdkSourceProperties.Raphael Moll2012-04-041-4/+5
| | | | | | Also fix a name changed in the SdkUiLib test. Change-Id: I30fa83ac607fc4735af161604514f09c2aff6a93
* SDK Manager: Remember last seen source names.Raphael Moll2012-04-033-2/+14
| | | | | | | | | | | | | | | 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
* SDK Manager dialog to enable 3rd party addons.Raphael Moll2012-04-0310-320/+727
| | | | | | | | | | | | | | | - 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
* Revert "Switch libraries from Eclipse 3.4 to Eclipse 3.6.2"Tor Norbye2012-04-031-3/+3
| | | | This reverts commit b0c819f896b3c579633849e3fa674a30e6978dd7.
* Switch libraries from Eclipse 3.4 to Eclipse 3.6.2Tor Norbye2012-04-021-3/+3
| | | | | | | | | | | This updates the org.eclipse.core.command, org.eclipse.jface and org.eclipse.equinox libraries from Eclipse 3.4 to Eclipse 3.6.2. It also updates SWT from 3.4 to 3.6.2 (and this drops the Carbon support from the SwtMenuBar library since SWT 3.5 switched to Cocoa by default.) Change-Id: I7e8a6e3b8cb473f90eca3b90e3f3dc5fa5099b71
* SDK Manager: fix link to AVD Manager.Raphael Moll2012-04-026-284/+9
| | | | | | | | | | | The AVD Manager still had remnants of the obsolete "pages" mechanism removed in change I7f4f3941. That was making it crash with an NPE when started from the SDK Manager. SDK Bug: 6272923 Change-Id: I1f010c016e1db0e884aea7beda23ead6f47df70e
* SDK Manager: remove obsolete "pages" mechanism.Raphael Moll2012-03-278-198/+460
| | | | | | | | | | | | | | The SdkManager v1 UI was based on the principle of a settings-like page selector with various pages. For ease of transition, the v2 UI retained this to implement the settings and about pages yet was simply wrapping them into an swt dialog. This cleans up the code by removing the obsolete page registration thing and instead replaces the pages by 2 simple dialogs. Change-Id: I7f4f3941b5ccfd6ee636c84ebd5f06c237128a84
* AVD Manager: don't auto-close 'start emulator' when there's an error.Raphael2012-03-123-92/+128
| | | | | | | | | | | | | | | | In the AVD Manager, don't automatically close the 'start emulator' progress dialog if the emulator has output an error. A few emulator messages are output to stderr which are not errors and a few others are sent to stdout which are not worth printing or an actually errors, so this tries to adjust the severity accordingly and guess when the window should be kept open to read these messages. SDK Bug: 26564 Change-Id: I98c63b38773f395f2f0c0b6112b81b65c10c82f6
* SDK Manager: display tooltip for update packages.Raphael2012-03-061-26/+39
| | | | | | | | | 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
* SDK Manager: support platform previews.Raphael2012-03-062-29/+36
| | | | | | | | | | | | This allows the SDK Manager to create a group for platform previews (api + codename) which is separate from the api it overrides. There's a latent issue with the fact that addons do not support codenames. This should only happen on nightly builds and not on officially released platforms though. Change-Id: Ic5095ece6ad9c978274801598aa1dc29c60974d8
* SDK Repository: name/vendor id/display for addons.Raphael2012-02-151-34/+34
| | | | | | | | SDK Bug: 21942, part 2 of 3. (part 3 is replacing manifest.ini by source.props) Change-Id: I96be0d8210120927744224d909f7ee7184ebfecf
* SDK Repository: vendor id/display name for extras.Raphael2012-02-154-38/+53
| | | | | | SDK Bug: 21942, part 1 of 2. Change-Id: Id9c026965b365e57302c56620f4ec8f88573d633
* Merge "SDK Manager: use find_lock.exe when install dir is locked."Raphael2012-02-151-3/+37
|\
| * SDK Manager: use find_lock.exe when install dir is locked.Raphael2012-02-091-3/+37
| | | | | | | | | | | | | | | | | | | | 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
* | SDK Manager: fix duplicate when installing new package.Raphael2012-02-094-7/+19
|/ | | | | | | | | | This is a simple refresh issue on the display table. The internal diff properly detects that an uninstalled package is being replaced by a freshly installed package however it wasn't updating the table view to remove the obsolete uninstalled entry. Change-Id: I6ecb7be55848046d9843df2333a09013a2a551c1
* SDK Manager: stop spamming eclipse log.Raphael2012-02-061-1/+1
| | | | | | SDK Bug: 24235 Change-Id: I5276381416a800cca3a1adf415d2f73dd52b2615
* SDK Manager: extract source packages as r-o.Raphael2012-02-061-12/+16
| | | | | | | | 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
* ADT: Fix "Add compatability library"Raphael2012-01-221-2/+12
| | | | | | | | | | | 2 issues: - the code was still trying to look for the obsolete "compatibility" export <path> instead of the new "support". - the install filter did not support the <old-path> pkg attribute. SDK Issue: 21488 Change-Id: Ie083b008d9ecdb9467a1b203c7602b5cc8c0580d
* SDK Manager: fix missing label in Source categories.Raphael2012-01-102-0/+46
| | | | | | | | | | | | | | | When listing packages by "repository" (e.g. by source URL), the name of external source isn't always set. It turns out that when processing packages, we load local packages first and only their source URL is known, not the "UI name" of the source so this results in categories with no known UI name *if* they have at least one local package installed. This changes the package loader so that it will try to adjust the label of a source even if it's loaded after the category has been created. Change-Id: I285fdefdae99c635d9fd139ca50d17706eea3ae6
* Fix locale handling of uppercase/lowercaseTor Norbye2012-01-061-1/+2
| | | | | | | | | | | | | | | | | 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
* Add @NonNull annotation and configure Eclipse settingsTor Norbye2011-12-221-1/+13
| | | | | | | | | | | | | | 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
* Update SDK codebase to JDK 6Tor Norbye2011-12-2135-8/+268
| | | | | | | | | | | | | | | | | | | | | 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
* SDK Manager: list/update sdk --allRaphael2011-12-163-29/+29
| | | | | | | | | | This renames the list/update sdk --obsolete flag to --all (-a shortcut) to better reflect what the code actually does. SDK Bug: 23004 Change-Id: Ide60f3de97767283e7574a92d4ec96b0e5d4fd86
* SDK Manager: fix SWTException disposed when closing during a download.Raphael2011-12-081-16/+20
| | | | | | SDK Bug: 21312 Change-Id: I49462d9750c4f64f92372793dee65d28f23e94ab
* SDK Manager: 'list sdk' show system images and source pkg.Raphael2011-12-052-15/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the 'android list sdk' to output the system images and source packages in the list. Since there are no hard dependencies on them, they were not listed. The behavior is changed to: - 'android list sdk': display all potential and mandatory updates and their dependencies. - 'android list sdk --obsolete': display everything compatible on the remote sources. This allows users to install sources and system images from the command line: $ android list sdk -e -o $ android update sdk -u -o -t source,system-image # all $ android update sdk -u -o -t source-14,sysimg-14 # API14 Also, although system images are not mandatory (e.g. they are not hard dependencies of platforms), the heuristic is that if a platform doesn't have any system image of its own we'll suggest any matching sys-image we can find for either new platform or the currently highest installed one. SDK Bug: 21880 Change-Id: I4c47c6e60d885ebeaf181288db743b382fdb1618
* sdkman authdialog: Make input fields static.Siva Velusamy2011-11-161-12/+16
| | | | | | | This enables maintaining user input between multiple invocations of the dialog during a single session. Change-Id: Id391ce8e23d65ab20ceba117c89bc8b9c9e2240f
* SDK Manager: remove obsolete sdkamn v1 window.Raphael2011-11-158-1790/+9
| | | | | | | | | This removes the SDK Manager 1 window implementation. There are still a few odds and ends that require some cleanup for later, e.g. the "update chooser dialog" but it actually needs a revamp rather than just a cleanup. Change-Id: Icb90fd1f5d9d8ca4b1ffeea72b8c20aed12cbe26
* Add support for NTLM proxy authentication.Siva Velusamy2011-11-126-62/+138
| | | | Change-Id: Ia8375444bf99b33396616a57e781adb22d82175d