From: Pawel Andruszkiewicz Date: Thu, 30 Jul 2015 09:44:08 +0000 (+0200) Subject: [Content] Always use platform to check number of playlist items. X-Git-Tag: submit/tizen_tv/20150803.021740^2^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=06fe421421e3dc9c178a9a9f7d7e6bb4aabf5f59;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Content] Always use platform to check number of playlist items. Fixes: multiple UTC tests [Verification] Wearable service UTC: 52/55 Mobile TCT: 230/230 Change-Id: I36d24046eeadf71d3c1b46bac1c80d0fbb3dc492 Signed-off-by: Pawel Andruszkiewicz --- diff --git a/src/content/content_instance.cc b/src/content/content_instance.cc index 1e7ec05a..e0c3fe11 100755 --- a/src/content/content_instance.cc +++ b/src/content/content_instance.cc @@ -67,6 +67,7 @@ ContentInstance::ContentInstance() { REGISTER_SYNC("ContentPlaylist_setName", PlaylistSetName); REGISTER_SYNC("ContentPlaylist_getThumbnailUri", PlaylistGetThumbnailUri); REGISTER_SYNC("ContentPlaylist_setThumbnailUri", PlaylistSetThumbnailUri); + REGISTER_SYNC("ContentPlaylist_getNumberOfTracks", PlaylistGetNumberOfTracks); #undef REGISTER_SYNC } @@ -691,6 +692,20 @@ void ContentInstance::PlaylistSetThumbnailUri(const picojson::value& args, picoj } } +void ContentInstance::PlaylistGetNumberOfTracks(const picojson::value& args, + picojson::object& out) { + LoggerD("entered"); + CHECK_EXIST(args, "id", out) + int id = static_cast(args.get("id").get()); + int count = 0; + int ret = ContentManager::getInstance()->getNumberOfTracks(id, &count); + if (ret != MEDIA_CONTENT_ERROR_NONE) { + ReportError(ContentManager::getInstance()->convertError(ret), &out); + } else { + ReportSuccess(picojson::value(static_cast(count)), out); + } +} + #undef CHECK_EXIST } // namespace content diff --git a/src/content/content_instance.h b/src/content/content_instance.h index c8f20c75..34cfc352 100755 --- a/src/content/content_instance.h +++ b/src/content/content_instance.h @@ -72,6 +72,7 @@ class ContentInstance : public common::ParsedInstance { void PlaylistSetName(const picojson::value& args, picojson::object& out); void PlaylistGetThumbnailUri(const picojson::value& args, picojson::object& out); void PlaylistSetThumbnailUri(const picojson::value& args, picojson::object& out); + void PlaylistGetNumberOfTracks(const picojson::value& args, picojson::object& out); }; typedef struct _ReplyCallbackData { diff --git a/src/content/content_manager.cc b/src/content/content_manager.cc index 31101570..80346209 100755 --- a/src/content/content_manager.cc +++ b/src/content/content_manager.cc @@ -1464,6 +1464,22 @@ int ContentManager::setThumbnailUri(int id, const std::string& thb_uri) return ret; } +int ContentManager::getNumberOfTracks(int id, int* result) { + LoggerD("Entered"); + + int count = 0; + const int ret_code = media_playlist_get_media_count_from_db(id, nullptr, + &count); + + if (MEDIA_CONTENT_ERROR_NONE != ret_code) { + LoggerE("media_playlist_get_media_count_from_db failed"); + return TIZEN_ERROR_UNKNOWN; + } + + *result = count; + return MEDIA_CONTENT_ERROR_NONE; +} + PlatformResult ContentManager::convertError(int err) { switch (err) { case MEDIA_CONTENT_ERROR_INVALID_PARAMETER : diff --git a/src/content/content_manager.h b/src/content/content_manager.h index 7d951254..95290b62 100755 --- a/src/content/content_manager.h +++ b/src/content/content_manager.h @@ -76,6 +76,8 @@ class ContentManager { int getThumbnailUri(int id, std::string* result); int setThumbnailUri(int id, const std::string& thb_uri); + int getNumberOfTracks(int id, int* result); + //playlistSetOrder static common::PlatformResult convertError(int err); private: diff --git a/src/content/js/playlist.js b/src/content/js/playlist.js index ac22e6da..1dd6a4f4 100755 --- a/src/content/js/playlist.js +++ b/src/content/js/playlist.js @@ -52,13 +52,13 @@ function Playlist(data) { }, numberOfTracks: { get: function() { - return numberOfTracks; - }, - set: function(v) { - if (edit_.isAllowed) { - numberOfTracks = converter_.toUnsignedLong(v, false); + var result = native_.callSync('ContentPlaylist_getNumberOfTracks', {'id' : Number(id)}); + if (native_.isFailure(result)) { + throw native_.getErrorObject(result); } + return native_.getResultObject(result); }, + set: function() {}, enumerable: true }, thumbnailURI: {