diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2010-11-12 21:04:13 +0000 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2010-11-12 21:04:13 +0000 |
| commit | 0cf2cc1607a0844e906042173815451cd9c2ff58 (patch) | |
| tree | 77c555919d5c08f9a54f2b28cababe1d2d207f7e /firmware/target/hosted/android/kernel-android.c | |
| parent | bb56bc4ba08bf6c6458a289ef4918dfaea30b238 (diff) | |
| download | rockbox-0cf2cc1607a0844e906042173815451cd9c2ff58.zip rockbox-0cf2cc1607a0844e906042173815451cd9c2ff58.tar.gz rockbox-0cf2cc1607a0844e906042173815451cd9c2ff58.tar.bz2 rockbox-0cf2cc1607a0844e906042173815451cd9c2ff58.tar.xz | |
Android: Change how detecting call state (introduced in r27746) works, from polling to event based.
* For some reason, the polling methid is much more inefficient than I thought. According to htop it caused up to 15% CPU load on some phones (e.g. Galaxy S).
The event based causes no CPU load.
Rockbox' idle CPU load is now back to 0%, while it was previously dominated by polling the call state.
* Also stop on outgoing calls (no need to explicitely pause for making a call anymore).
* Factor out the detection mechanism to separate files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28564 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/hosted/android/kernel-android.c')
| -rw-r--r-- | firmware/target/hosted/android/kernel-android.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/firmware/target/hosted/android/kernel-android.c b/firmware/target/hosted/android/kernel-android.c index 636c849..c0d927d 100644 --- a/firmware/target/hosted/android/kernel-android.c +++ b/firmware/target/hosted/android/kernel-android.c @@ -52,22 +52,6 @@ Java_org_rockbox_RockboxTimer_timerTask(JNIEnv *env, jobject this) call_tick_tasks(); } -JNIEXPORT void JNICALL -Java_org_rockbox_RockboxTimer_postCallIncoming(JNIEnv *env, jobject this) -{ - (void)env; - (void)this; - queue_broadcast(SYS_CALL_INCOMING, 0); -} - -JNIEXPORT void JNICALL -Java_org_rockbox_RockboxTimer_postCallHungUp(JNIEnv *env, jobject this) -{ - (void)env; - (void)this; - queue_broadcast(SYS_CALL_HUNG_UP, 0); -} - void tick_start(unsigned int interval_in_ms) { JNIEnv e = *env_ptr; @@ -76,7 +60,7 @@ void tick_start(unsigned int interval_in_ms) jmethodID constructor = e->GetMethodID(env_ptr, RockboxTimer_class, "<init>", - "(Lorg/rockbox/RockboxService;J)V"); + "(Landroid/content/Context;J)V"); /* the constructor will do the tick_start */ RockboxTimer_instance = e->NewObject(env_ptr, RockboxTimer_class, |