| Index: base/android/jni_generator/jni_generator_tests.py
|
| diff --git a/base/android/jni_generator/jni_generator_tests.py b/base/android/jni_generator/jni_generator_tests.py
|
| index fdedc972b4cef06dc01ce5c8f220e256a5337e6a..0301eb2c50ab623ac46ea11eac72661fff22ce68 100755
|
| --- a/base/android/jni_generator/jni_generator_tests.py
|
| +++ b/base/android/jni_generator/jni_generator_tests.py
|
| @@ -315,19 +315,16 @@ static void GotOrientation(JNIEnv* env, jobject obj,
|
| jdouble gamma) {
|
| DCHECK(nativeDataFetcherImplAndroid) << "GotOrientation";
|
| DataFetcherImplAndroid* native =
|
| - reinterpret_cast<DataFetcherImplAndroid*>(nativeDataFetcherImplAndroid);
|
| + reinterpret_cast<DataFetcherImplAndroid*>(nativeDataFetcherImplAndroid);
|
| return native->GotOrientation(env, obj, alpha, beta, gamma);
|
| }
|
|
|
| -// Step 3: GetMethodIDs and RegisterNatives.
|
| -static void GetMethodIDsImpl(JNIEnv* env) {
|
| - g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| - base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| -}
|
| +// Step 3: RegisterNatives.
|
|
|
| static bool RegisterNativesImpl(JNIEnv* env) {
|
| - GetMethodIDsImpl(env);
|
|
|
| + g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| + base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| static const JNINativeMethod kMethodsTestJni[] = {
|
| { "nativeInit",
|
| "("
|
| @@ -481,15 +478,12 @@ static jint Init(JNIEnv* env, jobject obj);
|
|
|
| // Step 2: method stubs.
|
|
|
| -// Step 3: GetMethodIDs and RegisterNatives.
|
| -static void GetMethodIDsImpl(JNIEnv* env) {
|
| - g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| - base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| -}
|
| +// Step 3: RegisterNatives.
|
|
|
| static bool RegisterNativesImpl(JNIEnv* env) {
|
| - GetMethodIDsImpl(env);
|
|
|
| + g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| + base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| static const JNINativeMethod kMethodsMyInnerClass[] = {
|
| { "nativeInit",
|
| "("
|
| @@ -575,15 +569,12 @@ static jint Init(JNIEnv* env, jobject obj);
|
|
|
| // Step 2: method stubs.
|
|
|
| -// Step 3: GetMethodIDs and RegisterNatives.
|
| -static void GetMethodIDsImpl(JNIEnv* env) {
|
| - g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| - base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| -}
|
| +// Step 3: RegisterNatives.
|
|
|
| static bool RegisterNativesImpl(JNIEnv* env) {
|
| - GetMethodIDsImpl(env);
|
|
|
| + g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| + base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| static const JNINativeMethod kMethodsMyOtherInnerClass[] = {
|
| { "nativeInit",
|
| "("
|
| @@ -683,15 +674,12 @@ static jint Init(JNIEnv* env, jobject obj);
|
|
|
| // Step 2: method stubs.
|
|
|
| -// Step 3: GetMethodIDs and RegisterNatives.
|
| -static void GetMethodIDsImpl(JNIEnv* env) {
|
| - g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| - base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| -}
|
| +// Step 3: RegisterNatives.
|
|
|
| static bool RegisterNativesImpl(JNIEnv* env) {
|
| - GetMethodIDsImpl(env);
|
|
|
| + g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| + base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| static const JNINativeMethod kMethodsMyOtherInnerClass[] = {
|
| { "nativeInit",
|
| "("
|
| @@ -919,7 +907,23 @@ static ScopedJavaLocalRef<jobject> Java_TestJni_showConfirmInfoBar(JNIEnv* env,
|
| jobject icon) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_TestJni_clazz);
|
| - DCHECK(g_TestJni_showConfirmInfoBar);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_YES>(
|
| + env, g_TestJni_clazz,
|
| + "showConfirmInfoBar",
|
| +
|
| +"("
|
| +"I"
|
| +"Ljava/lang/String;"
|
| +"Ljava/lang/String;"
|
| +"Ljava/lang/String;"
|
| +"Landroid/graphics/Bitmap;"
|
| +")"
|
| +"Lcom/google/android/apps/chrome/infobar/InfoBarContainer$NativeInfoBar;",
|
| + &g_TestJni_showConfirmInfoBar);
|
| +
|
| jobject ret =
|
| env->CallObjectMethod(obj,
|
| g_TestJni_showConfirmInfoBar, nativeInfoBar, buttonOk, buttonCancel,
|
| @@ -936,7 +940,22 @@ static ScopedJavaLocalRef<jobject> Java_TestJni_showAutoLoginInfoBar(JNIEnv*
|
| jstring args) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_TestJni_clazz);
|
| - DCHECK(g_TestJni_showAutoLoginInfoBar);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_YES>(
|
| + env, g_TestJni_clazz,
|
| + "showAutoLoginInfoBar",
|
| +
|
| +"("
|
| +"I"
|
| +"Ljava/lang/String;"
|
| +"Ljava/lang/String;"
|
| +"Ljava/lang/String;"
|
| +")"
|
| +"Lcom/google/android/apps/chrome/infobar/InfoBarContainer$NativeInfoBar;",
|
| + &g_TestJni_showAutoLoginInfoBar);
|
| +
|
| jobject ret =
|
| env->CallObjectMethod(obj,
|
| g_TestJni_showAutoLoginInfoBar, nativeInfoBar, realm, account, args);
|
| @@ -948,7 +967,17 @@ static jmethodID g_InfoBar_dismiss = 0;
|
| static void Java_InfoBar_dismiss(JNIEnv* env, jobject obj) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InfoBar_clazz);
|
| - DCHECK(g_InfoBar_dismiss);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_YES>(
|
| + env, g_InfoBar_clazz,
|
| + "dismiss",
|
| +
|
| +"("
|
| +")"
|
| +"V",
|
| + &g_InfoBar_dismiss);
|
|
|
| env->CallVoidMethod(obj,
|
| g_InfoBar_dismiss);
|
| @@ -964,7 +993,22 @@ static jboolean Java_TestJni_shouldShowAutoLogin(JNIEnv* env, jobject
|
| jstring args) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_TestJni_clazz);
|
| - DCHECK(g_TestJni_shouldShowAutoLogin);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_STATIC,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_YES>(
|
| + env, g_TestJni_clazz,
|
| + "shouldShowAutoLogin",
|
| +
|
| +"("
|
| +"Lorg/chromium/content/browser/ContentViewCore;"
|
| +"Ljava/lang/String;"
|
| +"Ljava/lang/String;"
|
| +"Ljava/lang/String;"
|
| +")"
|
| +"Z",
|
| + &g_TestJni_shouldShowAutoLogin);
|
| +
|
| jboolean ret =
|
| env->CallStaticBooleanMethod(g_TestJni_clazz,
|
| g_TestJni_shouldShowAutoLogin, contentView, realm, account, args);
|
| @@ -977,7 +1021,19 @@ static ScopedJavaLocalRef<jobject> Java_TestJni_openUrl(JNIEnv* env, jstring
|
| url) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_TestJni_clazz);
|
| - DCHECK(g_TestJni_openUrl);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_STATIC,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_YES>(
|
| + env, g_TestJni_clazz,
|
| + "openUrl",
|
| +
|
| +"("
|
| +"Ljava/lang/String;"
|
| +")"
|
| +"Ljava/io/InputStream;",
|
| + &g_TestJni_openUrl);
|
| +
|
| jobject ret =
|
| env->CallStaticObjectMethod(g_TestJni_clazz,
|
| g_TestJni_openUrl, url);
|
| @@ -994,7 +1050,22 @@ static void Java_TestJni_activateHardwareAcceleration(JNIEnv* env, jobject obj,
|
| jint iSecondaryID) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_TestJni_clazz);
|
| - DCHECK(g_TestJni_activateHardwareAcceleration);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_YES>(
|
| + env, g_TestJni_clazz,
|
| + "activateHardwareAcceleration",
|
| +
|
| +"("
|
| +"Z"
|
| +"I"
|
| +"I"
|
| +"I"
|
| +"I"
|
| +")"
|
| +"V",
|
| + &g_TestJni_activateHardwareAcceleration);
|
|
|
| env->CallVoidMethod(obj,
|
| g_TestJni_activateHardwareAcceleration, activated, iPid, iType,
|
| @@ -1007,107 +1078,32 @@ static jmethodID g_TestJni_uncheckedCall = 0;
|
| static void Java_TestJni_uncheckedCall(JNIEnv* env, jobject obj, jint iParam) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_TestJni_clazz);
|
| - DCHECK(g_TestJni_uncheckedCall);
|
|
|
| - env->CallVoidMethod(obj,
|
| - g_TestJni_uncheckedCall, iParam);
|
| -
|
| -}
|
| -
|
| -// Step 3: GetMethodIDs and RegisterNatives.
|
| -static void GetMethodIDsImpl(JNIEnv* env) {
|
| - g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| - base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| - g_InfoBar_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| - base::android::GetUnscopedClass(env, kInfoBarClassPath)));
|
| - g_TestJni_showConfirmInfoBar =
|
| - base::android::GetMethodID(
|
| - env, g_TestJni_clazz,
|
| - "showConfirmInfoBar",
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_YES>(
|
| + env, g_TestJni_clazz,
|
| + "uncheckedCall",
|
|
|
| "("
|
| "I"
|
| -"Ljava/lang/String;"
|
| -"Ljava/lang/String;"
|
| -"Ljava/lang/String;"
|
| -"Landroid/graphics/Bitmap;"
|
| ")"
|
| -"Lcom/google/android/apps/chrome/infobar/InfoBarContainer$NativeInfoBar;");
|
| -
|
| - g_TestJni_showAutoLoginInfoBar =
|
| - base::android::GetMethodID(
|
| - env, g_TestJni_clazz,
|
| - "showAutoLoginInfoBar",
|
| -
|
| -"("
|
| -"I"
|
| -"Ljava/lang/String;"
|
| -"Ljava/lang/String;"
|
| -"Ljava/lang/String;"
|
| -")"
|
| -"Lcom/google/android/apps/chrome/infobar/InfoBarContainer$NativeInfoBar;");
|
| -
|
| - g_InfoBar_dismiss =
|
| - base::android::GetMethodID(
|
| - env, g_InfoBar_clazz,
|
| - "dismiss",
|
| -
|
| -"("
|
| -")"
|
| -"V");
|
| -
|
| - g_TestJni_shouldShowAutoLogin =
|
| - base::android::GetStaticMethodID(
|
| - env, g_TestJni_clazz,
|
| - "shouldShowAutoLogin",
|
| -
|
| -"("
|
| -"Lorg/chromium/content/browser/ContentViewCore;"
|
| -"Ljava/lang/String;"
|
| -"Ljava/lang/String;"
|
| -"Ljava/lang/String;"
|
| -")"
|
| -"Z");
|
| -
|
| - g_TestJni_openUrl =
|
| - base::android::GetStaticMethodID(
|
| - env, g_TestJni_clazz,
|
| - "openUrl",
|
| -
|
| -"("
|
| -"Ljava/lang/String;"
|
| -")"
|
| -"Ljava/io/InputStream;");
|
| -
|
| - g_TestJni_activateHardwareAcceleration =
|
| - base::android::GetMethodID(
|
| - env, g_TestJni_clazz,
|
| - "activateHardwareAcceleration",
|
| -
|
| -"("
|
| -"Z"
|
| -"I"
|
| -"I"
|
| -"I"
|
| -"I"
|
| -")"
|
| -"V");
|
| -
|
| - g_TestJni_uncheckedCall =
|
| - base::android::GetMethodID(
|
| - env, g_TestJni_clazz,
|
| - "uncheckedCall",
|
| +"V",
|
| + &g_TestJni_uncheckedCall);
|
|
|
| -"("
|
| -"I"
|
| -")"
|
| -"V");
|
| + env->CallVoidMethod(obj,
|
| + g_TestJni_uncheckedCall, iParam);
|
|
|
| }
|
|
|
| +// Step 3: RegisterNatives.
|
| +
|
| static bool RegisterNativesImpl(JNIEnv* env) {
|
| - GetMethodIDsImpl(env);
|
|
|
| + g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| + base::android::GetUnscopedClass(env, kTestJniClassPath)));
|
| + g_InfoBar_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| + base::android::GetUnscopedClass(env, kInfoBarClassPath)));
|
| return true;
|
| }
|
|
|
| @@ -1223,7 +1219,18 @@ static jint Java_InputStream_available(JNIEnv* env, jobject obj) __attribute__
|
| static jint Java_InputStream_available(JNIEnv* env, jobject obj) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_available);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "available",
|
| +
|
| +"("
|
| +")"
|
| +"I",
|
| + &g_InputStream_available);
|
| +
|
| jint ret =
|
| env->CallIntMethod(obj,
|
| g_InputStream_available);
|
| @@ -1237,7 +1244,17 @@ static void Java_InputStream_close(JNIEnv* env, jobject obj) __attribute__
|
| static void Java_InputStream_close(JNIEnv* env, jobject obj) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_close);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "close",
|
| +
|
| +"("
|
| +")"
|
| +"V",
|
| + &g_InputStream_close);
|
|
|
| env->CallVoidMethod(obj,
|
| g_InputStream_close);
|
| @@ -1251,7 +1268,18 @@ static void Java_InputStream_mark(JNIEnv* env, jobject obj, jint p0)
|
| static void Java_InputStream_mark(JNIEnv* env, jobject obj, jint p0) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_mark);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "mark",
|
| +
|
| +"("
|
| +"I"
|
| +")"
|
| +"V",
|
| + &g_InputStream_mark);
|
|
|
| env->CallVoidMethod(obj,
|
| g_InputStream_mark, p0);
|
| @@ -1265,7 +1293,18 @@ static jboolean Java_InputStream_markSupported(JNIEnv* env, jobject obj)
|
| static jboolean Java_InputStream_markSupported(JNIEnv* env, jobject obj) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_markSupported);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "markSupported",
|
| +
|
| +"("
|
| +")"
|
| +"Z",
|
| + &g_InputStream_markSupported);
|
| +
|
| jboolean ret =
|
| env->CallBooleanMethod(obj,
|
| g_InputStream_markSupported);
|
| @@ -1279,7 +1318,18 @@ static jint Java_InputStream_readI(JNIEnv* env, jobject obj) __attribute__
|
| static jint Java_InputStream_readI(JNIEnv* env, jobject obj) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_readI);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "read",
|
| +
|
| +"("
|
| +")"
|
| +"I",
|
| + &g_InputStream_readI);
|
| +
|
| jint ret =
|
| env->CallIntMethod(obj,
|
| g_InputStream_readI);
|
| @@ -1293,7 +1343,19 @@ static jint Java_InputStream_readI_AB(JNIEnv* env, jobject obj, jbyteArray p0)
|
| static jint Java_InputStream_readI_AB(JNIEnv* env, jobject obj, jbyteArray p0) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_readI_AB);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "read",
|
| +
|
| +"("
|
| +"[B"
|
| +")"
|
| +"I",
|
| + &g_InputStream_readI_AB);
|
| +
|
| jint ret =
|
| env->CallIntMethod(obj,
|
| g_InputStream_readI_AB, p0);
|
| @@ -1312,7 +1374,21 @@ static jint Java_InputStream_readI_AB_I_I(JNIEnv* env, jobject obj, jbyteArray
|
| jint p2) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_readI_AB_I_I);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "read",
|
| +
|
| +"("
|
| +"[B"
|
| +"I"
|
| +"I"
|
| +")"
|
| +"I",
|
| + &g_InputStream_readI_AB_I_I);
|
| +
|
| jint ret =
|
| env->CallIntMethod(obj,
|
| g_InputStream_readI_AB_I_I, p0, p1, p2);
|
| @@ -1326,7 +1402,17 @@ static void Java_InputStream_reset(JNIEnv* env, jobject obj) __attribute__
|
| static void Java_InputStream_reset(JNIEnv* env, jobject obj) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_reset);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "reset",
|
| +
|
| +"("
|
| +")"
|
| +"V",
|
| + &g_InputStream_reset);
|
|
|
| env->CallVoidMethod(obj,
|
| g_InputStream_reset);
|
| @@ -1340,7 +1426,19 @@ static jlong Java_InputStream_skip(JNIEnv* env, jobject obj, jlong p0)
|
| static jlong Java_InputStream_skip(JNIEnv* env, jobject obj, jlong p0) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_skip);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "skip",
|
| +
|
| +"("
|
| +"J"
|
| +")"
|
| +"J",
|
| + &g_InputStream_skip);
|
| +
|
| jlong ret =
|
| env->CallLongMethod(obj,
|
| g_InputStream_skip, p0);
|
| @@ -1349,10 +1447,23 @@ static jlong Java_InputStream_skip(JNIEnv* env, jobject obj, jlong p0) {
|
| }
|
|
|
| static jmethodID g_InputStream_Constructor = 0;
|
| +static ScopedJavaLocalRef<jobject> Java_InputStream_Constructor(JNIEnv* env)
|
| + __attribute__ ((unused));
|
| static ScopedJavaLocalRef<jobject> Java_InputStream_Constructor(JNIEnv* env) {
|
| /* Must call RegisterNativesImpl() */
|
| DCHECK(g_InputStream_clazz);
|
| - DCHECK(g_InputStream_Constructor);
|
| +
|
| + base::android::LazyMethodID::Get<
|
| + base::android::LazyMethodID::METHODTYPE_NORMAL,
|
| + base::android::LazyMethodID::EXCEPTIONCHECK_NO>(
|
| + env, g_InputStream_clazz,
|
| + "<init>",
|
| +
|
| +"("
|
| +")"
|
| +"V",
|
| + &g_InputStream_Constructor);
|
| +
|
| jobject ret =
|
| env->NewObject(g_InputStream_clazz,
|
| g_InputStream_Constructor);
|
| @@ -1360,111 +1471,12 @@ static ScopedJavaLocalRef<jobject> Java_InputStream_Constructor(JNIEnv* env) {
|
| return ScopedJavaLocalRef<jobject>(env, ret);
|
| }
|
|
|
| -// Step 3: GetMethodIDs and RegisterNatives.
|
| -static void GetMethodIDsImpl(JNIEnv* env) {
|
| - g_InputStream_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| - base::android::GetUnscopedClass(env, kInputStreamClassPath)));
|
| - g_InputStream_available =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "available",
|
| -
|
| -"("
|
| -")"
|
| -"I");
|
| -
|
| - g_InputStream_close =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "close",
|
| -
|
| -"("
|
| -")"
|
| -"V");
|
| -
|
| - g_InputStream_mark =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "mark",
|
| -
|
| -"("
|
| -"I"
|
| -")"
|
| -"V");
|
| -
|
| - g_InputStream_markSupported =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "markSupported",
|
| -
|
| -"("
|
| -")"
|
| -"Z");
|
| -
|
| - g_InputStream_readI =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "read",
|
| -
|
| -"("
|
| -")"
|
| -"I");
|
| -
|
| - g_InputStream_readI_AB =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "read",
|
| -
|
| -"("
|
| -"[B"
|
| -")"
|
| -"I");
|
| -
|
| - g_InputStream_readI_AB_I_I =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "read",
|
| -
|
| -"("
|
| -"[B"
|
| -"I"
|
| -"I"
|
| -")"
|
| -"I");
|
| -
|
| - g_InputStream_reset =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "reset",
|
| -
|
| -"("
|
| -")"
|
| -"V");
|
| -
|
| - g_InputStream_skip =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "skip",
|
| -
|
| -"("
|
| -"J"
|
| -")"
|
| -"J");
|
| -
|
| - g_InputStream_Constructor =
|
| - base::android::GetMethodID(
|
| - env, g_InputStream_clazz,
|
| - "<init>",
|
| -
|
| -"("
|
| -")"
|
| -"V");
|
| -
|
| -}
|
| +// Step 3: RegisterNatives.
|
|
|
| static bool RegisterNativesImpl(JNIEnv* env) {
|
| - GetMethodIDsImpl(env);
|
|
|
| + g_InputStream_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
|
| + base::android::GetUnscopedClass(env, kInputStreamClassPath)));
|
| return true;
|
| }
|
| } // namespace JNI_InputStream
|
|
|