diff options
Diffstat (limited to 'base/android')
-rwxr-xr-x | base/android/jni_generator/jni_generator.py | 2 | ||||
-rwxr-xr-x | base/android/jni_generator/jni_generator_tests.py | 37 |
2 files changed, 38 insertions, 1 deletions
diff --git a/base/android/jni_generator/jni_generator.py b/base/android/jni_generator/jni_generator.py index 1ae5090..6da9849 100755 --- a/base/android/jni_generator/jni_generator.py +++ b/base/android/jni_generator/jni_generator.py @@ -381,7 +381,7 @@ RE_SCOPED_JNI_RETURN_TYPES = re.compile('jobject|jclass|jstring|.*Array') RE_CALLED_BY_NATIVE = re.compile( '@CalledByNative(?P<Unchecked>(Unchecked)*?)(?:\("(?P<annotation>.*)"\))?' '\s+(?P<prefix>[\w ]*?)' - '\s*(?P<return_type>\w+(\[\])*?)' + '\s*(?P<return_type>[\w\.]+(\[\])*?)' '\s+(?P<name>\w+)' '\s*\((?P<params>[^\)]*)\)') diff --git a/base/android/jni_generator/jni_generator_tests.py b/base/android/jni_generator/jni_generator_tests.py index 371fb26..b804474 100755 --- a/base/android/jni_generator/jni_generator_tests.py +++ b/base/android/jni_generator/jni_generator_tests.py @@ -796,6 +796,9 @@ static bool RegisterNativesImpl(JNIEnv* env) { @CalledByNative public byte[][] returnArrayOfByteArray(); + + @CalledByNative + public Bitmap.CompressFormat getCompressFormat(); """ jni_generator.JniParams.SetFullyQualifiedClass('org/chromium/Foo') jni_generator.JniParams.ExtractImportsAndInnerClasses(test_data) @@ -992,6 +995,17 @@ static bool RegisterNativesImpl(JNIEnv* env) { env_call=('Void', ''), unchecked=False, ), + CalledByNative( + return_type='Bitmap.CompressFormat', + system_class=False, + static=False, + name='getCompressFormat', + method_id_var_name='getCompressFormat', + java_class_name='', + params=[], + env_call=('Void', ''), + unchecked=False, + ), ] self.assertListEquals(golden_called_by_natives, called_by_natives) h = jni_generator.InlHeaderFileGenerator('', 'org/chromium/TestJni', @@ -1425,6 +1439,29 @@ Java_TestJni_returnArrayOfByteArray(JNIEnv* env, jobject obj) { return ScopedJavaLocalRef<jobjectArray>(env, ret); } +static base::subtle::AtomicWord g_TestJni_getCompressFormat = 0; +static ScopedJavaLocalRef<jobject> Java_TestJni_getCompressFormat(JNIEnv* env, + jobject obj) { + /* Must call RegisterNativesImpl() */ + DCHECK(g_TestJni_clazz); + jmethodID method_id = + base::android::MethodID::LazyGet< + base::android::MethodID::TYPE_INSTANCE>( + env, g_TestJni_clazz, + "getCompressFormat", + +"(" +")" +"Landroid/graphics/Bitmap$CompressFormat;", + &g_TestJni_getCompressFormat); + + jobject ret = + env->CallObjectMethod(obj, + method_id); + base::android::CheckException(env); + return ScopedJavaLocalRef<jobject>(env, ret); +} + // Step 3: RegisterNatives. static bool RegisterNativesImpl(JNIEnv* env) { |