Restore automatic ping and backoff on error functionality
This functionality was lost when I converted to use EasService
for syncing. Now it's back. This means that:
1. We will always have a ping that is scheduled to run every hour,
so even if the regular ping is lost due to some code error,
we'll start it again within the hour. This code is currently disabled
so that we will be able to test and discover if pings are being lost.
If they are, and we can't figure out why, then we can enable this code.
2. If sync fails due to some error, we will not start the ping
immediately. Instead we'll wait five minutes and then restart it.
This keeps us from rapidly spinning and burning the battery in
cases where the server is misbehaving.
(cherry picked from commit 85c66ca12d7debfbbcfc0a3cc3afab1673577d50)
3 files changed