diff --git a/dashboard-ui/apiclient/localassetmanager.js b/dashboard-ui/apiclient/localassetmanager.js index 666855f918..607bf02dce 100644 --- a/dashboard-ui/apiclient/localassetmanager.js +++ b/dashboard-ui/apiclient/localassetmanager.js @@ -69,6 +69,18 @@ return deferred.promise(); } + function hasImage(serverId, itemId, imageTag) { + var deferred = DeferredBuilder.Deferred(); + deferred.resolveWith(null, [false]); + return deferred.promise(); + } + + function downloadImage(url, serverId, itemId, imageTag) { + var deferred = DeferredBuilder.Deferred(); + deferred.resolveWith(null, [false]); + return deferred.promise(); + } + window.LocalAssetManager = { getLocalMediaSource: getLocalMediaSource, saveOfflineUser: saveOfflineUser, @@ -80,7 +92,9 @@ addOrUpdateLocalItem: addOrUpdateLocalItem, createLocalItem: createLocalItem, downloadFile: downloadFile, - downloadSubtitles: downloadSubtitles + downloadSubtitles: downloadSubtitles, + hasImage: hasImage, + downloadImage: downloadImage }; })(); \ No newline at end of file diff --git a/dashboard-ui/apiclient/sync/mediasync.js b/dashboard-ui/apiclient/sync/mediasync.js index 6765235e84..ea7674de14 100644 --- a/dashboard-ui/apiclient/sync/mediasync.js +++ b/dashboard-ui/apiclient/sync/mediasync.js @@ -318,13 +318,39 @@ } function downloadImage(apiClient, serverId, itemId, imageTag, imageType) { + + Logger.log('Begin downloadImage'); var deferred = DeferredBuilder.Deferred(); - deferred.resolve(); + + require(['localassetmanager'], function () { + + localAssetManager.hasImage(serverId, itemId, imageTag).done(function (hasImage) { + + if (hasImage) { + deferred.resolve(); + return; + } + + var imageUrl = apiClient.getImageUrl(itemId, { + Tag: imageTag, + ImageType: imageType + }); + + localAssetManager.downloadImage(imageUrl, serverId, itemId, imageTag).done(function () { + + deferred.resolve(); + + }).fail(getOnFail(deferred)); + + }); + }); + return deferred.promise(); } function getSubtitles(apiClient, jobItem, localItem) { + Logger.log('Begin getSubtitles'); var deferred = DeferredBuilder.Deferred(); require(['localassetmanager'], function () { diff --git a/dashboard-ui/cordova/localassetmanager.js b/dashboard-ui/cordova/localassetmanager.js index 8e88cb074c..4f78d475f8 100644 --- a/dashboard-ui/cordova/localassetmanager.js +++ b/dashboard-ui/cordova/localassetmanager.js @@ -99,6 +99,18 @@ return deferred.promise(); } + function hasImage(serverId, itemId, imageTag) { + var deferred = DeferredBuilder.Deferred(); + deferred.resolveWith(null, [false]); + return deferred.promise(); + } + + function downloadImage(url, serverId, itemId, imageTag) { + var deferred = DeferredBuilder.Deferred(); + deferred.resolveWith(null, [false]); + return deferred.promise(); + } + window.LocalAssetManager = { getLocalMediaSource: getLocalMediaSource, saveOfflineUser: saveOfflineUser, @@ -110,7 +122,9 @@ addOrUpdateLocalItem: addOrUpdateLocalItem, createLocalItem: createLocalItem, downloadFile: downloadFile, - downloadSubtitles: downloadSubtitles + downloadSubtitles: downloadSubtitles, + hasImage: hasImage, + downloadImage: downloadImage }; })(); \ No newline at end of file diff --git a/dashboard-ui/scripts/librarymenu.js b/dashboard-ui/scripts/librarymenu.js index d507988033..5ae17652a2 100644 --- a/dashboard-ui/scripts/librarymenu.js +++ b/dashboard-ui/scripts/librarymenu.js @@ -462,9 +462,6 @@ itemId = "livetv"; } - if (i.Type == 'Channel') { - } - if (i.CollectionType == "photos") { icon = 'photo-library'; color = "#009688";