Update rating info (rating is only for internal support)
[platform/core/api/media-content.git] / src / media_info.c
index fe3019e..77824ab 100755 (executable)
@@ -1829,19 +1829,32 @@ int media_info_update_to_db(media_info_h media)
                char *test_sql = sqlite3_mprintf("%f, %f, %f", _media->longitude, _media->latitude, _media->altitude);
                SQLITE3_SAFE_FREE(test_sql);
 
+               /*Update Pinyin If Support Pinyin*/
+               char *file_name_pinyin = NULL;
+               char *description_pinyin = NULL;
+               bool pinyin_support = FALSE;
+
+               /*Update Pinyin If Support Pinyin*/
+               media_svc_check_pinyin_support(&pinyin_support);
+               if (pinyin_support) {
+                       if (STRING_VALID(_media->display_name))
+                               media_svc_get_pinyin(_media->display_name, &file_name_pinyin);
+                       if (STRING_VALID(_media->description))
+                               media_svc_get_pinyin(_media->description, &description_pinyin);
+               }
 #ifdef _USE_TVPD_MODE
 #ifdef _USE_SENIOR_MODE
                if (_media_content_is_support_senior_mode()) {
-                       set_sql = sqlite3_mprintf("played_count=%d, last_played_time=%d, last_played_position=%d, favourite=%d, contact=%Q, app_data=%Q",
-                               _media->played_count, _media->played_time, _media->played_position, _media->favourite, _media->contact, _media->app_data);
+                       set_sql = sqlite3_mprintf("file_name=%Q, description=%Q, longitude=%f, latitude=%f, file_name_pinyin=%Q, description_pinyin=%Q, played_count=%d, last_played_time=%d, last_played_position=%d, rating=%d, favourite=%d, contact=%Q, app_data=%Q",
+                               _media->display_name, _media->description, _media->longitude, _media->latitude, file_name_pinyin, description_pinyin, _media->played_count, _media->played_time, _media->played_position, _media->rating, _media->favourite, _media->contact, _media->app_data);
                } else
 #endif
                {
-                       set_sql = sqlite3_mprintf("played_count=%d, last_played_time=%d, last_played_position=%d, favourite=%d",
-                               _media->played_count, _media->played_time, _media->played_position, _media->favourite);
+                       set_sql = sqlite3_mprintf("file_name=%Q, description=%Q, longitude=%f, latitude=%f, file_name_pinyin=%Q, description_pinyin=%Q, played_count=%d, last_played_time=%d, last_played_position=%d, rating=%d, favourite=%d",
+                               _media->display_name, _media->description, _media->longitude, _media->latitude, file_name_pinyin, description_pinyin, _media->played_count, _media->played_time, _media->played_position, _media->rating, _media->favourite);
                }
 #else
-               set_sql = sqlite3_mprintf("favourite=%d", _media->favourite);
+               set_sql = sqlite3_mprintf("file_name=%Q, description=%Q, longitude=%f, latitude=%f, file_name_pinyin=%Q, description_pinyin=%Q, rating=%d, favourite=%d", _media->display_name, _media->description, _media->longitude, _media->latitude, file_name_pinyin, description_pinyin, _media->rating, _media->favourite);
 #endif
 
                sql = sqlite3_mprintf("UPDATE %Q SET %s WHERE media_uuid=%Q", _media->storage_uuid, set_sql, _media->media_id);
@@ -1850,6 +1863,8 @@ int media_info_update_to_db(media_info_h media)
                SQLITE3_SAFE_FREE(set_sql);
                SQLITE3_SAFE_FREE(sql);
 
+               SAFE_FREE(description_pinyin);
+
                if (ret == MEDIA_CONTENT_ERROR_NONE) {
                        /* Send notification for this update */
                        media_content_debug("Update is successfull. Send notification for this");
@@ -2041,3 +2056,94 @@ int media_info_cancel_face_detection(media_info_h media)
 
        return ret;
 }
+
+int media_info_set_description(media_info_h media, const char *description)
+{
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       media_content_warn("DEPRECATION WARNING: media_info_set_description() is deprecated and will be removed from next release.");
+       media_info_s *_media = (media_info_s*)media;
+
+       if (_media != NULL) {
+               SAFE_FREE(_media->description);
+
+               if (STRING_VALID(description)) {
+                       _media->description = strdup(description);
+                       media_content_retvm_if(_media->description == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+               } else {
+                       _media->description = NULL;
+               }
+       } else {
+               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+       }
+
+       return ret;
+}
+
+int media_info_set_longitude(media_info_h media, double longitude)
+{
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       media_content_warn("DEPRECATION WARNING: media_info_set_longitude() is deprecated and will be removed from next release.");
+       media_info_s *_media = (media_info_s*)media;
+
+       if (_media != NULL) {
+               _media->longitude = longitude;
+       } else {
+               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+       }
+
+       return ret;
+}
+
+int media_info_set_latitude(media_info_h media, double latitude)
+{
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       media_content_warn("DEPRECATION WARNING: media_info_set_latitude() is deprecated and will be removed from next release.");
+       media_info_s *_media = (media_info_s*)media;
+
+       if (_media != NULL) {
+               _media->latitude = latitude;
+       } else {
+               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+       }
+
+       return ret;
+}
+
+int media_info_set_rating(media_info_h media, int rating)
+{
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       media_content_warn("DEPRECATION WARNING: media_info_set_rating() is deprecated and will be removed from next release.");
+       media_info_s *_media = (media_info_s*)media;
+
+       if (_media != NULL) {
+               _media->rating = rating;
+       } else {
+               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+       }
+
+       return ret;
+}
+
+
+int media_info_set_display_name(media_info_h media, const char *display_name)
+{
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       media_content_warn("DEPRECATION WARNING: media_info_set_display_name() is deprecated and will be removed from next release.");
+       media_info_s *_media = (media_info_s*)media;
+
+       if (_media != NULL && STRING_VALID(display_name)) {
+               SAFE_FREE(_media->display_name);
+
+               _media->display_name = strdup(display_name);
+               media_content_retvm_if(_media->display_name == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       } else {
+               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+       }
+
+       return ret;
+}
\ No newline at end of file