From 78f9775e46b93bd0339586749bbba7265fd9f4c1 Mon Sep 17 00:00:00 2001 From: Haejeong Kim Date: Thu, 8 Jun 2017 18:38:27 +0900 Subject: [PATCH] Bug fix when using filter for bookmark and face Change-Id: Ib5d74af7e3e33a06a20af07574c17574eac7b628 --- include/media_info_private.h | 1 + src/media_content.c | 19 +++++++++++++++---- src/media_db.c | 4 ++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/include/media_info_private.h b/include/media_info_private.h index 912a4f1..e801a3b 100755 --- a/include/media_info_private.h +++ b/include/media_info_private.h @@ -419,6 +419,7 @@ typedef struct _media_content_cb_data { #define DB_TABLE_ALIAS_TAG "t" #define DB_TABLE_ALIAS_BOOKMARK "b" #define DB_TABLE_ALIAS_ALBUM "a" +#define DB_TABLE_ALIAS_FACE "fa" /* DB field for media */ #define DB_FIELD_MEDIA_ID "media_uuid" diff --git a/src/media_content.c b/src/media_content.c index 4d87a6c..2d6a107 100755 --- a/src/media_content.c +++ b/src/media_content.c @@ -186,6 +186,9 @@ static int __media_content_create_attr_handle(void) ret = _media_filter_attribute_add(g_attr_handle, MEDIA_STORAGE_TYPE, DB_FIELD_MEDIA_STORAGE_TYPE); media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); + ret = _media_filter_attribute_add(g_attr_handle, MEDIA_360, DB_FIELD_MEDIA_360); + media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); + /* Pinyin*/ ret = _media_filter_attribute_add(g_attr_handle, MEDIA_FILE_NAME_PINYIN, DB_FIELD_MEDIA_FILE_NAME_PINYIN); media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); @@ -270,9 +273,6 @@ static int __media_content_create_attr_handle(void) ret = _media_filter_attribute_add(g_attr_handle, BOOKMARK_NAME, DB_FIELD_BOOKMARK_NAME); media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); - ret = _media_filter_attribute_add(g_attr_handle, MEDIA_360, DB_FIELD_MEDIA_360); - media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); - /* Storage*/ ret = _media_filter_attribute_add(g_attr_handle, MEDIA_STORAGE_ID, DB_FIELD_STORAGE_ID); media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); @@ -706,6 +706,7 @@ static int __media_content_create_alias_attr_handle(void) ret = _media_filter_attribute_add(g_alias_attr_handle, FOLDER_PARENT_FOLDER_ID, DB_TABLE_ALIAS_FOLDER"."DB_FIELD_FOLDER_PARENT_FOLDER_ID); media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); + /* Playlist*/ ret = _media_filter_attribute_add(g_alias_attr_handle, PLAYLIST_NAME, DB_TABLE_ALIAS_PLAYLIST"."DB_FIELD_PLAYLIST_NAME); media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); @@ -718,10 +719,20 @@ static int __media_content_create_alias_attr_handle(void) media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); /* Bookmark*/ + ret = _media_filter_attribute_add(g_attr_handle, MEDIA_BOOKMARK_ID, DB_TABLE_ALIAS_BOOKMARK"."DB_FIELD_BOOKMARK_ID); + media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); + ret = _media_filter_attribute_add(g_alias_attr_handle, BOOKMARK_MARKED_TIME, DB_TABLE_ALIAS_BOOKMARK"."DB_FIELD_BOOKMARK_MARKED_TIME); media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); - ret = _media_filter_attribute_add(g_alias_attr_handle, BOOKMARK_NAME, DB_TABLE_ALIAS_BOOKMARK"."BOOKMARK_NAME); + ret = _media_filter_attribute_add(g_alias_attr_handle, BOOKMARK_NAME, DB_TABLE_ALIAS_BOOKMARK"."DB_FIELD_BOOKMARK_NAME); + media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); + + /* Face */ + ret = _media_filter_attribute_add(g_attr_handle, MEDIA_FACE_TAG, DB_TABLE_ALIAS_FACE"."DB_FIELD_FACE_TAG); + media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); + + ret = _media_filter_attribute_add(g_attr_handle, MEDIA_FACE_ID, DB_TABLE_ALIAS_FACE"."DB_FIELD_FACE_ID); media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); return ret; diff --git a/src/media_db.c b/src/media_db.c index f6c83ff..657aeb6 100755 --- a/src/media_db.c +++ b/src/media_db.c @@ -1006,6 +1006,8 @@ int _media_db_get_group_item_count(const char *group_name, filter_h filter, grou } else if (group_type == MEDIA_GROUP_TAG_BY_MEDIA_ID) { snprintf(select_query, sizeof(select_query), SELECT_TAG_COUNT_BY_MEDIA_ID, group_name); } else if (group_type == MEDIA_GROUP_BOOKMARK_BY_MEDIA_ID) { + attr = _content_get_alias_attirbute_handle(); + if ((_filter != NULL) && STRING_VALID(_filter->storage_id)) tmp_query = sqlite3_mprintf(SELECT_BOOKMARK_COUNT_BY_MEDIA_ID, _filter->storage_id, group_name); else @@ -1017,6 +1019,8 @@ int _media_db_get_group_item_count(const char *group_name, filter_h filter, grou SAFE_STRLCAT(select_query, tmp_query, sizeof(select_query)); } else if (group_type == MEDIA_GROUP_FACE_BY_MEDIA_ID) { + attr = _content_get_alias_attirbute_handle(); + if ((_filter != NULL) && STRING_VALID(_filter->storage_id)) tmp_query = sqlite3_mprintf(SELECT_FACE_COUNT_BY_MEDIA_ID, _filter->storage_id, group_name); else -- 2.7.4