Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa7edda4 authored by Fred Quintana's avatar Fred Quintana
Browse files

don't reschedule syncs that failed with a tooManyRetries error

parent db08d5cd
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -919,12 +919,16 @@ class SyncManager implements OnAccountsUpdateListener {
                    + previousSyncOperation);
        }

        // If this sync aborted because the internal sync loop retried too many times then
        //   don't reschedule. Otherwise we risk getting into a retry loop.
        // If the operation succeeded to some extent then retry immediately.
        // If this was a two-way sync then retry soft errors with an exponential backoff.
        // If this was an upward sync then schedule a two-way sync immediately.
        // Otherwise do not reschedule.

        if (syncResult.madeSomeProgress()) {
        if (syncResult.tooManyRetries) {
            Log.d(TAG, "not retrying sync operation because it retried too many times: "
                    + previousSyncOperation);
        } else if (syncResult.madeSomeProgress()) {
            if (isLoggable) {
                Log.d(TAG, "retrying sync operation immediately because "
                        + "even though it had an error it achieved some success");