|
3 | 3 | import java.util.ArrayList; |
4 | 4 | import java.util.Arrays; |
5 | 5 | import java.util.Collections; |
| 6 | +import java.util.HashMap; |
6 | 7 | import java.util.List; |
| 8 | +import java.util.Map; |
7 | 9 |
|
8 | | -import com.facebook.react.ReactPackage; |
| 10 | +import androidx.annotation.Nullable; |
| 11 | +import com.facebook.react.bridge.JavaScriptModule; // TODO: instructrions says to remove |
9 | 12 | import com.facebook.react.bridge.NativeModule; |
10 | 13 | import com.facebook.react.bridge.ReactApplicationContext; |
| 14 | +import com.facebook.react.module.model.ReactModuleInfo; |
| 15 | +import com.facebook.react.module.model.ReactModuleInfoProvider; |
| 16 | +import com.facebook.react.ReactPackage; // TODO: instructrions says to remove |
| 17 | +import com.facebook.react.TurboReactPackage; |
11 | 18 | import com.facebook.react.uimanager.ViewManager; |
12 | | -import com.facebook.react.bridge.JavaScriptModule; |
13 | 19 |
|
14 | | -public class RNIterableAPIPackage implements ReactPackage { |
15 | | - @Override |
16 | | - public List<NativeModule> createNativeModules( |
17 | | - ReactApplicationContext reactContext) { |
18 | | - List<NativeModule> modules = new ArrayList<>(); |
19 | | - |
20 | | - modules.add(new RNIterableAPIModule(reactContext)); |
21 | 20 |
|
22 | | - return modules; |
| 21 | +public class RNIterableAPIPackage extends TurboReactPackage { |
| 22 | + @Nullable |
| 23 | + @Override |
| 24 | + public NativeModule getModule(String name, ReactApplicationContext reactContext) { |
| 25 | + if (name.equals(RNIterableAPIModuleImpl.NAME)) { |
| 26 | + return new RNIterableAPIModule(reactContext); |
| 27 | + } else { |
| 28 | + return null; |
| 29 | + } |
23 | 30 | } |
| 31 | + // public List<NativeModule> createNativeModules( |
| 32 | + // ReactApplicationContext reactContext) { |
| 33 | + // List<NativeModule> modules = new ArrayList<>(); |
| 34 | + |
| 35 | + // modules.add(new RNIterableAPIModule(reactContext)); |
24 | 36 |
|
| 37 | + // return modules; |
| 38 | + // } |
25 | 39 | @Override |
26 | | - public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) { |
27 | | - return Collections.emptyList(); |
| 40 | + public ReactModuleInfoProvider getReactModuleInfoProvider() { |
| 41 | + return () -> { |
| 42 | + final Map<String, ReactModuleInfo> moduleInfos = new HashMap<>(); |
| 43 | + boolean isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; |
| 44 | + moduleInfos.put( |
| 45 | + RNIterableAPIModuleImpl.NAME, |
| 46 | + new ReactModuleInfo( |
| 47 | + RNIterableAPIModuleImpl.NAME, |
| 48 | + RNIterableAPIModuleImpl.NAME, |
| 49 | + false, // canOverrideExistingModule |
| 50 | + false, // needsEagerInit |
| 51 | + true, // hasConstants |
| 52 | + false, // isCxxModule |
| 53 | + isTurboModule // isTurboModule |
| 54 | + )); |
| 55 | + return moduleInfos; |
| 56 | + }; |
28 | 57 | } |
| 58 | + // @Override |
| 59 | + // public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) { |
| 60 | + // return Collections.emptyList(); |
| 61 | + // } |
29 | 62 | } |
0 commit comments