Extract ComponentNameRegistry out of Fabric modules

Summary:
This diff extracts ComponentNameRegistry out of Fabric modules

This is necessary to avoid depending on Fabric and regressing APK size for other RN apps (e.g. IG)

changelog: [internal] internal

Reviewed By: JoshuaGross

Differential Revision: D26765328

fbshipit-source-id: 0a22c4279146f5243473c74a84e78fad7f08f956
This commit is contained in:
David Vacca
2021-03-03 14:16:03 -08:00
committed by Facebook GitHub Bot
parent 056f1fd2cd
commit fca0442bc8
14 changed files with 196 additions and 10 deletions
@@ -0,0 +1,39 @@
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.react.uimanager;
import com.facebook.jni.HybridData;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.react.bridge.RuntimeExecutor;
import com.facebook.soloader.SoLoader;
public class ComponentNameResolverManager {
static {
staticInit();
}
@DoNotStrip
@SuppressWarnings("unused")
private final HybridData mHybridData;
public ComponentNameResolverManager(
RuntimeExecutor runtimeExecutor, Object componentNameResolver) {
mHybridData = initHybrid(runtimeExecutor, componentNameResolver);
installJSIBindings();
}
private native HybridData initHybrid(
RuntimeExecutor runtimeExecutor, Object componentNameResolver);
private native void installJSIBindings();
private static void staticInit() {
SoLoader.loadLibrary("uimanagerjni");
}
}