typedef enum {
VIDEO_PLAY_LIST_TYPE_ALL = 0x00,
VIDEO_PLAY_LIST_TYPE_FOLDER,
+ VIDEO_PLAY_LIST_TYPE_FAVOURITE
} video_play_list_type_t;
typedef enum {
VIDEO_SORT_BY_NONE = 0,
VIDEO_SORT_BY_NAME_A_Z,
+ VIDEO_SORT_BY_RECENTLY_ADDED,
+ VIDEO_SORT_BY_NAME,
VIDEO_SORT_BY_NAME_Z_A,
VIDEO_SORT_BY_DATE_MOST_RECENT,
VIDEO_SORT_BY_OLDEST,
+ VIDEO_SORT_BY_GALLERY_ORDER,
VIDEO_SORT_BY_MAX,
} video_play_sort_type_t;
+
typedef enum {
VIDEO_EDIT_WEATHER_TAG_NONE = -1,
VIDEO_EDIT_WEATHER_TAG_NO,
bool vp_media_contents_file_is_exist(const char *szFilePath);
bool vp_media_contents_del_video(const char *szFilePath);
+bool vp_media_contents_get_gallery_favourite_items(GList **pList);
+
nOrderType = MEDIA_CONTENT_ORDER_ASC;
VP_STRDUP(szOrder, MEDIA_MODIFIED_TIME);
break;
-
+ case VIDEO_SORT_BY_NAME:
+ nOrderType = MEDIA_CONTENT_ORDER_ASC;
+ VP_STRDUP(szOrder, MEDIA_DISPLAY_NAME);
+ break;
+ case VIDEO_SORT_BY_RECENTLY_ADDED:
+ nOrderType = MEDIA_CONTENT_ORDER_DESC;
+ VP_STRDUP(szOrder, MEDIA_ADDED_TIME)
+ break;
+ case VIDEO_SORT_BY_GALLERY_ORDER:
+ nOrderType = MEDIA_CONTENT_ORDER_DESC;
+ VP_STRDUP(szOrder, "MEDIA_TIMELINE, MEDIA_DISPLAY_NAME");
+ break;
default:
nOrderType = MEDIA_CONTENT_ORDER_ASC;
VP_STRDUP(szOrder, MEDIA_TITLE);
return FALSE;
}
+bool vp_media_contents_get_gallery_favourite_items(GList **pList)
+{
+ vp_media_contents_connect();
+ filter_h pFilterHandle = NULL;
+ int nRet = MEDIA_CONTENT_ERROR_NONE;
+ bool ret_val = TRUE;
+ media_content_order_e nOrderType = MEDIA_CONTENT_ORDER_DESC;
+ char *szOrder = NULL;
+ char *szCondition = g_strdup_printf("MEDIA_TYPE = 1 AND (MEDIA_FAVOURITE>0) AND (MEDIA_STORAGE_TYPE IS NOT 101)");;
+ VP_STRDUP(szOrder, "MEDIA_TIMELINE, MEDIA_DISPLAY_NAME");
+
+ nRet = media_filter_create(&pFilterHandle);
+ if (nRet != MEDIA_CONTENT_ERROR_NONE) {
+ VideoLogError("media_filter_create is fail : 0x%x", nRet);
+ ret_val = FALSE;
+ goto Exception;
+ }
+ nRet = media_filter_set_condition(pFilterHandle, szCondition,
+ MEDIA_CONTENT_COLLATE_DEFAULT);
+ if (nRet != MEDIA_CONTENT_ERROR_NONE) {
+ VideoLogError("media_filter_set_condition is fail : 0x%x", nRet);
+ ret_val = FALSE;
+ goto Exception;
+ }
+
+ nRet =
+ media_filter_set_order(pFilterHandle, nOrderType, szOrder,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ if (nRet != MEDIA_CONTENT_ERROR_NONE) {
+ VideoLogError("media_filter_set_order is fail : 0x%x", nRet);
+ ret_val = FALSE;
+ goto Exception;
+ }
+
+ nRet =
+ media_info_foreach_media_from_db(pFilterHandle,
+ __vp_media_contents_video_iter_cb,
+ pList);
+ if (nRet != MEDIA_CONTENT_ERROR_NONE) {
+ VideoLogError("media_info_foreach_media_from_db is fail : 0x%x", nRet);
+ ret_val = FALSE;
+ goto Exception;
+ }
+
+ nRet = media_filter_destroy(pFilterHandle);
+ if (nRet != MEDIA_CONTENT_ERROR_NONE) {
+ VideoLogError("media_filter_destroy is fail : 0x%x", nRet);
+ VP_FREE(szCondition);
+ VP_FREE(szOrder);
+ return FALSE;
+ }
+
+ Exception:
+ VP_FREE(szCondition);
+ VP_FREE(szOrder);
+ return ret_val;
+}
+
+
/**
*
* @param nSortType
nOrderType = MEDIA_CONTENT_ORDER_ASC;
VP_STRDUP(szOrder, MEDIA_MODIFIED_TIME);
break;
-
+ case VIDEO_SORT_BY_NAME:
+ nOrderType = MEDIA_CONTENT_ORDER_ASC;
+ VP_STRDUP(szOrder, MEDIA_DISPLAY_NAME);
+ break;
+ case VIDEO_SORT_BY_RECENTLY_ADDED:
+ nOrderType = MEDIA_CONTENT_ORDER_DESC;
+ VP_STRDUP(szOrder, MEDIA_ADDED_TIME)
+ break;
+ case VIDEO_SORT_BY_GALLERY_ORDER:
+ nOrderType = MEDIA_CONTENT_ORDER_DESC;
+ VP_STRDUP(szOrder, "MEDIA_TIMELINE, MEDIA_DISPLAY_NAME");
+ break;
default:
nOrderType = MEDIA_CONTENT_ORDER_ASC;
VP_STRDUP(szOrder, MEDIA_TITLE);
}
- szCondition =
- g_strdup_printf
- ("MEDIA_TYPE = 1 AND (MEDIA_STORAGE_TYPE IS NOT 101)");
+ szCondition = g_strdup_printf("MEDIA_TYPE = 1 AND (MEDIA_STORAGE_TYPE IS NOT 101)");
nRet =
media_filter_set_condition(pFilterHandle, szCondition,
if (pNormalView->nLaunchingType == VIDEO_PLAY_TYPE_GALLERY
|| pNormalView->nLaunchingType == VIDEO_PLAY_TYPE_MYFILE) {
- char *szFolder =
- vp_play_util_get_folder_from_path(pNormalView->szMediaURL);
- vp_media_contents_get_video_items_to_folder
- (VIDEO_SORT_BY_DATE_MOST_RECENT, szFolder,
- &(pNormalView->pMediaItemList));
- VP_FREE(szFolder);
+ if(pPlayView->nListType == VIDEO_PLAY_LIST_TYPE_FOLDER) {
+ char *szFolder = vp_play_util_get_folder_from_path(pNormalView->szMediaURL);
+ vp_media_contents_get_video_items_to_folder(VIDEO_SORT_BY_GALLERY_ORDER, szFolder, &(pNormalView->pMediaItemList));
+ VP_FREE(szFolder);
+ } else if (pPlayView->nListType == VIDEO_PLAY_LIST_TYPE_FAVOURITE) {
+ vp_media_contents_get_gallery_favourite_items(&(pNormalView->pMediaItemList));
+ }
+ else {
+ vp_media_contents_get_video_items(VIDEO_SORT_BY_GALLERY_ORDER, &(pNormalView->pMediaItemList));
+ // Gallery reverse the list after getting list from db.
+ // so keep in sync with gallery we have to reverse the list.
+ pNormalView->pMediaItemList = g_list_reverse(pNormalView->pMediaItemList);
+ }
} else if (pNormalView->nLaunchingType == VIDEO_PLAY_TYPE_MULTI_PATH) {
} else {
if (pPlayView->nListType == VIDEO_PLAY_LIST_TYPE_FOLDER) {
- char *szFolder =
- vp_play_util_get_folder_from_path(pNormalView->szMediaURL);
- vp_media_contents_get_video_items_to_folder(nType, szFolder,
- &(pNormalView->
- pMediaItemList));
+ char *szFolder = vp_play_util_get_folder_from_path(pNormalView->szMediaURL);
+ vp_media_contents_get_video_items_to_folder(nType, szFolder, &(pNormalView->pMediaItemList));
VP_FREE(szFolder);
} else {
- vp_media_contents_get_video_items(nType,
- &(pNormalView->
- pMediaItemList));
+ vp_media_contents_get_video_items(nType, &(pNormalView->pMediaItemList));
}
}
#ifdef _PERF_TEST_
return;
}
g_pMainViewHandle->nCurrentViewType = type;
+
+ // "preference/org.tizen.videos/view_as_type" is also defined in
+ // mp-video-list-sort-ctrl.h as PREF_MP_VIDEO_VIEW_AS_TYPE_KEY
+ // but sort control is not used anymore
+ preference_set_int("preference/org.tizen.videos/view_as_type", type);
}
int mp_list_view_view_type_get()
void mp_sort_ctrl_set_sort_state(MpListSortType nListSortType)
{
if (!g_pSortCtrlHandle) {
- VideoLogError("");
+ VideoLogError("g_pSortCtrlHandle is invalid");
return;
}
- if (MP_LIST_SORT_BY_NONE >= nListSortType
- || nListSortType >= MP_LIST_SORT_BY_MAX) {
+ if (MP_LIST_SORT_BY_NONE >= nListSortType || nListSortType >= MP_LIST_SORT_BY_MAX) {
VideoLogWarning("[WARNING] Value of sort type is not matched.");
nListSortType = MP_LIST_SORT_BY_RECENTLY_ADDED;
}
g_pSortCtrlHandle->nCurrListSortType = nListSortType;
- int nRet =
- preference_set_int(PREF_VP_VIDEOS_SORT_TYPE,
- g_pSortCtrlHandle->nCurrListSortType);
+ int nRet = preference_set_int(PREF_VP_VIDEOS_SORT_TYPE, g_pSortCtrlHandle->nCurrListSortType);
if (nRet) {
VideoLogWarning("[WARNING] Fail to set value about sort type.");
}
int nValue = MP_LIST_SORT_BY_NONE;
if (0 != preference_get_int(PREF_VP_VIDEOS_SORT_TYPE, &nValue)) {
- VideoLogInfo
- ("Setting normal list type because of defending wrong value.:%d",
- nValue);
- mp_sort_ctrl_set_sort_state(MP_LIST_SORT_BY_RECENTLY_ADDED);
+ VideoLogInfo("Setting normal list type because of defending wrong value.:%d", nValue);
+ preference_set_int(PREF_VP_VIDEOS_SORT_TYPE, MP_LIST_SORT_BY_RECENTLY_ADDED);
return MP_LIST_SORT_BY_RECENTLY_ADDED;
}
if (nValue <= MP_LIST_SORT_BY_NONE || nValue >= MP_LIST_SORT_BY_MAX) {
- mp_sort_ctrl_set_sort_state(MP_LIST_SORT_BY_RECENTLY_ADDED);
+ preference_set_int(PREF_VP_VIDEOS_SORT_TYPE, MP_LIST_SORT_BY_RECENTLY_ADDED);
return MP_LIST_SORT_BY_RECENTLY_ADDED;
}
__VpServiceParserGetSortType(pAppSvcHandle);
pReceiveData->eListType =
__VpServiceParserGetListType(pAppSvcHandle);
- } else if (pReceiveData->eLaunchType == VP_LAUNCH_TYPE_LIST) {
- pReceiveData->eListType =
- __VpServiceParserGetListType(pAppSvcHandle);
+ } else if (pReceiveData->eLaunchType == VP_LAUNCH_TYPE_LIST || pReceiveData->eLaunchType == VP_LAUNCH_TYPE_IMAGE_VIEWER) {
+ pReceiveData->eListType = __VpServiceParserGetListType(pAppSvcHandle);
} else {
pReceiveData->eSortType = VP_VIDEO_SORT_TYPE_BY_NONE;
pReceiveData->eListType = VP_VIDEO_PLAY_LIST_TYPE_NONE;
if (pPlayType == NULL) {
VideoLogInfo("pPlayType == NULL!!!");
- pPlayType = VP_VIDEO_PLAY_LIST_TYPE_NONE;
+ ePlayType = VP_VIDEO_PLAY_LIST_TYPE_NONE;
goto RESULT_RETURN;
}
VP_VIDEO_PLAY_LIST_TYPE_FOLDER) {
vp_play_view_set_list_mode(pAppData->pPlayView,
VIDEO_PLAY_LIST_TYPE_FOLDER);
+ } else if(pAppData->pServiceData->eListType == VP_VIDEO_PLAY_LIST_TYPE_FAVORITE) {
+ vp_play_view_set_list_mode(pAppData->pPlayView, VIDEO_PLAY_LIST_TYPE_FAVOURITE);
} else {
vp_play_view_set_list_mode(pAppData->pPlayView,
VIDEO_PLAY_LIST_TYPE_ALL);