viewer: show the thumbnail when finished playing video 37/43637/2
authorMinkyu Kang <mk7.kang@samsung.com>
Mon, 13 Jul 2015 01:34:40 +0000 (10:34 +0900)
committerMinkyu Kang <mk7.kang@samsung.com>
Mon, 13 Jul 2015 01:38:53 +0000 (10:38 +0900)
Change-Id: Ic5b79cd51c682739a0be579f331e8de4b42a78de
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
src/view/viewer.c

index 886ad6e..61745c1 100644 (file)
@@ -62,6 +62,7 @@ struct _viewer {
 struct _playlist {
        Eina_List *list;
        int cur;
+       int dir;
 };
 
 struct _priv {
@@ -425,7 +426,7 @@ static void _set_played_position(struct _priv *priv, int position)
                _ERR("failed to update db");
 }
 
-static bool _viewer_show(struct _priv *priv, int foc)
+static bool _viewer_show(struct _priv *priv)
 {
        struct _viewer_info *info;
        struct controller *ctl;
@@ -459,7 +460,7 @@ static bool _viewer_show(struct _priv *priv, int foc)
 
        ctl->ops->show(ctl->handle);
 
-       switch (foc) {
+       switch (priv->playlist.dir) {
        case DIR_PREV:
                loc = 0;
                break;
@@ -549,7 +550,9 @@ static bool _viewer_prev(struct _priv *priv)
        else
                priv->playlist.cur--;
 
-       r = _viewer_show(priv, DIR_PREV);
+       priv->playlist.dir = DIR_PREV;
+
+       r = _viewer_show(priv);
 
        return r;
 }
@@ -568,7 +571,9 @@ static bool _viewer_next(struct _priv *priv)
        else
                priv->playlist.cur++;
 
-       r = _viewer_show(priv, DIR_NEXT);
+       priv->playlist.dir = DIR_NEXT;
+
+       r = _viewer_show(priv);
 
        return r;
 }
@@ -727,11 +732,13 @@ static void _player_complete_cb(void *data)
 
        priv = data;
 
-       progressbar_stop(priv->progress);
        _set_played_position(priv, 0);
+       _player_stop(priv);
 
        if (priv->viewer.cur == VIEWER_MOVIE)
                _pop_view(priv);
+       else if (priv->viewer.cur == VIEWER_VIDEO)
+               _viewer_show(priv);
 }
 
 static void _player_set_position_cb(void *data)
@@ -892,6 +899,7 @@ static Evas_Object *_create(Evas_Object *win, void *data)
 
        priv->playlist.list = NULL;
        priv->playlist.cur = 0;
+       priv->playlist.dir = DIR_NONE;
 
        player = playermgr_create(win);
        if (!player) {
@@ -933,7 +941,7 @@ static void _show(void *view_data)
 
        media_content_connect();
 
-       _viewer_show(priv, DIR_NONE);
+       _viewer_show(priv);
 
        timeout_handler_enable(priv->timeout, true);
 
@@ -980,6 +988,7 @@ static void _update(void *view_data, int update_type, void *data)
 
        priv->playlist.list = vdata->list;
        priv->playlist.cur = vdata->index;
+       priv->playlist.dir = DIR_NONE;
 }
 
 static void _destroy(void *view_data)