Merge "Move registration of AssetManager.mObject to zygote." into pi-dev
diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp
index 7fa2247..fa9f445 100644
--- a/core/jni/android_util_AssetManager.cpp
+++ b/core/jni/android_util_AssetManager.cpp
@@ -75,9 +75,8 @@
   jfieldID mLength;
 } gAssetFileDescriptorOffsets;
 
-static struct assetmanager_offsets_t {
-  jfieldID mObject;
-} gAssetManagerOffsets;
+// This is also used by asset_manager.cpp.
+assetmanager_offsets_t gAssetManagerOffsets;
 
 static struct {
   jfieldID native_ptr;
diff --git a/core/jni/include/android_runtime/android_util_AssetManager.h b/core/jni/include/android_runtime/android_util_AssetManager.h
index 2c1e357..ac734a9 100644
--- a/core/jni/include/android_runtime/android_util_AssetManager.h
+++ b/core/jni/include/android_runtime/android_util_AssetManager.h
@@ -27,6 +27,11 @@
 extern AAssetManager* NdkAssetManagerForJavaObject(JNIEnv* env, jobject jassetmanager);
 extern Guarded<AssetManager2>* AssetManagerForJavaObject(JNIEnv* env, jobject jassetmanager);
 extern Guarded<AssetManager2>* AssetManagerForNdkAssetManager(AAssetManager* assetmanager);
+struct assetmanager_offsets_t
+{
+    jfieldID mObject;
+};
+extern assetmanager_offsets_t gAssetManagerOffsets;
 
 }  // namespace android
 
diff --git a/native/android/asset_manager.cpp b/native/android/asset_manager.cpp
index e70d5ea..69cf804 100644
--- a/native/android/asset_manager.cpp
+++ b/native/android/asset_manager.cpp
@@ -56,32 +56,10 @@
 // -------------------- Public native C API --------------------
 
 /**
- * Supporting information
- */
-
-static struct assetmanager_offsets_t
-{
-    jfieldID mObject;
-} gAssetManagerOffsets;
-
-static volatile bool gJNIConfigured = false;
-static Mutex gMutex;
-
-/**
  * Asset Manager functionality
  */
 AAssetManager* AAssetManager_fromJava(JNIEnv* env, jobject assetManager)
 {
-    {
-        Mutex::Autolock _l(gMutex);
-
-        if (gJNIConfigured == false) {
-            jclass amClass = env->FindClass("android/content/res/AssetManager");
-            gAssetManagerOffsets.mObject = env->GetFieldID(amClass, "mObject", "J");
-            gJNIConfigured = true;
-        }
-    }
-
     return (AAssetManager*) env->GetLongField(assetManager, gAssetManagerOffsets.mObject);
 }