diff options
author | Minkyu Kang <mk7.kang@samsung.com> | 2015-07-22 15:06:21 +0900 |
---|---|---|
committer | Minkyu Kang <mk7.kang@samsung.com> | 2015-07-22 15:06:21 +0900 |
commit | e9f04f45f11d172c02fc821c56c4758a5cf77db3 (patch) | |
tree | 7de817acd4fb32bc8a4cb8c6da4a5ac8f29e3663 | |
parent | 3f0651d7a14d6f8d6e8972208284a0acb7eb00e6 (diff) | |
download | air_mediahub-e9f04f45f11d172c02fc821c56c4758a5cf77db3.tar.gz air_mediahub-e9f04f45f11d172c02fc821c56c4758a5cf77db3.tar.bz2 air_mediahub-e9f04f45f11d172c02fc821c56c4758a5cf77db3.zip |
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 <mk7.kang@samsung.com>
-rw-r--r-- | include/view.h | 4 | ||||
-rw-r--r-- | src/view/base.c | 2 | ||||
-rw-r--r-- | src/view/mplayer.c | 29 |
3 files changed, 29 insertions, 6 deletions
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) |