44import android .content .Context ;
55
66import androidx .annotation .NonNull ;
7+ import androidx .annotation .Nullable ;
78
89import com .facebook .react .PackageList ;
910import com .facebook .react .ReactApplication ;
1011import com .facebook .react .ReactInstanceManager ;
1112import com .facebook .react .ReactNativeHost ;
1213import com .facebook .react .ReactPackage ;
1314import com .facebook .react .ReactPackageTurboModuleManagerDelegate ;
15+ import com .facebook .react .TurboReactPackage ;
16+ import com .facebook .react .bridge .NativeModule ;
17+ import com .facebook .react .bridge .ReactApplicationContext ;
18+ import com .facebook .react .module .model .ReactModuleInfo ;
19+ import com .facebook .react .module .model .ReactModuleInfoProvider ;
1420import com .facebook .soloader .SoLoader ;
1521import com .rnnewarchitectureapp .modules .MainApplicationTurboModuleManagerDelegate ;
22+ import com .rnnewarchitectureapp .modules .NativeAnswerSolver ;
1623import java .lang .reflect .InvocationTargetException ;
24+ import java .util .HashMap ;
1725import java .util .List ;
26+ import java .util .Map ;
1827
1928public class MainApplication extends Application implements ReactApplication {
2029
@@ -27,10 +36,40 @@ public boolean getUseDeveloperSupport() {
2736
2837 @ Override
2938 protected List <ReactPackage > getPackages () {
30- @ SuppressWarnings ("UnnecessaryLocalVariable" )
3139 List <ReactPackage > packages = new PackageList (this ).getPackages ();
3240 // Packages that cannot be autolinked yet can be added manually here, for example:
3341 // packages.add(new MyReactNativePackage());
42+ packages .add (new TurboReactPackage () {
43+ @ Nullable
44+ @ Override
45+ public NativeModule getModule (String name , ReactApplicationContext reactContext ) {
46+ if (name .equals (NativeAnswerSolver .NAME )) {
47+ return new NativeAnswerSolver (reactContext );
48+ } else {
49+ return null ;
50+ }
51+ }
52+
53+ @ Override
54+ public ReactModuleInfoProvider getReactModuleInfoProvider () {
55+ return () -> {
56+ final Map <String , ReactModuleInfo > moduleInfos = new HashMap <>();
57+ moduleInfos .put (
58+ NativeAnswerSolver .NAME ,
59+ new ReactModuleInfo (
60+ NativeAnswerSolver .NAME ,
61+ "NativeAnswerSolver" ,
62+ false , // canOverrideExistingModule
63+ false , // needsEagerInit
64+ true , // hasConstants
65+ false , // isCxxModule
66+ true // isTurboModule
67+ )
68+ );
69+ return moduleInfos ;
70+ };
71+ }
72+ });
3473 return packages ;
3574 }
3675
0 commit comments