Fix comparison of 2 doc packages that have the same codename/revision.

This made the Donut_r1 doc show up as upgrade to the donut_r1 doc.
BUG: 2037448
This commit is contained in:
Xavier Ducrohet
2009-08-05 19:25:35 -07:00
parent 8639e8e60b
commit 2f6bd734c0

View File

@@ -166,22 +166,25 @@ public class DocPackage extends Package {
AndroidVersion replacementVersion = replacementDoc.getVersion(); 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()) { if (replacementVersion.getApiLevel() > mVersion.getApiLevel()) {
return UpdateInfo.UPDATE; return UpdateInfo.UPDATE;
} }
// if it's the exactly same (including codename), we check the revision // Check if they're the same exact (api and codename)
if (replacementVersion.equals(mVersion) && if (replacementVersion.equals(mVersion)) {
replacementPackage.getRevision() > this.getRevision()) { // exact same version, so check the revision level
return UpdateInfo.UPDATE; if (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 } else {
// case it's also an update (since preview have the api level of the _previous_ version. // not the same version? we check if they have the same api level and the new one
if (replacementVersion.getApiLevel() == mVersion.getApiLevel() && // is a preview, in which case it's also an update (since preview have the api level
replacementVersion.isPreview()) { // of the _previous_ version.)
return UpdateInfo.UPDATE; if (replacementVersion.getApiLevel() == mVersion.getApiLevel() &&
replacementVersion.isPreview()) {
return UpdateInfo.UPDATE;
}
} }
// not an upgrade but not incompatible either. // not an upgrade but not incompatible either.