diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2011-03-11 19:23:00 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2011-03-11 19:23:00 +0000 |
commit | c2ee32b22aa50101fc092f610927cfbdd9a2d8f1 (patch) | |
tree | 9104a62064dda0643c9604c63dee83a74c489d91 /apps/hosted | |
parent | 66f2a08f8a37933b9eff79ceabdc2cb42706e48c (diff) | |
download | rockbox-c2ee32b22aa50101fc092f610927cfbdd9a2d8f1.tar.gz rockbox-c2ee32b22aa50101fc092f610927cfbdd9a2d8f1.zip |
Partly revert "Android: use NewGlobalRef for references that are used globally"
The added complexity wasn't needed for most subsystems, as main() never returns
so local references can't be freed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29570 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/hosted')
-rw-r--r-- | apps/hosted/android/keyboard.c | 11 | ||||
-rw-r--r-- | apps/hosted/android/notification.c | 7 | ||||
-rw-r--r-- | apps/hosted/android/yesno.c | 17 |
3 files changed, 15 insertions, 20 deletions
diff --git a/apps/hosted/android/keyboard.c b/apps/hosted/android/keyboard.c index 460011c4f7..f9bbcbb261 100644 --- a/apps/hosted/android/keyboard.c +++ b/apps/hosted/android/keyboard.c | |||
@@ -61,17 +61,14 @@ static void kdb_init(void) | |||
61 | { | 61 | { |
62 | semaphore_init(&kbd_wakeup, 1, 0); | 62 | semaphore_init(&kbd_wakeup, 1, 0); |
63 | /* get the class and its constructor */ | 63 | /* get the class and its constructor */ |
64 | jclass kbInput_class = e->FindClass(env_ptr, | 64 | RockboxKeyboardInput_class = e->FindClass(env_ptr, |
65 | "org/rockbox/RockboxKeyboardInput"); | 65 | "org/rockbox/RockboxKeyboardInput"); |
66 | RockboxKeyboardInput_class = e->NewGlobalRef(env_ptr, kbInput_class); | ||
67 | jmethodID constructor = e->GetMethodID(env_ptr, | 66 | jmethodID constructor = e->GetMethodID(env_ptr, |
68 | RockboxKeyboardInput_class, | 67 | RockboxKeyboardInput_class, |
69 | "<init>", "()V"); | 68 | "<init>", "()V"); |
70 | jobject kbInput_instance = e->NewObject(env_ptr, | 69 | RockboxKeyboardInput_instance = e->NewObject(env_ptr, |
71 | RockboxKeyboardInput_class, | 70 | RockboxKeyboardInput_class, |
72 | constructor); | 71 | constructor); |
73 | RockboxKeyboardInput_instance = e->NewGlobalRef(env_ptr, | ||
74 | kbInput_instance); | ||
75 | kbd_inputfunc = e->GetMethodID(env_ptr, RockboxKeyboardInput_class, | 72 | kbd_inputfunc = e->GetMethodID(env_ptr, RockboxKeyboardInput_class, |
76 | "kbd_input", | 73 | "kbd_input", |
77 | "(Ljava/lang/String;" | 74 | "(Ljava/lang/String;" |
diff --git a/apps/hosted/android/notification.c b/apps/hosted/android/notification.c index 1c89c51357..e7c425b7c1 100644 --- a/apps/hosted/android/notification.c +++ b/apps/hosted/android/notification.c | |||
@@ -128,14 +128,13 @@ void notification_init(void) | |||
128 | JNIEnv e = *env_ptr; | 128 | JNIEnv e = *env_ptr; |
129 | jfieldID nNM = e->GetFieldID(env_ptr, RockboxService_class, | 129 | jfieldID nNM = e->GetFieldID(env_ptr, RockboxService_class, |
130 | "fg_runner", "Lorg/rockbox/Helper/RunForegroundManager;"); | 130 | "fg_runner", "Lorg/rockbox/Helper/RunForegroundManager;"); |
131 | jobject nMN_instance = e->GetObjectField(env_ptr, | 131 | NotificationManager_instance = e->GetObjectField(env_ptr, |
132 | RockboxService_instance, nNM); | 132 | RockboxService_instance, nNM); |
133 | if (nMN_instance == NULL) | 133 | if (NotificationManager_instance == NULL) |
134 | { | 134 | { |
135 | DEBUGF("Failed to get RunForegroundManager instance. Performance will be bad"); | 135 | DEBUGF("Failed to get RunForegroundManager instance. Performance will be bad"); |
136 | return; | 136 | return; |
137 | } | 137 | } |
138 | NotificationManager_instance = e->NewGlobalRef(env_ptr, nMN_instance); | ||
139 | 138 | ||
140 | jclass class = e->GetObjectClass(env_ptr, NotificationManager_instance); | 139 | jclass class = e->GetObjectClass(env_ptr, NotificationManager_instance); |
141 | updateNotification = e->GetMethodID(env_ptr, class, "updateNotification", | 140 | updateNotification = e->GetMethodID(env_ptr, class, "updateNotification", |
diff --git a/apps/hosted/android/yesno.c b/apps/hosted/android/yesno.c index de6ec99a3c..2e85ea2bc1 100644 --- a/apps/hosted/android/yesno.c +++ b/apps/hosted/android/yesno.c | |||
@@ -52,21 +52,20 @@ static void yesno_init(JNIEnv *env_ptr) | |||
52 | { | 52 | { |
53 | semaphore_init(&yesno_done, 1, 0); | 53 | semaphore_init(&yesno_done, 1, 0); |
54 | /* get the class and its constructor */ | 54 | /* get the class and its constructor */ |
55 | jclass yesno_class = e->FindClass(env_ptr, | 55 | jclass RockboxYesno_class = e->FindClass(env_ptr, |
56 | "org/rockbox/RockboxYesno"); | 56 | "org/rockbox/RockboxYesno"); |
57 | jmethodID constructor = e->GetMethodID(env_ptr, | 57 | jmethodID constructor = e->GetMethodID(env_ptr, |
58 | yesno_class, | 58 | RockboxYesno_class, |
59 | "<init>", "()V"); | 59 | "<init>", "()V"); |
60 | jobject yesno_instance = e->NewObject(env_ptr, | 60 | RockboxYesno_instance = e->NewObject(env_ptr, |
61 | yesno_class, | 61 | RockboxYesno_class, |
62 | constructor); | 62 | constructor); |
63 | RockboxYesno_instance = e->NewGlobalRef(env_ptr, yesno_instance); | 63 | yesno_func = e->GetMethodID(env_ptr, RockboxYesno_class, |
64 | yesno_func = e->GetMethodID(env_ptr, yesno_class, | ||
65 | "yesno_display", | 64 | "yesno_display", |
66 | "(Ljava/lang/String;" | 65 | "(Ljava/lang/String;" |
67 | "Ljava/lang/String;" | 66 | "Ljava/lang/String;" |
68 | "Ljava/lang/String;)V"); | 67 | "Ljava/lang/String;)V"); |
69 | yesno_is_usable = e->GetMethodID(env_ptr, yesno_class, | 68 | yesno_is_usable = e->GetMethodID(env_ptr, RockboxYesno_class, |
70 | "is_usable", "()Z"); | 69 | "is_usable", "()Z"); |
71 | } | 70 | } |
72 | /* need to get it every time incase the activity died/restarted */ | 71 | /* need to get it every time incase the activity died/restarted */ |