aboutsummaryrefslogtreecommitdiffstats
path: root/sdkmanager/libs/sdkuilib/tests/com/android
Commit message (Collapse)AuthorAgeFilesLines
* SDK: use prebuilts/devtools for sdkuilibRaphael Moll2013-01-157-3313/+0
| | | | Change-Id: Icd6597be885179bd1f0b49d227ece7a3fa9f9bcb
* SDK Manager: fix to auto-select top platfrom at startup.Raphael Moll2012-11-261-0/+5
| | | | | | SDK Bug: 40456 Change-Id: I0d19c4cc7f0ea97ad62a0914c75c50f1e604847e
* SDK Manager: handle platform-tools preview + final.Raphael Moll2012-11-151-9/+138
| | | | | | | | | | | | | | | | One issue is that when there was only one instance of platform-tools possible, the computeUpdates() code would pick the first one. But now there can be 2 of them (preview, non-preview) and thus we need to pick up the higher one even if it's not the first choice. Same issue with tools: if a platform depends on tools and there are none installed, we need to pick the highest version of the available preview or final package that satisfies the dependency. Note that in both cases the issue does not arise if there's already a tools or platform-tools installed. Change-Id: I61db2881274dafa32c5c303c0b3569fc336b8e92
* Add nullness annotations on overridden methodsTor Norbye2012-09-171-3/+5
| | | | | | Eclipse 4.x requires it. Change-Id: Iababca14d8edc8d62bce42f23ee26633dc49cf8c
* Refactor PackagesPage to make it testable.Raphael Moll2012-09-154-17/+706
| | | | | | | | | 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
* Refactor SDK Manager into "core" vs "ui" packages.Raphael Moll2012-09-041-1/+4
| | | | | | | | | | | | | | | This is just a refactor to move classes around. No functionality is actually changed. The sdkman2 package contains classes that are now sorted between "ui" and "core" packages. The core stuff has no UI dependency and can be used in unit tests, whereas the ui stuff needs SWT somehow. In a later CL some of the UI stuff will be changed to make it easier to mock for testing. Change-Id: I86606df7992de6ca6ae1df95f7b712cbba4fd3b6
* Unify all loggers in the sdk tools.Xavier Ducrohet2012-08-172-8/+8
| | | | | | | | | | 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
* More refactoring.Xavier Ducrohet2012-08-131-1/+1
| | | | | | | Move stuff out of sdklib into common and ide_common. Remove androidprefs and move the one class into common. Change-Id: I71d126a13cf2ba413692e29616f4968a37d7b33a
* Convert EOL from dos2unix in sdkuilib *.javaRaphael Moll2012-08-071-366/+366
| | | | Change-Id: Ia046d63aac7800326effbe61364d2efa35581633
* Setting to enable preview packages.Raphael Moll2012-05-222-8/+99
| | | | Change-Id: I7af78e81e5433396c7a1039782ab8ceda35187a0
* Rework SDK Manager support for major.minor.micro revisions.Raphael Moll2012-05-031-3/+322
| | | | | | | | | | | | | | | | | | | 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
* Reorganize sdklib.repository packages.Raphael Moll2012-04-214-25/+25
| | | | | | | | | | | 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: primitive implementation of download cache.Raphael Moll2012-04-162-0/+31
| | | | | | | | | | | | | | 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: unit test for SdkSourceProperties.Raphael Moll2012-04-041-4/+5
| | | | | | Also fix a name changed in the SdkUiLib test. Change-Id: I30fa83ac607fc4735af161604514f09c2aff6a93
* 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-151-32/+32
| | | | | | SDK Bug: 21942, part 1 of 2. Change-Id: Id9c026965b365e57302c56620f4ec8f88573d633
* SDK Manager: fix duplicate when installing new package.Raphael2012-02-091-1/+1
| | | | | | | | | | 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
* Update SDK codebase to JDK 6Tor Norbye2011-12-212-0/+9
| | | | | | | | | | | | | | | | | | | | | 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
* SdkManager: rework pkg diff to avoid duplicatesRaphael2011-11-011-29/+54
| | | | Change-Id: Iad1576ec4ca03213679aabb97328bcf9c0f590eb
* SDK Manager: fix failure to update toolsRaphael2011-10-241-15/+19
| | | | | | SDK Bug: 5508174 Change-Id: I466ba63c7f6c4158be42df1151f540d26c63e342
* SDK: Test to exhibit sdkmanager update issue.Raphael2011-10-241-1/+46
| | | | Change-Id: I15d0b46ef09791ea000724e571de63923f147b6d
* SDK Manager: change initial selection logic.Raphael2011-10-181-54/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | 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: select just new or just updates.Raphael2011-10-071-7/+53
| | | | | | | | | | | | | | | | 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-31/+39
| | | | | | | | | | | | | 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
* Prevent new install of tools from displaying update msg.Raphael2011-09-231-2/+2
| | | | Change-Id: Id9cacdc53e2e800526950480007e0a8f474779be
* SDK Manager: Extract all source.properties constants.Raphael2011-09-181-2/+2
| | | | | | | | | | 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
* SDK Manager: fix reload issue.Raphael2011-09-151-0/+96
| | | | | | | | | | From time to time the sdk manager wasn't properly refreshing its list. This was due to its reload operation not properly clearing the platform/addons targets listed by the SdkManager instance. Clearing them forces the LocalPackageParser to really reparse directories on disk. Change-Id: I99bcb4a78749d673db5b1ec2436a1af7538e48ee
* Fix example URL used in UTs.Raphael2011-09-011-60/+60
| | | | Change-Id: Ifbb7de6e94a5be9864c7b033e129d140ada89b70
* Unit test for XML with <extra old-path> attribute.Raphael Moll2011-09-011-1/+1
| | | | | | | | | | | | | | | 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
* Test ExtraPackage old_path in SDK Manager diffRaphael Moll2011-09-011-0/+59
| | | | | | | | | 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
* SDK Manager: Unit tests for ArchiveInstaller.Raphael Moll2011-09-013-173/+8
| | | | Change-Id: I77b369a5bd3bb81da09f6e509b67c635b7b2e2e9
* Repository XSD: New <old_paths> in Extra packages.Raphael Moll2011-09-012-9/+8
| | | | | | | | | | | 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
* SDK Man2: fix bug when deleting a local package.Raphael Moll2011-08-121-2/+2
| | | | | | | | | | | | When deleting a local package, the model was still retaining the info of the previously installed package and was thus not offering it again for install. Also fixes a case where selecting something for install and then cancelling would trigger an unecessary list refresh. Change-Id: I0889e2c19c721325f921d8681a429210f76b490b
* SdkMan2: Correctly handle local items newer than remote.Raphael Moll2011-08-081-1/+89
| | | | | | | | | | | | | | | | | This fixes an edge case where a local package is newer (e.g. has a higher revision number) than a remote one. This typically happens during development and QA but not in a normal user scenario. In this case the newer local package 'hides' the remote package so that we don't see a dup in the list. Also fixes the source filter when merging remote packages and add a comment on the rationale of which, namely that if two remote repos were to publish the same packages we DO want to see dups. This is not supposed to happen and we would want to see it and have it fixed. Change-Id: Iab51cfd64b4078f3233872973173465a924eac1e
* SdkMan2: Fix edge case when install/delete packages.Raphael Moll2011-08-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | One issue when installing or deleting packages is that sometimes after an install the display would show both the uninstalled and installed package. And when deleting it would also show both states. The core issue is that it's a bad idea to rely on Set<>.contains() when your objects equality isn't quite what the hash code says. Or said otherwise, there's more than one definition of "equals()" for Package objects. That is when a package is installed or deleted, its internal state changes and its archive changes (it looses or gain an OS path), which changes the overall hash code but at that point it's the same object from the user point of view. Anyway, long story made short: this fixes that. Change-Id: I6ec705cc807d96d097cf9ea7faf8234f7ed34416
* SdkMan2: Fix load when there are no remote sources.Raphael Moll2011-08-051-0/+35
| | | | | | | | | There was a bug where the package loader would not show all locally installed packages if it didn't find any remote source (e.g. when there's no network). This fixes it. Also adds a UT to cover this case. Change-Id: I5ccfd91895cfece54f2c2cdff58040c5ae8d1e98
* Split PackagesPage and PackageLoader inner classes.Raphael Moll2011-08-041-94/+91
| | | | | | | | | | PackagesPage and PackageLoader have quite a number of inner classes. This splits them in separate package-protected classes, making the page source a tad shorter. This is a pure refactoring move/rename. No logic is modified. Change-Id: I88885aed40e34bd28de4b1ea4e1de66ea2ed89b8
* SDK Manager: refactor classes for manager 1 versus 2.Raphael Moll2011-08-043-6/+8
| | | | | | | | | | This moves SDK Manager 1 versus 2 classes in different packages, ..repository.sdkman1 versus ..repository.sdkman2. There is no change to any actual logic. Only edits to fix imports and make some classes public. Change-Id: Ia5ea2ef55fb6913816b27d81c496434d80a00c58
* SdkManager2: UTs for initial platform selection.Raphael Moll2011-08-041-0/+107
| | | | Change-Id: I4aef0e6ad8993e792a20f95f37a62f44e858b426
* sdkman2: if nothing selected yet, select new/updates.Raphael Moll2011-08-031-0/+141
| | | | | | | | | Also synchronize selection between the sort-by-api and the sort-by-source mode. Updated with unit tests. Change-Id: I714953dee219bc7a5471a347571262459f6052de
* SDK Manager2 revamp of package displayRaphael Moll2011-07-291-149/+145
| | | | | | | | Always compute the sort-by-api and the sort-by-source lists together. This allows the UI to change the display whilst the underlying packages are being updated. Change-Id: I6dc551bc27afa1b81bb4a26c236d8fcf5d910884
* SDK Manager2: Revamp progress bar handling.Raphael Moll2011-07-271-41/+8
| | | | Change-Id: Ic5751f5c86f7cd4cf31927d83368a7fcb432e216
* SDK Manager2: revamp package diff logic.Raphael Moll2011-07-253-727/+818
| | | | | | | | | | | | | | 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
* SDK Man2: New UTs for install/delete cases.Raphael Moll2011-07-211-32/+172
| | | | Change-Id: I1f1e95592f4946ab61ad512f187f87be60ea5834
* SDK Manager 2: incremental sort when sorting by source + UTRaphael Moll2011-07-162-22/+384
| | | | | | | | 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
* SdkManager: fix issue with double-packages on reload.Raphael Moll2011-07-134-173/+530
| | | | | | | Rewrote the merge in place + sort of packages by API. Did some refactoring + added some unit tests. Change-Id: I168b306853185866606ed76c324a8db6051b15bb
* SdkManager: Refactor name of UpdaterWindow.Raphael Moll2011-05-271-1/+1
| | | | | | | | | | | | | | Since the sdkmanager now contains separate windows for the "SDK Updater" versus the "AVD Manager", the various UpdaterWindow classes are renamed to SdkUpdateWindow. We already have now a standalone AvdManagerWindow that matches this pattern. This is a pure refactoring/renaming CL with no workflow change whatsoever. Change-Id: I18ecb6aa33b7e9bd2294a959b371b424d03b2060
* Change logging API used by ITaskMonitor.Raphael Moll2011-04-151-2/+10
| | | | | | | | | | | | | | | | | | | | | | 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
* Revamp of the SDK Manager UI.Raphael Moll2011-03-161-0/+5
| | | | | | | | | | | | 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
* Make the sdklib/sdkuilib tests built by the build system.Xavier Ducrohet2011-02-242-4/+0
| | | | Change-Id: I9ec9175e0734a5b07fa5b3879cdf7b1ef0056d27