summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/android/system-android.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/hosted/android/system-android.c')
-rw-r--r--firmware/target/hosted/android/system-android.c7
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 */
30JNIEnv *env_ptr; 30JavaVM *vm_ptr;
31jobject RockboxService_instance; 31jobject RockboxService_instance;
32jclass RockboxService_class; 32jclass RockboxService_class;
33 33
@@ -44,8 +44,11 @@ void system_reboot(void) { }
44 44
45void power_off(void) 45void 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