4
4
import android .content .Context ;
5
5
6
6
import androidx .annotation .NonNull ;
7
+ import androidx .annotation .Nullable ;
7
8
8
9
import com .facebook .react .PackageList ;
9
10
import com .facebook .react .ReactApplication ;
10
11
import com .facebook .react .ReactInstanceManager ;
11
12
import com .facebook .react .ReactNativeHost ;
12
13
import com .facebook .react .ReactPackage ;
13
14
import 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 ;
14
20
import com .facebook .soloader .SoLoader ;
15
21
import com .rnnewarchitectureapp .modules .MainApplicationTurboModuleManagerDelegate ;
22
+ import com .rnnewarchitectureapp .modules .NativeAnswerSolver ;
16
23
import java .lang .reflect .InvocationTargetException ;
24
+ import java .util .HashMap ;
17
25
import java .util .List ;
26
+ import java .util .Map ;
18
27
19
28
public class MainApplication extends Application implements ReactApplication {
20
29
@@ -27,10 +36,40 @@ public boolean getUseDeveloperSupport() {
27
36
28
37
@ Override
29
38
protected List <ReactPackage > getPackages () {
30
- @ SuppressWarnings ("UnnecessaryLocalVariable" )
31
39
List <ReactPackage > packages = new PackageList (this ).getPackages ();
32
40
// Packages that cannot be autolinked yet can be added manually here, for example:
33
41
// 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
+ });
34
73
return packages ;
35
74
}
36
75
0 commit comments