layoutmgr_update_layout(priv->lmgr,
g_menu_item[priv->current_layout].layout_id,
- UPDATE_FOCUS, (void *)&vdata->index);
+ update_type, (void *)&vdata->index);
}
static void _destroy(void *view_data)
return mi;
}
+static void _update_info(struct _priv *priv, app_media_info *mi)
+{
+ struct view_update_data vdata;
+
+ /* update history */
+ app_contents_recent_add(CONTENTS_MEDIA, mi->media_id);
+
+ /* update play info */
+ vdata.index = priv->playlist.cur;
+ viewmgr_update_view(VIEW_BASE, UPDATE_PLAY_INFO, &vdata);
+}
+
static void _mplayer_show(struct _priv *priv)
{
struct controller *ctl;
_draw_progressbar(priv, mi);
_draw_playlist(priv);
- app_contents_recent_add(CONTENTS_MEDIA, mi->media_id);
+ _update_info(priv, mi);
}
static void _mplayer_hide(struct _priv *priv)
priv = view_data;
vdata = data;
- priv->playlist.list = vdata->list;
- priv->playlist.cur = vdata->index;
+ switch (update_type) {
+ case UPDATE_CONTENT:
+ priv->playlist.list = vdata->list;
+ priv->playlist.cur = vdata->index;
- _add_playlist_item(priv);
+ _add_playlist_item(priv);
+ break;
+ case UPDATE_PLYAER:
+ _player_stop(priv);
+ break;
+ default:
+ break;
+ }
}
static void _destroy(void *view_data)