#include <Elementary.h>
#include <media_content.h>
#include <app_debug.h>
+#include <app_contents.h>
#include <app_media.h>
#include <gridmgr.h>
#include <layoutmgr.h>
_update_content_info(priv);
}
+static app_media *_get_recent_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_MOVIE, 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_recent_item(struct _priv *priv, int index)
{
Eina_List *list;
app_media_info *info;
list = mediadata_get_medialist(priv->md);
- am = eina_list_nth(list, index);
+
+ if (index >= 0)
+ am = eina_list_nth(list, index);
+ else
+ am = _get_recent_item(list);
+
if (!am) {
_ERR("failed to get app media");
return;
switch (update_type) {
case UPDATE_CONTENT:
_update_content_list(priv);
+ _update_recent_item(priv, -1);
break;
case UPDATE_FOCUS:
if (!vdata) {
_update_content_info(priv);
}
+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, int index)
{
Eina_List *list;
app_media_info *info;
list = mediadata_get_medialist(priv->md);
- am = eina_list_nth(list, index);
+ if (index >= 0)
+ am = eina_list_nth(list, index);
+ else
+ am = _get_playing_item(list);
+
if (!am) {
_ERR("failed to get app media");
return;
switch (update_type) {
case UPDATE_CONTENT:
_update_content_list(priv);
+ _update_playing_item(priv, -1);
break;
case UPDATE_PLAY_INFO:
if (!vdata) {