}
}
+static void _player_pause(struct _priv *priv)
+{
+ player_state_e state;
+ struct controller *ctl;
+
+ playermgr_get_state(priv->player, &state);
+
+ switch (state) {
+ case PLAYER_STATE_PLAYING:
+ progressbar_pause(priv->progress);
+ playermgr_pause(priv->player);
+ break;
+ case PLAYER_STATE_PAUSED:
+ case PLAYER_STATE_IDLE:
+ case PLAYER_STATE_READY:
+ break;
+ default:
+ _ERR("player was not created");
+ break;
+ }
+
+ ctl = priv->ctl;
+ ctl->ops->signal(ctl->handle, PLAY_BTN_LOC, SIG_SET_PLAY);
+}
+
static void _player_play(struct _priv *priv)
{
app_media_info *mi;
Evas_Event_Key_Down *ev)
{
struct _priv *priv;
+ bool r;
if (!data || !ev)
return;
priv = data;
if (!strcmp(ev->keyname, KEY_BACK) ||
- !strcmp(ev->keyname, KEY_BACK_REMOTE))
+ !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
_pop_view(priv);
+ } else if (!strcmp(ev->keyname, KEY_PLAY)) {
+ _player_play(priv);
+ } else if (!strcmp(ev->keyname, KEY_PAUSE)) {
+ _player_pause(priv);
+ } else if (!strcmp(ev->keyname, KEY_STOP)) {
+ _player_stop(priv);
+ } else if (!strcmp(ev->keyname, KEY_NEXT)) {
+ r = _mplayer_next(priv);
+ if (r)
+ _player_next(priv);
+ else
+ _player_stop(priv);
+ } else if (!strcmp(ev->keyname, KEY_PREVIOUS)) {
+ _mplayer_prev(priv);
+ _player_next(priv);
+ }
}
static void _list_set_focus(struct _priv *priv)