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.