Bug 1064132 - Listen for wake_notification to evaluate whether to sync. r=markh

This commit is contained in:
Richard Newman 2014-09-09 17:16:24 -07:00
parent 86e497710d
commit 010acd53a4

View File

@ -97,6 +97,7 @@ SyncScheduler.prototype = {
Svc.Obs.add("FxA:hawk:backoff:interval", this);
if (Status.checkSetup() == STATUS_OK) {
Svc.Obs.add("wake_notification", this);
Svc.Idle.addIdleObserver(this, Svc.Prefs.get("scheduler.idleTime"));
}
},
@ -213,6 +214,7 @@ SyncScheduler.prototype = {
case "weave:service:setup-complete":
Services.prefs.savePrefFile(null);
Svc.Idle.addIdleObserver(this, Svc.Prefs.get("scheduler.idleTime"));
Svc.Obs.add("wake_notification", this);
break;
case "weave:service:start-over":
this.setDefaults();
@ -248,6 +250,16 @@ SyncScheduler.prototype = {
}
}, IDLE_OBSERVER_BACK_DELAY, this, "idleDebouncerTimer");
break;
case "wake_notification":
this._log.debug("Woke from sleep.");
Utils.nextTick(() => {
// Trigger a sync if we have multiple clients.
if (this.numClients > 1) {
this._log.debug("More than 1 client. Syncing.");
this.scheduleNextSync(0);
}
});
break;
}
},