| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: Icd6597be885179bd1f0b49d227ece7a3fa9f9bcb
|
|
|
|
|
|
| |
SDK Bug: 40456
Change-Id: I0d19c4cc7f0ea97ad62a0914c75c50f1e604847e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Eclipse 4.x requires it.
Change-Id: Iababca14d8edc8d62bce42f23ee26633dc49cf8c
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Move stuff out of sdklib into common and ide_common.
Remove androidprefs and move the one class into common.
Change-Id: I71d126a13cf2ba413692e29616f4968a37d7b33a
|
|
|
|
| |
Change-Id: Ia046d63aac7800326effbe61364d2efa35581633
|
|
|
|
| |
Change-Id: I7af78e81e5433396c7a1039782ab8ceda35187a0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Also fix a name changed in the SdkUiLib test.
Change-Id: I30fa83ac607fc4735af161604514f09c2aff6a93
|
|
|
|
|
|
|
|
| |
SDK Bug: 21942, part 2 of 3.
(part 3 is replacing manifest.ini by source.props)
Change-Id: I96be0d8210120927744224d909f7ee7184ebfecf
|
|
|
|
|
|
| |
SDK Bug: 21942, part 1 of 2.
Change-Id: Id9c026965b365e57302c56620f4ec8f88573d633
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Iad1576ec4ca03213679aabb97328bcf9c0f590eb
|
|
|
|
|
|
| |
SDK Bug: 5508174
Change-Id: I466ba63c7f6c4158be42df1151f540d26c63e342
|
|
|
|
| |
Change-Id: I15d0b46ef09791ea000724e571de63923f147b6d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Id9cacdc53e2e800526950480007e0a8f474779be
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ifbb7de6e94a5be9864c7b033e129d140ada89b70
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I77b369a5bd3bb81da09f6e509b67c635b7b2e2e9
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I4aef0e6ad8993e792a20f95f37a62f44e858b426
|
|
|
|
|
|
|
|
|
| |
Also synchronize selection between the sort-by-api
and the sort-by-source mode.
Updated with unit tests.
Change-Id: I714953dee219bc7a5471a347571262459f6052de
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ic5751f5c86f7cd4cf31927d83368a7fcb432e216
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I1f1e95592f4946ab61ad512f187f87be60ea5834
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Rewrote the merge in place + sort of packages by API.
Did some refactoring + added some unit tests.
Change-Id: I168b306853185866606ed76c324a8db6051b15bb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I9ec9175e0734a5b07fa5b3879cdf7b1ef0056d27
|