From 49706c12d1408649aae6b413d620edf2ffde1b72 Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Tue, 16 Apr 2013 20:31:51 +0100 Subject: [PATCH] No need to re-check compatibility if ALL repos were unchanged (by etag) --- src/org/fdroid/fdroid/UpdateService.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/org/fdroid/fdroid/UpdateService.java b/src/org/fdroid/fdroid/UpdateService.java index 0233f77c9..27164e3f6 100644 --- a/src/org/fdroid/fdroid/UpdateService.java +++ b/src/org/fdroid/fdroid/UpdateService.java @@ -147,6 +147,7 @@ public class UpdateService extends IntentService implements ProgressListener { List apps = new ArrayList(); List keeprepos = new ArrayList(); boolean success = true; + boolean changes = false; for (DB.Repo repo : repos) { if (repo.inuse) { @@ -156,7 +157,11 @@ public class UpdateService extends IntentService implements ProgressListener { String err = RepoXMLHandler.doUpdate(getBaseContext(), repo, apps, newetag, keeprepos, this); if (err == null) { - repo.lastetag = newetag.toString(); + String nt = newetag.toString(); + if(!nt.equals(repo.lastetag)) { + repo.lastetag = newetag.toString(); + changes = true; + } } else { success = false; err = "Update failed for " + repo.address + " - " + err; @@ -169,7 +174,7 @@ public class UpdateService extends IntentService implements ProgressListener { } } - if (success) { + if (changes && success) { sendStatus(STATUS_INFO, getString(R.string.status_checking_compatibility)); List acceptedapps = new ArrayList(); List prevapps = ((FDroidApp) getApplication()).getApps(); @@ -239,7 +244,7 @@ public class UpdateService extends IntentService implements ProgressListener { } - if (success && notify) { + if (success && changes && notify) { Log.d("FDroid", "Updates before:" + prevUpdates + ", after: " + newUpdates); if (newUpdates > prevUpdates) {