summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/android/telephony-android.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/hosted/android/telephony-android.c')
-rw-r--r--firmware/target/hosted/android/telephony-android.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/firmware/target/hosted/android/telephony-android.c b/firmware/target/hosted/android/telephony-android.c
index df89a56e14..63f0f05e39 100644
--- a/firmware/target/hosted/android/telephony-android.c
+++ b/firmware/target/hosted/android/telephony-android.c
@@ -21,11 +21,15 @@
21 21
22 22
23#include <jni.h> 23#include <jni.h>
24#include "system.h"
24#include "kernel.h" 25#include "kernel.h"
25 26
26extern JNIEnv *env_ptr; 27extern JNIEnv *env_ptr;
27extern jobject RockboxService_instance; 28extern jobject RockboxService_instance;
28 29
30/* telephony_init_device() is currently called in system_init(). Thus, there is
31 * a small chance of the callbacks (and queue_broadcast) being called before
32 * the kernel is initialized (this happens after system_init(). */
29 33
30void telephony_init_device(void) 34void telephony_init_device(void)
31{ 35{
@@ -44,7 +48,8 @@ Java_org_rockbox_monitors_TelephonyMonitor_postCallIncoming(JNIEnv *env, jobject
44{ 48{
45 (void)env; 49 (void)env;
46 (void)this; 50 (void)this;
47 queue_broadcast(SYS_CALL_INCOMING, 0); 51 if (is_rockbox_ready())
52 queue_broadcast(SYS_CALL_INCOMING, 0);
48} 53}
49 54
50JNIEXPORT void JNICALL 55JNIEXPORT void JNICALL
@@ -52,5 +57,6 @@ Java_org_rockbox_monitors_TelephonyMonitor_postCallHungUp(JNIEnv *env, jobject t
52{ 57{
53 (void)env; 58 (void)env;
54 (void)this; 59 (void)this;
55 queue_broadcast(SYS_CALL_HUNG_UP, 0); 60 if (is_rockbox_ready())
61 queue_broadcast(SYS_CALL_HUNG_UP, 0);
56} 62}