From: Minkyu Kang Date: Wed, 22 Jul 2015 06:06:21 +0000 (+0900) Subject: add new update types X-Git-Tag: accepted/tizen/tv/20150728.070555~29^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9f04f45f11d172c02fc821c56c4758a5cf77db3;p=profile%2Ftv%2Fapps%2Fnative%2Fair_mediahub.git add new update types UPDATE_PLAY_INFO: for updating play info UPDATE_PLAYER: for updating player (stopping player) Change-Id: Ibd0193a589bac43e83b6d111f87798dcebe0a046 Signed-off-by: Minkyu Kang --- diff --git a/include/view.h b/include/view.h index 3fec5db..f37bf6c 100644 --- a/include/view.h +++ b/include/view.h @@ -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__ */ diff --git a/src/view/base.c b/src/view/base.c index 52e0ab8..27efa42 100644 --- a/src/view/base.c +++ b/src/view/base.c @@ -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) diff --git a/src/view/mplayer.c b/src/view/mplayer.c index a065194..fa151be 100644 --- a/src/view/mplayer.c +++ b/src/view/mplayer.c @@ -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)