#include <app_contents.h>
#include <glib.h>
#include <pkgmgr-info.h>
-#include <tv_service_proxy_channel_info.h>
-#include <tv_service_proxy_epg.h>
#include <media_content.h>
#include <app_media.h>
#include <app_define.h>
pkgmgrinfo_appinfo_destroy_appinfo(handle);
}
-static void _get_program(int service_id, char *program, int len)
-{
- TvServiceEpg epg_svc;
- TvServiceEpgEventData epg_data;
- int r;
-
- r = tv_service_epg_create(&epg_svc);
- if (r != TVS_ERROR_OK)
- return;
-
- r = tv_service_epg_get_cache_current_program(epg_svc, service_id,
- &epg_data);
- if (r != TVS_ERROR_OK) {
- _ERR("failed to get epg data: %d", service_id);
- tv_service_epg_destroy(epg_svc);
- return;
- }
-
- snprintf(program, len, "%s", epg_data.title_text);
-
- tv_service_epg_destroy(epg_svc);
-}
-
-static void _channel_list_foreach(gpointer data, gpointer user_data)
-{
- struct recent_data *rdata;
- struct datamgr_item *di;
- struct thumbnail_data *thumbnail;
- struct datamgr *dm;
- TvServiceChannel channel;
- int r;
- char buf[BUF_TITLE_MAX];
- char program[BUF_TITLE_MAX];
-
- if (!data || !user_data) {
- _ERR("Invalid argument");
- return;
- }
-
- rdata = data;
- dm = user_data;
-
- r = tv_service_get_channel(atoi(rdata->id), &channel);
- if (r != TVS_ERROR_OK) {
- _ERR("failed to get channel");
- return;
- }
-
- if (channel.minor > 0)
- snprintf(buf, sizeof(buf), "%ld-%ld %s", channel.major,
- channel.minor, channel.program_name);
- else
- snprintf(buf, sizeof(buf), "%ld %s", channel.major,
- channel.program_name);
-
- _get_program(atoi(rdata->id), program, sizeof(program));
-
- di = _new_datamgr_item(buf, program, APP_ID_LIVETV,
- PARAM_SERVICE_ID, rdata->id, NULL,
- IMAGE_RECENT_ICON_CHANNEL, 1, rdata->time);
- if (di) {
- thumbnail = calloc(1, sizeof(*thumbnail));
- if (thumbnail) {
- thumbnail->file = strdup(IMAGE_RECENT_THUMB_CHANNEL);
- thumbnail->type = THUMBNAIL_FILE;
- di->thumbnail = thumbnail;
- }
- dm->list = eina_list_append(dm->list, di);
- }
-}
-
static void _set_up_string(char *str)
{
while (*str) {
if (!_load_recent(dm, CONTENTS_APP, -1, _app_list_foreach))
_ERR("failed to load recent app contents");
- if (!_load_recent(dm, CONTENTS_CHANNEL, 1, _channel_list_foreach))
- _ERR("failed to load recent channel contents");
-
if (!_load_recent(dm, CONTENTS_GALLERY, 1, _gallery_list_foreach))
_ERR("failed to load recent gallery contents");
_unload_recent(dm);
media_content_disconnect();
- tv_service_channel_info_destroy();
}
static bool _init(struct datamgr *dm)
return false;
}
- r = tv_service_channel_info_create();
- if (r != TVS_ERROR_OK) {
- _ERR("failed to create tv service");
- return false;
- }
-
r = media_content_connect();
if (r != MEDIA_CONTENT_ERROR_NONE) {
- tv_service_channel_info_destroy();
_ERR("failed to connect media content");
return false;
}