Extract all NativeArray/NativeMap from OnLoad.cpp

Summary: These will, eventually, need to be moved to the new bridge and so must become standalone things. For *NativeArray, this is almost just moving them out into their own .h/.cpp files. The *NativeMaps are updated to be hybrids instead of countables (in addition to getting their own .h/.cpp).

Reviewed By: mhorowitz

Differential Revision: D3325169

fbshipit-source-id: 40cfcab92b3fb2310bcd4de8f39e82f85d404abd
This commit is contained in:
Chris Hopman
2016-06-01 16:16:15 -07:00
committed by Facebook Github Bot 2
parent 0d1d7ba2b7
commit 886a558f75
22 changed files with 823 additions and 578 deletions

View File

@@ -9,6 +9,7 @@
package com.facebook.react.bridge;
import com.facebook.jni.HybridData;
import com.facebook.infer.annotation.Assertions;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.soloader.SoLoader;
@@ -20,7 +21,6 @@ import com.facebook.soloader.SoLoader;
*/
@DoNotStrip
public class WritableNativeMap extends ReadableNativeMap implements WritableMap {
static {
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
}
@@ -59,6 +59,12 @@ public class WritableNativeMap extends ReadableNativeMap implements WritableMap
mergeNativeMap((ReadableNativeMap) source);
}
public WritableNativeMap() {
super(initHybrid());
}
private static native HybridData initHybrid();
private native void putNativeMap(String key, WritableNativeMap value);
private native void putNativeArray(String key, WritableNativeArray value);
private native void mergeNativeMap(ReadableNativeMap source);