summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@android.com>2013-06-17 18:33:49 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-06-17 18:33:49 -0700
commit94c747db09033e24188e79c7e0e2cfef8402b48f (patch)
treec75b30c1b409a7f898156528a077b87638db96f8
parent54a5338b7caed808d1c613d7f744ed4376ec65ed (diff)
parent2f3f86c113f10b841b8597a05f724a996ba76641 (diff)
downloadframeworks_base-94c747db09033e24188e79c7e0e2cfef8402b48f.zip
frameworks_base-94c747db09033e24188e79c7e0e2cfef8402b48f.tar.gz
frameworks_base-94c747db09033e24188e79c7e0e2cfef8402b48f.tar.bz2
am 2f3f86c1: am 1d4cd879: am 11cd57ca: Merge "Avoid unnecessary FindClass("java/lang/String")."
* commit '2f3f86c113f10b841b8597a05f724a996ba76641': Avoid unnecessary FindClass("java/lang/String").
-rw-r--r--core/jni/android_util_AssetManager.cpp18
1 files changed, 3 insertions, 15 deletions
diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp
index dc4d945..32f6ecf 100644
--- a/core/jni/android_util_AssetManager.cpp
+++ b/core/jni/android_util_AssetManager.cpp
@@ -293,17 +293,10 @@ static jobjectArray android_content_AssetManager_list(JNIEnv* env, jobject clazz
return NULL;
}
- jclass cls = env->FindClass("java/lang/String");
- LOG_FATAL_IF(cls == NULL, "No string class?!?");
- if (cls == NULL) {
- delete dir;
- return NULL;
- }
-
size_t N = dir->getFileCount();
jobjectArray array = env->NewObjectArray(dir->getFileCount(),
- cls, NULL);
+ g_stringClass, NULL);
if (array == NULL) {
delete dir;
return NULL;
@@ -1459,19 +1452,13 @@ static jobjectArray android_content_AssetManager_getArrayStringResource(JNIEnv*
}
const ResTable& res(am->getResources());
- jclass cls = env->FindClass("java/lang/String");
- LOG_FATAL_IF(cls == NULL, "No string class?!?");
- if (cls == NULL) {
- return NULL;
- }
-
const ResTable::bag_entry* startOfBag;
const ssize_t N = res.lockBag(arrayResId, &startOfBag);
if (N < 0) {
return NULL;
}
- jobjectArray array = env->NewObjectArray(N, cls, NULL);
+ jobjectArray array = env->NewObjectArray(N, g_stringClass, NULL);
if (env->ExceptionCheck()) {
res.unlockBag(startOfBag);
return NULL;
@@ -1768,6 +1755,7 @@ int register_android_content_AssetManager(JNIEnv* env)
jclass stringClass = env->FindClass("java/lang/String");
LOG_FATAL_IF(stringClass == NULL, "Unable to find class java/lang/String");
g_stringClass = (jclass)env->NewGlobalRef(stringClass);
+ LOG_FATAL_IF(g_stringClass == NULL, "Unable to create global reference for class java/lang/String");
return AndroidRuntime::registerNativeMethods(env,
"android/content/res/AssetManager", gAssetManagerMethods, NELEM(gAssetManagerMethods));