update the app media info after adding item to recent 02/44602/3
authorMinkyu Kang <mk7.kang@samsung.com>
Thu, 23 Jul 2015 12:34:41 +0000 (21:34 +0900)
committerMinkyu Kang <mk7.kang@samsung.com>
Fri, 24 Jul 2015 04:49:02 +0000 (13:49 +0900)
Change-Id: I9b3b5ed1fc93c456343bc1cbf23ec7b167a7f1af
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
src/view/mplayer.c
src/view/viewer.c

index 5cb99ef..a548f46 100644 (file)
@@ -83,6 +83,28 @@ static struct _btn_info btn_player[] = {
        },
 };
 
+static void _add_to_recent(struct _priv *priv)
+{
+       app_media *am;
+       app_media_info *mi;
+
+       am = eina_list_nth(priv->playlist.list, priv->playlist.cur);
+       if (!am) {
+               _ERR("failed to get app_media");
+               return;
+       }
+
+       mi = app_media_get_info(am);
+       if (!mi) {
+               _ERR("failed to getting media info");
+               return;
+       }
+
+       app_contents_recent_add(CONTENTS_MEDIA, mi->media_id);
+
+       app_media_update(am);
+}
+
 static void _draw_playlist(struct _priv *priv)
 {
        struct _list_data *ld;
@@ -158,12 +180,12 @@ static void _update_info(struct _priv *priv, app_media_info *mi)
        /* update progressbar */
        progressbar_reset(priv->progress, 0, mi->audio->duration);
 
-       /* 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);
+
+       /* update history */
+       _add_to_recent(priv);
 }
 
 static void _mplayer_show(struct _priv *priv)
@@ -177,10 +199,10 @@ static void _mplayer_show(struct _priv *priv)
                return;
        }
 
-       _update_info(priv, mi);
-
-       if (!priv->bar_show)
+       if (!priv->bar_show) {
+               _update_info(priv, mi);
                return;
+       }
 
        ctl = priv->ctl;
        ctl->ops->show(ctl->handle);
@@ -189,6 +211,8 @@ static void _mplayer_show(struct _priv *priv)
        _draw_music_info(priv, mi);
        _draw_progressbar(priv, mi);
        _draw_playlist(priv);
+
+       _update_info(priv, mi);
 }
 
 static void _mplayer_hide(struct _priv *priv)
index 9f78195..2948ec7 100644 (file)
@@ -161,6 +161,28 @@ static struct _viewer_info viewer_info[] = {
        },
 };
 
+static void _add_to_recent(struct _priv *priv)
+{
+       app_media *am;
+       app_media_info *mi;
+
+       am = eina_list_nth(priv->playlist.list, priv->playlist.cur);
+       if (!am) {
+               _ERR("failed to get app_media");
+               return;
+       }
+
+       mi = app_media_get_info(am);
+       if (!mi) {
+               _ERR("failed to getting media info");
+               return;
+       }
+
+       app_contents_recent_add(CONTENTS_MEDIA, mi->media_id);
+
+       app_media_update(am);
+}
+
 /*
  * NOTE: Workaround
  * we assumed that if video content have the copyright then it's a movie.
@@ -257,6 +279,8 @@ static void _image_loaded_detail(void *data, Evas_Object *obj, void *ev)
        priv = data;
 
        priv->photo_pre = NULL;
+
+       _add_to_recent(priv);
 }
 
 static void _draw_contents(struct _priv *priv, int id, app_media_info *mi)
@@ -404,8 +428,10 @@ static void _set_played_position(struct _priv *priv, int position)
        }
 
        r = video_meta_update_to_db(video);
-       if (r != MEDIA_CONTENT_ERROR_NONE)
+       if (r != MEDIA_CONTENT_ERROR_NONE) {
                _ERR("failed to update db");
+               return;
+       }
 
        app_media_update(am);
 }
@@ -468,8 +494,6 @@ static bool _viewer_show(struct _priv *priv)
 
        _draw_contents(priv, id, mi);
 
-       app_contents_recent_add(CONTENTS_MEDIA, mi->media_id);
-
        return true;
 }
 
@@ -684,6 +708,8 @@ static void _player_play(struct _priv *priv)
                playermgr_play(priv->player, mi->file_path,
                                mi->video->position);
 
+               _add_to_recent(priv);
+
                break;
        default:
                _ERR("player was not created");