lib/android: fix `Bundle::string` behavior on null strings from Java
authorAlexis Laferrière <alexis.laf@xymus.net>
Mon, 24 Aug 2015 17:29:54 +0000 (13:29 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Thu, 27 Aug 2015 01:20:54 +0000 (21:20 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/android/bundle/bundle.nit

index 82bea46..82acbec 100644 (file)
@@ -543,13 +543,15 @@ class Bundle
        # Returns `null` if none or if it's the wrong value type
        fun string(key: String): nullable String
        do
-               sys.jni_env.push_local_frame(1)
-               var return_value = native_bundle.get_string(key.to_java_string).to_s
-               sys.jni_env.pop_local_frame
+               sys.jni_env.push_local_frame(2)
 
-               if return_value == "" then return null
+               var jstr = native_bundle.get_string(key.to_java_string)
+               var str = null
+               if not jstr.is_java_null then str = jstr.to_s
 
-               return return_value
+               sys.jni_env.pop_local_frame
+
+               return str
        end
 
        # Retrieves the `Bool` value corresponding to the given key