2015-08-12 14:39:02 -07:00
|
|
|
|
(function () {
|
|
|
|
|
|
2015-09-10 11:28:22 -07:00
|
|
|
|
var syncPromise;
|
2015-09-19 19:06:56 -07:00
|
|
|
|
var lastStart = 0;
|
2015-09-10 11:28:22 -07:00
|
|
|
|
|
2015-08-12 14:39:02 -07:00
|
|
|
|
window.LocalSync = {
|
|
|
|
|
|
|
|
|
|
isSupported: function () {
|
2015-09-10 11:28:22 -07:00
|
|
|
|
return AppInfo.isNativeApp;
|
2015-08-12 14:39:02 -07:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
startSync: function () {
|
|
|
|
|
|
2015-09-10 11:28:22 -07:00
|
|
|
|
if (!syncPromise) {
|
|
|
|
|
require(['multiserversync'], function () {
|
|
|
|
|
|
2015-09-19 19:06:56 -07:00
|
|
|
|
lastStart = new Date().getTime();
|
2015-09-10 11:28:22 -07:00
|
|
|
|
syncPromise = new MediaBrowser.MultiServerSync(ConnectionManager).sync().done(function () {
|
|
|
|
|
|
|
|
|
|
syncPromise = null;
|
|
|
|
|
|
|
|
|
|
}).fail(function () {
|
|
|
|
|
|
|
|
|
|
syncPromise = null;
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
2015-08-12 14:39:02 -07:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getSyncStatus: function () {
|
2015-09-10 11:28:22 -07:00
|
|
|
|
|
|
|
|
|
if (syncPromise != null) {
|
|
|
|
|
return 'Syncing';
|
|
|
|
|
}
|
2015-08-12 14:39:02 -07:00
|
|
|
|
return 'Idle';
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2015-09-19 19:06:56 -07:00
|
|
|
|
var syncInterval = 1800000;
|
|
|
|
|
|
|
|
|
|
function restartInterval() {
|
2015-09-10 11:28:22 -07:00
|
|
|
|
if (LocalSync.isSupported) {
|
|
|
|
|
setInterval(function () {
|
|
|
|
|
|
|
|
|
|
LocalSync.startSync();
|
|
|
|
|
|
2015-09-19 19:06:56 -07:00
|
|
|
|
}, syncInterval);
|
|
|
|
|
|
|
|
|
|
if (lastStart > 0 && (now - lastStart) >= syncInterval) {
|
|
|
|
|
LocalSync.startSync();
|
|
|
|
|
}
|
2015-09-10 11:28:22 -07:00
|
|
|
|
}
|
2015-09-14 14:24:54 -07:00
|
|
|
|
//LocalSync.startSync();
|
2015-09-19 19:06:56 -07:00
|
|
|
|
}
|
2015-09-10 11:28:22 -07:00
|
|
|
|
|
2015-09-19 19:06:56 -07:00
|
|
|
|
Dashboard.ready(restartInterval);
|
|
|
|
|
document.addEventListener("resume", restartInterval, false);
|
2015-08-12 14:39:02 -07:00
|
|
|
|
})();
|