diff options
author | Raphael <raphael@google.com> | 2011-10-13 22:43:49 -0700 |
---|---|---|
committer | Raphael <raphael@google.com> | 2011-10-13 22:43:49 -0700 |
commit | a0fcdd03d2a6475d59441443ec21888043514ca9 (patch) | |
tree | 1a69d958e8437e8765ba5aa1c822f70dff24937c /sdkmanager/libs/sdklib | |
parent | d0babf526623d775506553f28972d05064856960 (diff) | |
download | sdk-a0fcdd03d2a6475d59441443ec21888043514ca9.zip sdk-a0fcdd03d2a6475d59441443ec21888043514ca9.tar.gz sdk-a0fcdd03d2a6475d59441443ec21888043514ca9.tar.bz2 |
SDK Manager: fix duplicated Extra Packages.
Change-Id: I0518515a2095b63099cb69d67d110330b148d5a2
Diffstat (limited to 'sdkmanager/libs/sdklib')
-rwxr-xr-x | sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/Package.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/Package.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/Package.java index 57de740..b99da5c 100755 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/Package.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/Package.java @@ -23,6 +23,7 @@ import com.android.sdklib.SdkManager; import com.android.sdklib.internal.repository.Archive.Arch;
import com.android.sdklib.internal.repository.Archive.Os;
import com.android.sdklib.repository.PkgProps;
+import com.android.sdklib.repository.SdkAddonConstants;
import com.android.sdklib.repository.SdkRepoConstants;
import org.w3c.dom.Node;
@@ -139,7 +140,11 @@ public abstract class Package implements IDescription, Comparable<Package> { // a package comes from.
String srcUrl = getProperty(props, PkgProps.PKG_SOURCE_URL, null);
if (props != null && source == null && srcUrl != null) {
- if (this instanceof AddonPackage) {
+ // Both Addon and Extra packages can come from an addon source.
+ // For Extras, we can tell by looking at the source URL.
+ if (this instanceof AddonPackage ||
+ ((this instanceof ExtraPackage) &&
+ srcUrl.endsWith(SdkAddonConstants.URL_DEFAULT_FILENAME))) {
source = new SdkAddonSource(srcUrl, null /*uiName*/);
} else {
source = new SdkRepoSource(srcUrl, null /*uiName*/);
|