diff options
Diffstat (limited to 'firmware/target/hosted')
-rw-r--r-- | firmware/target/hosted/android/button-android.c | 32 | ||||
-rw-r--r-- | firmware/target/hosted/android/powermgmt-android.c | 24 | ||||
-rw-r--r-- | firmware/target/hosted/android/telephony-android.c | 16 |
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; | |||
34 | extern jclass RockboxService_class; | 34 | extern jclass RockboxService_class; |
35 | extern jobject RockboxService_instance; | 35 | extern jobject RockboxService_instance; |
36 | 36 | ||
37 | static jfieldID _headphone_state; | 37 | static jobject HeadphoneMonitor_instance; |
38 | static jfieldID headphone_state; | ||
38 | static int last_y, last_x; | 39 | static int last_y, last_x; |
39 | static int last_btns; | 40 | static int last_btns; |
40 | 41 | ||
@@ -114,20 +115,18 @@ Java_org_rockbox_RockboxFramebuffer_buttonHandler(JNIEnv*env, jclass class, | |||
114 | 115 | ||
115 | void button_init_device(void) | 116 | void 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 | ||
133 | int button_read_device(int *data) | 132 | int 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. */ |
151 | bool headphones_inserted(void) | 150 | bool 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; | |||
29 | extern jobject RockboxService_instance; | 29 | extern jobject RockboxService_instance; |
30 | 30 | ||
31 | static jfieldID _battery_level; | 31 | static jfieldID _battery_level; |
32 | static jobject BatteryMonitor_instance; | ||
32 | 33 | ||
33 | void powermgmt_init_target(void) | 34 | void 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 | ||
51 | int battery_level(void) | 51 | int 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 | ||
56 | int battery_time(void) | 56 | int 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; | |||
30 | void telephony_init_device(void) | 30 | void 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 | |||
40 | JNIEXPORT void JNICALL | 42 | JNIEXPORT void JNICALL |
41 | Java_org_rockbox_RockboxTelephony_postCallIncoming(JNIEnv *env, jobject this) | 43 | Java_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 | ||
48 | JNIEXPORT void JNICALL | 50 | JNIEXPORT void JNICALL |
49 | Java_org_rockbox_RockboxTelephony_postCallHungUp(JNIEnv *env, jobject this) | 51 | Java_org_rockbox_monitors_TelephonyMonitor_postCallHungUp(JNIEnv *env, jobject this) |
50 | { | 52 | { |
51 | (void)env; | 53 | (void)env; |
52 | (void)this; | 54 | (void)this; |