1
0
Fork 0
forked from len0rd/rockbox

Android port: handle incoming calls.

Stop explicitely if a call comes in, and resume playback (if it was playing before the call) upon hang up.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27746 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Thomas Martitz 2010-08-07 21:30:22 +00:00
parent f1184f963a
commit ca4439ff65
5 changed files with 79 additions and 7 deletions

View file

@ -517,6 +517,9 @@ static void unplug_change(bool inserted)
long default_event_handler_ex(long event, void (*callback)(void *), void *parameter)
{
#if CONFIG_PLATFORM & PLATFORM_ANDROID
static bool resume = false;
#endif
switch(event)
{
case SYS_BATTERY_UPDATE:
@ -605,6 +608,22 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame
case SYS_IAP_HANDLEPKT:
iap_handlepkt();
return SYS_IAP_HANDLEPKT;
#endif
#if CONFIG_PLATFORM & PLATFORM_ANDROID
/* stop playback if we receive a call */
case SYS_CALL_INCOMING:
resume = (audio_status() & AUDIO_STATUS_PLAY) != 0;
list_stop_handler();
return SYS_CALL_INCOMING;
/* resume playback if needed */
case SYS_CALL_HUNG_UP:
if (resume && playlist_resume() != -1)
{
playlist_start(global_status.resume_index,
global_status.resume_offset);
}
resume = false;
return SYS_CALL_HUNG_UP;
#endif
}
return 0;