struct view_update_data *vdata;
struct _priv *priv;
struct datamgr *dmgr;
+ app_media_info *mi;
int mode;
if (!layout_data) {
break;
case UPDATE_CONTENT_ITEM:
listmgr_update_content_item(priv->listmgr);
- _update_recent_item(priv, NULL);
+
+ if (priv->recent_info) {
+ mi = app_media_get_info(priv->recent_info);
+ _update_recent_item(priv, mi->media_id);
+ }
break;
case UPDATE_FOCUS:
if (!data) {
_ERR("failed to update list area");
}
-static app_media *_get_playing_item(Eina_List *list)
-{
- GList *rlist;
- app_media *am;
- struct recent_data *rdata;
- int r;
-
- rlist = NULL;
- am = NULL;
- r = app_contents_get_recent_list(CONTENTS_MUSIC, 1, &rlist);
- if (r != APP_CONTENTS_ERROR_NONE) {
- _ERR("failed to get movie recent list");
- return NULL;
- }
-
- rdata = g_list_nth_data(rlist, 0);
- if (rdata && rdata->id)
- am = util_find_media_info(list, rdata->id);
-
- app_contents_free_recent_list(rlist);
-
- return am;
-}
-
static void _update_playing_item(struct _priv *priv, const char *id)
{
Eina_List *list;
app_media_info *info;
struct datamgr *dmgr;
- if (priv->status == E_PLAYER_STOP) {
+ if (!id) {
listmgr_update_play_info(priv->listmgr, NULL);
return;
}
list = dmgr->ops->get_list(dmgr->handle, E_LIST_MEDIA, NULL);
- if (id)
- am = util_find_media_info(list, id);
- else
- am = _get_playing_item(list);
-
+ am = util_find_media_info(list, id);
if (am) {
info = app_media_get_info(am);
if (!info)
{
struct view_update_data *vdata;
struct _priv *priv;
+ app_media_info *mi;
int mode;
if (!layout_data) {
break;
case UPDATE_CONTENT_ITEM:
listmgr_update_content_item(priv->listmgr);
- _update_playing_item(priv, NULL);
+
+ if (priv->playing_info) {
+ mi = app_media_get_info(priv->playing_info);
+ _update_playing_item(priv, mi->media_id);
+ }
break;
case UPDATE_PLAY_INFO:
if (!data) {
vdata = data;
priv->status = vdata->status;
- _update_playing_item(priv, NULL);
+
+ if (priv->status == E_PLAYER_STOP)
+ _update_playing_item(priv, NULL);
break;
case UPDATE_FOCUS:
listmgr_focus_play_info(priv->listmgr);
elm_object_signal_emit(priv->btn, SIG_SET_STATUS_STOP, SIG_SOURCE_SRC);
elm_object_disabled_set(priv->btn, EINA_TRUE);
+
+ priv->play_info = NULL;
}
static void _set_movie_play_info(struct _priv *priv, app_media_info *mi)
{
struct _priv *priv;
struct view_update_data *vdata;
+ app_media_info *mi;
if (!view_data) {
_ERR("failed to get view data");
break;
case UPDATE_PLAYER:
priv->status = vdata->status;
- _update_play_info(priv, NULL);
+
+ if (priv->play_info) {
+ mi = app_media_get_info(priv->play_info);
+ _update_play_info(priv, mi->media_id);
+ }
break;
default:
break;