2015-09-09 23:22:52 -04:00
|
|
|
|
(function (globalScope) {
|
|
|
|
|
|
|
|
|
|
function mediaSync() {
|
|
|
|
|
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
|
self.sync = function (apiClient) {
|
|
|
|
|
|
|
|
|
|
var deferred = DeferredBuilder.Deferred();
|
|
|
|
|
|
2015-09-14 08:50:37 -04:00
|
|
|
|
reportOfflineActions(apiClient).done(function () {
|
|
|
|
|
|
|
|
|
|
// Do the first data sync
|
|
|
|
|
syncData(apiClient, false).done(function () {
|
|
|
|
|
|
|
|
|
|
// Download new content
|
|
|
|
|
getNewMedia(apiClient).done(function () {
|
|
|
|
|
|
|
|
|
|
// Do the second data sync
|
|
|
|
|
syncData(apiClient, false).done(function () {
|
|
|
|
|
|
|
|
|
|
deferred.resolve();
|
|
|
|
|
|
|
|
|
|
}).fail(getOnFail(deferred));
|
|
|
|
|
|
|
|
|
|
}).fail(getOnFail(deferred));
|
|
|
|
|
|
|
|
|
|
}).fail(getOnFail(deferred));
|
|
|
|
|
|
|
|
|
|
}).fail(getOnFail(deferred));
|
2015-09-09 23:22:52 -04:00
|
|
|
|
|
|
|
|
|
return deferred.promise();
|
|
|
|
|
};
|
2015-09-14 08:50:37 -04:00
|
|
|
|
|
|
|
|
|
function reportOfflineActions(apiClient) {
|
|
|
|
|
|
|
|
|
|
var deferred = DeferredBuilder.Deferred();
|
|
|
|
|
|
|
|
|
|
deferred.resolve();
|
|
|
|
|
|
|
|
|
|
return deferred.promise();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function syncData(apiClient, syncUserItemAccess) {
|
|
|
|
|
|
|
|
|
|
var deferred = DeferredBuilder.Deferred();
|
|
|
|
|
|
|
|
|
|
deferred.resolve();
|
|
|
|
|
|
|
|
|
|
return deferred.promise();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getNewMedia(apiClient) {
|
|
|
|
|
|
|
|
|
|
var deferred = DeferredBuilder.Deferred();
|
|
|
|
|
|
|
|
|
|
deferred.resolve();
|
|
|
|
|
|
|
|
|
|
return deferred.promise();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getOnFail(deferred) {
|
|
|
|
|
return function () {
|
|
|
|
|
|
|
|
|
|
deferred.reject();
|
|
|
|
|
};
|
|
|
|
|
}
|
2015-09-09 23:22:52 -04:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!globalScope.MediaBrowser) {
|
|
|
|
|
globalScope.MediaBrowser = {};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
globalScope.MediaBrowser.MediaSync = mediaSync;
|
|
|
|
|
|
|
|
|
|
})(this);
|