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:
parent
f1184f963a
commit
ca4439ff65
5 changed files with 79 additions and 7 deletions
19
apps/misc.c
19
apps/misc.c
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue