summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/hosted/android/button-android.c32
-rw-r--r--firmware/target/hosted/android/powermgmt-android.c24
-rw-r--r--firmware/target/hosted/android/telephony-android.c16
3 files changed, 37 insertions, 35 deletions
diff --git a/firmware/target/hosted/android/button-android.c b/firmware/target/hosted/android/button-android.c
index dfc5bd0fb3..c913a3d7f7 100644
--- a/firmware/target/hosted/android/button-android.c
+++ b/firmware/target/hosted/android/button-android.c
@@ -34,7 +34,8 @@ extern JNIEnv *env_ptr;
34extern jclass RockboxService_class; 34extern jclass RockboxService_class;
35extern jobject RockboxService_instance; 35extern jobject RockboxService_instance;
36 36
37static jfieldID _headphone_state; 37static jobject HeadphoneMonitor_instance;
38static jfieldID headphone_state;
38static int last_y, last_x; 39static int last_y, last_x;
39static int last_btns; 40static int last_btns;
40 41
@@ -114,20 +115,18 @@ Java_org_rockbox_RockboxFramebuffer_buttonHandler(JNIEnv*env, jclass class,
114 115
115void button_init_device(void) 116void button_init_device(void)
116{ 117{
117 jmethodID initHeadphoneMonitor = (*env_ptr)->GetMethodID(env_ptr, 118 JNIEnv e = *env_ptr;
118 RockboxService_class, 119 jclass class = e->FindClass(env_ptr, "org/rockbox/monitors/HeadphoneMonitor");
119 "initHeadphoneMonitor", 120 jmethodID constructor = e->GetMethodID(env_ptr, class,
120 "()V"); 121 "<init>",
121 /* start the monitor */ 122 "(Landroid/content/Context;)V");
122 (*env_ptr)->CallVoidMethod(env_ptr, 123 HeadphoneMonitor_instance = e->NewObject(env_ptr, class,
123 RockboxService_instance, 124 constructor,
124 initHeadphoneMonitor); 125 RockboxService_instance);
125 126 /* cache the battery level field id */
126 /* cache the headphone state field id */ 127 headphone_state = (*env_ptr)->GetFieldID(env_ptr,
127 _headphone_state = (*env_ptr)->GetFieldID(env_ptr, 128 class,
128 RockboxService_class, 129 "mHpState", "I");
129 "headphone_state",
130 "I");
131} 130}
132 131
133int button_read_device(int *data) 132int button_read_device(int *data)
@@ -150,7 +149,8 @@ int button_read_device(int *data)
150/* Tell if anything is in the jack. */ 149/* Tell if anything is in the jack. */
151bool headphones_inserted(void) 150bool headphones_inserted(void)
152{ 151{
153 int state = (*env_ptr)->GetIntField(env_ptr, RockboxService_instance, _headphone_state); 152 int state = (*env_ptr)->GetIntField(env_ptr, HeadphoneMonitor_instance,
153 headphone_state);
154 /* 0 is disconnected, 1 and 2 are connected */ 154 /* 0 is disconnected, 1 and 2 are connected */
155 return (state == 0) ? false : true; 155 return (state == 0) ? false : true;
156} 156}
diff --git a/firmware/target/hosted/android/powermgmt-android.c b/firmware/target/hosted/android/powermgmt-android.c
index d23fece39a..dcbd7a6214 100644
--- a/firmware/target/hosted/android/powermgmt-android.c
+++ b/firmware/target/hosted/android/powermgmt-android.c
@@ -29,28 +29,28 @@ extern jclass RockboxService_class;
29extern jobject RockboxService_instance; 29extern jobject RockboxService_instance;
30 30
31static jfieldID _battery_level; 31static jfieldID _battery_level;
32static jobject BatteryMonitor_instance;
32 33
33void powermgmt_init_target(void) 34void powermgmt_init_target(void)
34{ 35{
35 jmethodID initBatteryMonitor = (*env_ptr)->GetMethodID(env_ptr, 36 JNIEnv e = *env_ptr;
36 RockboxService_class, 37 jclass class = e->FindClass(env_ptr, "org/rockbox/monitors/BatteryMonitor");
37 "initBatteryMonitor", 38 jmethodID constructor = e->GetMethodID(env_ptr, class,
38 "()V"); 39 "<init>",
39 /* start the monitor */ 40 "(Landroid/content/Context;)V");
40 (*env_ptr)->CallVoidMethod(env_ptr, 41 BatteryMonitor_instance = e->NewObject(env_ptr, class,
41 RockboxService_instance, 42 constructor,
42 initBatteryMonitor); 43 RockboxService_instance);
43 44
44 /* cache the battery level field id */ 45 /* cache the battery level field id */
45 _battery_level = (*env_ptr)->GetFieldID(env_ptr, 46 _battery_level = (*env_ptr)->GetFieldID(env_ptr,
46 RockboxService_class, 47 class,
47 "battery_level", 48 "mBattLevel", "I");
48 "I");
49} 49}
50 50
51int battery_level(void) 51int battery_level(void)
52{ 52{
53 return (*env_ptr)->GetIntField(env_ptr, RockboxService_instance, _battery_level); 53 return (*env_ptr)->GetIntField(env_ptr, BatteryMonitor_instance, _battery_level);
54} 54}
55 55
56int battery_time(void) 56int battery_time(void)
diff --git a/firmware/target/hosted/android/telephony-android.c b/firmware/target/hosted/android/telephony-android.c
index 64ad436ca7..df89a56e14 100644
--- a/firmware/target/hosted/android/telephony-android.c
+++ b/firmware/target/hosted/android/telephony-android.c
@@ -30,15 +30,17 @@ extern jobject RockboxService_instance;
30void telephony_init_device(void) 30void telephony_init_device(void)
31{ 31{
32 JNIEnv e = *env_ptr; 32 JNIEnv e = *env_ptr;
33 jclass class = e->FindClass(env_ptr, "org/rockbox/RockboxTelephony"); 33 jclass class = e->FindClass(env_ptr, "org/rockbox/monitors/TelephonyMonitor");
34 jmethodID constructor = e->GetMethodID(env_ptr, class, "<init>", "(Landroid/content/Context;)V"); 34 jmethodID constructor = e->GetMethodID(env_ptr, class,
35 35 "<init>",
36 e->NewObject(env_ptr, class, constructor, RockboxService_instance); 36 "(Landroid/content/Context;)V");
37 e->NewObject(env_ptr, class,
38 constructor,
39 RockboxService_instance);
37} 40}
38 41
39
40JNIEXPORT void JNICALL 42JNIEXPORT void JNICALL
41Java_org_rockbox_RockboxTelephony_postCallIncoming(JNIEnv *env, jobject this) 43Java_org_rockbox_monitors_TelephonyMonitor_postCallIncoming(JNIEnv *env, jobject this)
42{ 44{
43 (void)env; 45 (void)env;
44 (void)this; 46 (void)this;
@@ -46,7 +48,7 @@ Java_org_rockbox_RockboxTelephony_postCallIncoming(JNIEnv *env, jobject this)
46} 48}
47 49
48JNIEXPORT void JNICALL 50JNIEXPORT void JNICALL
49Java_org_rockbox_RockboxTelephony_postCallHungUp(JNIEnv *env, jobject this) 51Java_org_rockbox_monitors_TelephonyMonitor_postCallHungUp(JNIEnv *env, jobject this)
50{ 52{
51 (void)env; 53 (void)env;
52 (void)this; 54 (void)this;