am 2f6bd734: Fix comparison of 2 doc packages that have the same codename/revision.
Merge commit '2f6bd734c081c5ae96c724877ee86bfacc77a025'
* commit '2f6bd734c081c5ae96c724877ee86bfacc77a025':
Fix comparison of 2 doc packages that have the same codename/revision.
diff --git a/tools/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/DocPackage.java b/tools/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/DocPackage.java
index abd42fb..3bd731b 100755
--- a/tools/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/DocPackage.java
+++ b/tools/sdkmanager/libs/sdklib/src/com/android/sdklib/internal/repository/DocPackage.java
@@ -166,22 +166,25 @@
AndroidVersion replacementVersion = replacementDoc.getVersion();
- // the new doc is an update if the api level is higher
+ // the new doc is an update if the api level is higher (no matter the codename on either)
if (replacementVersion.getApiLevel() > mVersion.getApiLevel()) {
return UpdateInfo.UPDATE;
}
- // if it's the exactly same (including codename), we check the revision
- if (replacementVersion.equals(mVersion) &&
- replacementPackage.getRevision() > this.getRevision()) {
- return UpdateInfo.UPDATE;
- }
-
- // else we check if they have the same api level and the new one is a preview, in which
- // case it's also an update (since preview have the api level of the _previous_ version.
- if (replacementVersion.getApiLevel() == mVersion.getApiLevel() &&
- replacementVersion.isPreview()) {
- return UpdateInfo.UPDATE;
+ // Check if they're the same exact (api and codename)
+ if (replacementVersion.equals(mVersion)) {
+ // exact same version, so check the revision level
+ if (replacementPackage.getRevision() > this.getRevision()) {
+ return UpdateInfo.UPDATE;
+ }
+ } else {
+ // not the same version? we check if they have the same api level and the new one
+ // is a preview, in which case it's also an update (since preview have the api level
+ // of the _previous_ version.)
+ if (replacementVersion.getApiLevel() == mVersion.getApiLevel() &&
+ replacementVersion.isPreview()) {
+ return UpdateInfo.UPDATE;
+ }
}
// not an upgrade but not incompatible either.