diff --git a/core/jni/android_net_TrafficStats.cpp b/core/jni/android_net_TrafficStats.cpp index 031637f41d..7354417435 100644 --- a/core/jni/android_net_TrafficStats.cpp +++ b/core/jni/android_net_TrafficStats.cpp @@ -23,7 +23,7 @@ #include #include -#include +#include "core_jni_helpers.h" #include #include #include @@ -192,8 +192,7 @@ static JNINativeMethod gMethods[] = { }; int register_android_net_TrafficStats(JNIEnv* env) { - return AndroidRuntime::registerNativeMethods(env, "android/net/TrafficStats", - gMethods, NELEM(gMethods)); + return RegisterMethodsOrDie(env, "android/net/TrafficStats", gMethods, NELEM(gMethods)); } } diff --git a/core/jni/com_android_internal_net_NetworkStatsFactory.cpp b/core/jni/com_android_internal_net_NetworkStatsFactory.cpp index 1fbe016740..6c0b756591 100644 --- a/core/jni/com_android_internal_net_NetworkStatsFactory.cpp +++ b/core/jni/com_android_internal_net_NetworkStatsFactory.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include @@ -284,16 +284,6 @@ static int readNetworkStatsDetail(JNIEnv* env, jclass clazz, jobject stats, return 0; } -static jclass findClass(JNIEnv* env, const char* name) { - ScopedLocalRef localClass(env, env->FindClass(name)); - jclass result = reinterpret_cast(env->NewGlobalRef(localClass.get())); - if (result == NULL) { - ALOGE("failed to find class '%s'", name); - abort(); - } - return result; -} - static JNINativeMethod gMethods[] = { { "nativeReadNetworkStatsDetail", "(Landroid/net/NetworkStats;Ljava/lang/String;I[Ljava/lang/String;I)I", @@ -301,24 +291,25 @@ static JNINativeMethod gMethods[] = { }; int register_com_android_internal_net_NetworkStatsFactory(JNIEnv* env) { - int err = AndroidRuntime::registerNativeMethods(env, + int err = RegisterMethodsOrDie(env, "com/android/internal/net/NetworkStatsFactory", gMethods, NELEM(gMethods)); - gStringClass = findClass(env, "java/lang/String"); + gStringClass = FindClassOrDie(env, "java/lang/String"); + gStringClass = MakeGlobalRefOrDie(env, gStringClass); - jclass clazz = env->FindClass("android/net/NetworkStats"); - gNetworkStatsClassInfo.size = env->GetFieldID(clazz, "size", "I"); - gNetworkStatsClassInfo.capacity = env->GetFieldID(clazz, "capacity", "I"); - gNetworkStatsClassInfo.iface = env->GetFieldID(clazz, "iface", "[Ljava/lang/String;"); - gNetworkStatsClassInfo.uid = env->GetFieldID(clazz, "uid", "[I"); - gNetworkStatsClassInfo.set = env->GetFieldID(clazz, "set", "[I"); - gNetworkStatsClassInfo.tag = env->GetFieldID(clazz, "tag", "[I"); - gNetworkStatsClassInfo.rxBytes = env->GetFieldID(clazz, "rxBytes", "[J"); - gNetworkStatsClassInfo.rxPackets = env->GetFieldID(clazz, "rxPackets", "[J"); - gNetworkStatsClassInfo.txBytes = env->GetFieldID(clazz, "txBytes", "[J"); - gNetworkStatsClassInfo.txPackets = env->GetFieldID(clazz, "txPackets", "[J"); - gNetworkStatsClassInfo.operations = env->GetFieldID(clazz, "operations", "[J"); + jclass clazz = FindClassOrDie(env, "android/net/NetworkStats"); + gNetworkStatsClassInfo.size = GetFieldIDOrDie(env, clazz, "size", "I"); + gNetworkStatsClassInfo.capacity = GetFieldIDOrDie(env, clazz, "capacity", "I"); + gNetworkStatsClassInfo.iface = GetFieldIDOrDie(env, clazz, "iface", "[Ljava/lang/String;"); + gNetworkStatsClassInfo.uid = GetFieldIDOrDie(env, clazz, "uid", "[I"); + gNetworkStatsClassInfo.set = GetFieldIDOrDie(env, clazz, "set", "[I"); + gNetworkStatsClassInfo.tag = GetFieldIDOrDie(env, clazz, "tag", "[I"); + gNetworkStatsClassInfo.rxBytes = GetFieldIDOrDie(env, clazz, "rxBytes", "[J"); + gNetworkStatsClassInfo.rxPackets = GetFieldIDOrDie(env, clazz, "rxPackets", "[J"); + gNetworkStatsClassInfo.txBytes = GetFieldIDOrDie(env, clazz, "txBytes", "[J"); + gNetworkStatsClassInfo.txPackets = GetFieldIDOrDie(env, clazz, "txPackets", "[J"); + gNetworkStatsClassInfo.operations = GetFieldIDOrDie(env, clazz, "operations", "[J"); return err; }