Skip to content

Commit

Permalink
Merge pull request #212 from kivy/handle_charsequence
Browse files Browse the repository at this point in the history
Handle charsequence
  • Loading branch information
akshayaurora committed Mar 18, 2016
2 parents e2f6b7b + 9565b7d commit 28fb734
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions jnius/jnius_conversion.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,18 @@ cdef convert_jobject_to_python(JNIEnv *j_env, definition, jobject j_object):

# if we got a string, just convert back to Python str.
if r in ('java/lang/String', 'java/lang/CharSequence'):
c_str = <char *>j_env[0].GetStringUTFChars(j_env, j_object, NULL)
if r == 'java/lang/CharSequence':
# call toString()
retclass = j_env[0].GetObjectClass(j_env, j_object)
retmeth = j_env[0].GetMethodID(j_env, retclass, "toString", "()Ljava/lang/String;")
string = <jstring> (j_env[0].CallObjectMethod(j_env, j_object, retmeth))
else:
string = <jstring>j_object
c_str = <char *>j_env[0].GetStringUTFChars(j_env, string, NULL)
py_str = <bytes>c_str
j_env[0].ReleaseStringUTFChars(j_env, j_object, c_str)
j_env[0].ReleaseStringUTFChars(j_env, string, c_str)


if PY_MAJOR_VERSION < 3:
return py_str
else:
Expand Down

0 comments on commit 28fb734

Please sign in to comment.