Merge "fix a bug where if a syncmanager gets back a SyncAlreadyInProgress error it immediately reschedules another sync, thus burning up the battery if the sync is in progress for a while."

This commit is contained in:
Fred Quintana
2010-03-01 13:00:26 -08:00
committed by Android (Google) Code Review
2 changed files with 4 additions and 4 deletions

View File

@@ -819,7 +819,7 @@ public class SyncManager implements OnAccountsUpdateListener {
}
scheduleSyncOperation(new SyncOperation(operation.account, operation.syncSource,
operation.authority, operation.extras,
DELAY_RETRY_SYNC_IN_PROGRESS_IN_SECONDS));
DELAY_RETRY_SYNC_IN_PROGRESS_IN_SECONDS * 1000));
} else if (syncResult.hasSoftError()) {
if (isLoggable) {
Log.d(TAG, "retrying sync operation because it encountered a soft error: "

View File

@@ -19,7 +19,7 @@ public class SyncOperation implements Comparable {
public SyncStorageEngine.PendingOperation pendingOperation;
public SyncOperation(Account account, int source, String authority, Bundle extras,
long delay) {
long delayInMs) {
this.account = account;
this.syncSource = source;
this.authority = authority;
@@ -33,12 +33,12 @@ public class SyncOperation implements Comparable {
removeFalseExtra(ContentResolver.SYNC_EXTRAS_EXPEDITED);
removeFalseExtra(ContentResolver.SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS);
final long now = SystemClock.elapsedRealtime();
if (delay < 0) {
if (delayInMs < 0) {
this.expedited = true;
this.earliestRunTime = now;
} else {
this.expedited = false;
this.earliestRunTime = now + delay;
this.earliestRunTime = now + delayInMs;
}
this.key = toKey();
}