aboutsummaryrefslogtreecommitdiffstats
path: root/sdkmanager/libs/sdkuilib/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-037-77/+136
| | | | | | | | | | | | | | | | | | | 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-2114-79/+79
| | | | | | | | | | | 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-167-56/+48
| | | | | | | | | | | | | | 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 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
* 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: vendor id/display name for extras.Raphael2012-02-153-6/+21
| | | | | | 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-093-6/+18
|/ | | | | | | | | | 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
* Update SDK codebase to JDK 6Tor Norbye2011-12-2132-7/+248
| | | | | | | | | | | | | | | | | | | | | 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
* SdkManager: rework pkg diff to avoid duplicatesRaphael2011-11-013-405/+211
| | | | Change-Id: Iad1576ec4ca03213679aabb97328bcf9c0f590eb
* SDK Manager: remove old SDK_TEST_URLS env var.Raphael2011-10-251-114/+34
| | | | | | | | It can't be used at the same time as the new one (the SDK_TEST_BASE_URL one) as it is confusing if both are defined. Change-Id: I5b3ab7bac5d58ab9b1e47e2aea43229156c30083
* SDK Manager: fix failure to update toolsRaphael2011-10-241-3/+26
| | | | | | SDK Bug: 5508174 Change-Id: I466ba63c7f6c4158be42df1151f540d26c63e342
* SDK Manager: label incompatible packages.Raphael2011-10-213-8/+27
| | | | | | | | | - 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
* Merge "SDK Manager: Fix typos."Raphael2011-10-191-12/+2
|\
| * SDK Manager: Fix typos.Raphael2011-10-181-12/+2
| | | | | | | | | | | | Should have been in a3e43f30cf2278afd5dbc5864442529129b3a057 Change-Id: I9018f8b3b0e5bfb07b05acba9d1c6d4fae04181a
* | SDK Manager: fix window resize issue.Raphael2011-10-192-3/+3
|/ | | | | | | | | | SDK Bug: 20939 Incidentally, this also fixes the fact that the window for the SDK/AVD manager can't be resized at all on Windows when started from ADT. SWT is quite magical. Change-Id: I282ebdac3e42e39ee41247de5591cfcb61cd4ac8
* SDK Manager: change initial selection logic.Raphael2011-10-182-31/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | This changes the way packages are selected: - When using the "Select New" link, all new stuff is selected. - When using the "Select Update" link, only installed stuff with updates is selected. - When starts the SDK Manager, the heuristic becomes: - Select any updates we can find. - Check whether the top platform is installed. - If not at all, select all its packages. This should cover the "there's a new platform available" scenario by just selecting to install everything for it. - If the top platform has at least one item selected, make sure the platform package itself is installed or select it. - If the platform currently installed or a selected update lacks a system image, we want to suggest some kind of system image. For that, look whether the platform (current or selected update) provides one. If they don't select any system image package we can find. - On Windows, also suggest to install the USB driver. SDK Bug: 20607 Change-Id: Ifab423b226ad708e9117eefd4d76033d866c57a8
* SDK Manager: env var SDK_TEST_BASE_URLRaphael2011-10-141-1/+24
| | | | | | | | | 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
* SDK Manager: fix duplicated Extra Packages.Raphael2011-10-131-22/+33
| | | | Change-Id: I0518515a2095b63099cb69d67d110330b148d5a2
* SDK Manager: display source of packages in tooltip.Raphael2011-10-134-1/+23
| | | | Change-Id: I52484e7b61100d0c1656769cdce419416ed060c6
* SDK Manager: Fix disabled quit menu on Mac.Raphael2011-10-122-18/+6
| | | | | | | This was due to the shell being marked as app_modal. SDK Bug: 20616 Change-Id: I1352fe4573f79890f2633be6140c1c63b79150b6
* SDK Manager: Remove APPLICATION_MODAL from shell style.Siva Velusamy2011-10-122-2/+28
| | | | | | | | | | | Have APPLICATION_MODAL causes the log window to never have focus. This patch has been tested only on Linux. Updated by Raphael: - Differentiate behavior for Linux. - Also apply to the AVD manager standalone window. Change-Id: Iff8461e26c3e36712083708969a781b9d5ed63c8
* SDK Manager: Prevent 'adb start-server' from blockingRaphael2011-10-112-6/+2
| | | | | | | | | | | | | 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
* SDK Manager: Display remote pkg revision.Raphael2011-10-111-4/+1
| | | | Change-Id: I24b49b4b09a9cab8cb1ddd2eade78e9ea21cd867
* SDK Manager: fix bug that prevents from installing pkg updatesRaphael2011-10-103-153/+204
| | | | | | | | | | | | | Purely an UI issue, the Install button is not enabled correctly for updates, thus preventing users from updating. Patch 2: changed to have the same code used for both enabling the buttons and actually selecting what to install or delete. That will avoid inconsistencies. Also prevented against a few potential NPEs. Change-Id: I3d209fa4325ffc7624c503395834636b372e8e7e
* SDK Manager: select just new or just updates.Raphael2011-10-072-9/+18
| | | | | | | | | | | | | | | | This splits the "Select New/Updates" link in the SDK Manager in 2 parts. Behavior is: - at startup, the sdk manager selects both new and updates. - one can click on deselect + select new to select just new packages. - one can click on deselect + select updates to select just update packages. - select does not select first, so clicking both new then update will produce the previous behavior. SDK Bug: 20607 Change-Id: Ib861d78b746f4f3c7a8fce421c89ae8094339933
* SDK Manager: fix handling of source URLsRaphael2011-10-051-3/+24
| | | | | | | | | | | | | This changes how source URLs are handled. Packages from different sources were previously treated as separate if the packages were the same (e.g. same platform API) but the source URLs were different. Instead this checks the hostname+domain name of the URL is different, as well as the type of the source (that is a sdk repository vs addon repository). Change-Id: I5ba133cd0dc984528bf696aef77d00cd9d31ed9c
* SDK: use repository-N.xml by default.Raphael2011-10-041-2/+4
| | | | | | | (This is part of Change I566b6945 but I had forgotten to amend & upload, grrr.) Change-Id: Ic494179481346a2eda0f56327ddac0f123bf4538