diff options
Diffstat (limited to 'firmware/target/hosted/android/system-android.c')
-rw-r--r-- | firmware/target/hosted/android/system-android.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/firmware/target/hosted/android/system-android.c b/firmware/target/hosted/android/system-android.c index 66de4e0ebb..f9f0605b49 100644 --- a/firmware/target/hosted/android/system-android.c +++ b/firmware/target/hosted/android/system-android.c | |||
@@ -27,7 +27,7 @@ | |||
27 | 27 | ||
28 | 28 | ||
29 | /* global fields for use with various JNI calls */ | 29 | /* global fields for use with various JNI calls */ |
30 | JNIEnv *env_ptr; | 30 | JavaVM *vm_ptr; |
31 | jobject RockboxService_instance; | 31 | jobject RockboxService_instance; |
32 | jclass RockboxService_class; | 32 | jclass RockboxService_class; |
33 | 33 | ||
@@ -44,8 +44,11 @@ void system_reboot(void) { } | |||
44 | 44 | ||
45 | void power_off(void) | 45 | void power_off(void) |
46 | { | 46 | { |
47 | JNIEnv *env_ptr = getJavaEnvironment(); | ||
48 | |||
47 | lcd_deinit(); | 49 | lcd_deinit(); |
48 | pcm_deinit(); | 50 | pcm_deinit(); |
51 | |||
49 | (*env_ptr)->DeleteGlobalRef(env_ptr, RockboxService_class); | 52 | (*env_ptr)->DeleteGlobalRef(env_ptr, RockboxService_class); |
50 | } | 53 | } |
51 | 54 | ||
@@ -68,8 +71,8 @@ Java_org_rockbox_RockboxService_main(JNIEnv *env, jobject this) | |||
68 | 71 | ||
69 | volatile uintptr_t stack = 0; | 72 | volatile uintptr_t stack = 0; |
70 | stackbegin = stackend = (uintptr_t*) &stack; | 73 | stackbegin = stackend = (uintptr_t*) &stack; |
71 | env_ptr = env; | ||
72 | 74 | ||
75 | (*env)->GetJavaVM(env, &vm_ptr); | ||
73 | RockboxService_instance = (*env)->NewGlobalRef(env, this); | 76 | RockboxService_instance = (*env)->NewGlobalRef(env, this); |
74 | RockboxService_class = (*env)->NewGlobalRef(env, class); | 77 | RockboxService_class = (*env)->NewGlobalRef(env, class); |
75 | 78 | ||