summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinkyu Kang <mk7.kang@samsung.com>2015-07-22 15:06:21 +0900
committerMinkyu Kang <mk7.kang@samsung.com>2015-07-22 15:06:21 +0900
commite9f04f45f11d172c02fc821c56c4758a5cf77db3 (patch)
tree7de817acd4fb32bc8a4cb8c6da4a5ac8f29e3663
parent3f0651d7a14d6f8d6e8972208284a0acb7eb00e6 (diff)
downloadair_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.h4
-rw-r--r--src/view/base.c2
-rw-r--r--src/view/mplayer.c29
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)