Skip to content

Commit 7ae59dd

Browse files
committed
[TurboModule] Install the ReactPackageTurboModuleManagerDelegateBuilder
1 parent 4dfcfa6 commit 7ae59dd

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

android/app/src/main/java/com/rnnewarchitectureapp/MainApplication.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@
22

33
import android.app.Application;
44
import android.content.Context;
5+
6+
import androidx.annotation.NonNull;
7+
58
import com.facebook.react.PackageList;
69
import com.facebook.react.ReactApplication;
710
import com.facebook.react.ReactInstanceManager;
811
import com.facebook.react.ReactNativeHost;
912
import com.facebook.react.ReactPackage;
13+
import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
1014
import com.facebook.soloader.SoLoader;
15+
import com.rnnewarchitectureapp.modules.MainApplicationTurboModuleManagerDelegate;
1116
import java.lang.reflect.InvocationTargetException;
1217
import java.util.List;
1318

@@ -33,6 +38,12 @@ protected List<ReactPackage> getPackages() {
3338
protected String getJSMainModuleName() {
3439
return "index";
3540
}
41+
42+
@NonNull
43+
@Override
44+
protected ReactPackageTurboModuleManagerDelegate.Builder getReactPackageTurboModuleManagerDelegateBuilder() {
45+
return new MainApplicationTurboModuleManagerDelegate.Builder();
46+
}
3647
};
3748

3849
@Override
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.rnnewarchitectureapp.modules;
2+
3+
import com.facebook.jni.HybridData;
4+
import com.facebook.react.ReactPackage;
5+
import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
6+
import com.facebook.react.bridge.ReactApplicationContext;
7+
import com.facebook.soloader.SoLoader;
8+
9+
import java.util.List;
10+
11+
public class MainApplicationTurboModuleManagerDelegate extends ReactPackageTurboModuleManagerDelegate {
12+
13+
private static volatile boolean sIsSoLibraryLoaded;
14+
15+
protected MainApplicationTurboModuleManagerDelegate(ReactApplicationContext reactApplicationContext, List<ReactPackage> packages) {
16+
super(reactApplicationContext, packages);
17+
}
18+
19+
protected native HybridData initHybrid();
20+
21+
public static class Builder extends ReactPackageTurboModuleManagerDelegate.Builder {
22+
protected MainApplicationTurboModuleManagerDelegate build(
23+
ReactApplicationContext context, List<ReactPackage> packages) {
24+
return new MainApplicationTurboModuleManagerDelegate(context, packages);
25+
}
26+
}
27+
28+
@Override
29+
protected synchronized void maybeLoadOtherSoLibraries() {
30+
// Prevents issues with initializer interruptions.
31+
if (!sIsSoLibraryLoaded) {
32+
SoLoader.loadLibrary("rnnewarchitectureapp_appmodules");
33+
sIsSoLibraryLoaded = true;
34+
}
35+
}
36+
}

0 commit comments

Comments
 (0)