movie: update recently watched item for UPDATE_BACK type 64/55464/1
authorJehun Lim <jehun.lim@samsung.com>
Thu, 24 Dec 2015 01:54:19 +0000 (10:54 +0900)
committerJehun Lim <jehun.lim@samsung.com>
Thu, 24 Dec 2015 01:54:19 +0000 (10:54 +0900)
Change-Id: I0aff6afff1bb8134093c6573d8c9a8e9d3193426
Signed-off-by: Jehun Lim <jehun.lim@samsung.com>
src/layout/movie.c
src/view/base.c
src/view/detail.c

index d242db9..2159412 100644 (file)
@@ -697,6 +697,14 @@ static void _update(void *layout_data, int update_type, void *data)
                listmgr_focus_play_info(priv->listmgr);
                break;
        case UPDATE_BACK:
+               if (!data) {
+                       _ERR("invalid argument");
+                       return;
+               }
+
+               vdata = data;
+
+               _update_recent_item(priv, vdata->id);
                listmgr_focus_content_list(priv->listmgr, NULL);
                break;
        case UPDATE_RECENT:
index f4e21d8..b44b498 100644 (file)
@@ -991,6 +991,7 @@ static void _update(void *view_data, int update_type, void *data)
 
        switch (update_type) {
        case UPDATE_FOCUS:
+       case UPDATE_BACK:
                if (!data)
                        goto err;
 
@@ -1012,7 +1013,6 @@ static void _update(void *view_data, int update_type, void *data)
                                update_type, vdata);
                break;
        case UPDATE_CONTENT_ITEM:
-       case UPDATE_BACK:
                layoutmgr_update_layout(priv->lmgr,
                                g_menu_item[priv->current_layout].layout_id,
                                update_type, NULL);
index d7d4839..836b528 100644 (file)
@@ -179,9 +179,20 @@ static void _update_view(struct _priv *priv)
        free(linfo);
 }
 
-static void _pop_view(void)
+static void _pop_view(struct _priv *priv)
 {
-       viewmgr_update_view(VIEW_BASE, UPDATE_BACK, NULL);
+       struct view_update_data vdata;
+       app_media_info *mi;
+
+       vdata.id = NULL;
+
+       if (view_info[priv->view_type].app_contents_type != CONTENTS_GALLERY) {
+               mi = app_media_get_info(priv->play_info);
+               vdata.id = mi->media_id;
+       }
+
+       viewmgr_update_view(VIEW_BASE, UPDATE_BACK, &vdata);
+
        viewmgr_pop_view();
 }
 
@@ -204,7 +215,7 @@ static void _key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
                        if (priv->depth > 0)
                                _update_view(priv);
                        else
-                               _pop_view();
+                               _pop_view(priv);
                }
 
                break;