add new update types 58/44458/1
authorMinkyu Kang <mk7.kang@samsung.com>
Wed, 22 Jul 2015 06:06:21 +0000 (15:06 +0900)
committerMinkyu Kang <mk7.kang@samsung.com>
Wed, 22 Jul 2015 06:06:21 +0000 (15:06 +0900)
UPDATE_PLAY_INFO: for updating play info
UPDATE_PLAYER: for updating player (stopping player)

Change-Id: Ibd0193a589bac43e83b6d111f87798dcebe0a046
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
include/view.h
src/view/base.c
src/view/mplayer.c

index 3fec5db..f37bf6c 100644 (file)
@@ -35,7 +35,9 @@ struct view_update_data {
 /* view update type */
 enum update_type {
        UPDATE_CONTENT = 0,
-       UPDATE_FOCUS
+       UPDATE_FOCUS,
+       UPDATE_PLAY_INFO,
+       UPDATE_PLYAER
 };
 
 #endif /* __AIR_MEDIAHUB_VIEW_H__ */
index 52e0ab8..27efa42 100644 (file)
@@ -304,7 +304,7 @@ static void _update(void *view_data, int update_type, void *data)
 
        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)
index a065194..fa151be 100644 (file)
@@ -141,6 +141,18 @@ static app_media_info *_get_current_media_info(struct _priv *priv)
        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;
@@ -163,7 +175,7 @@ static void _mplayer_show(struct _priv *priv)
        _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)
@@ -774,10 +786,19 @@ static void _update(void *view_data, int update_type, void *data)
        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)