freerasp-react-native 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +413 -0
  3. package/android/build.gradle +87 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +4 -0
  6. package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativeModule.kt +108 -0
  7. package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativePackage.kt +17 -0
  8. package/example/Gemfile +6 -0
  9. package/example/android/app/_BUCK +55 -0
  10. package/example/android/app/build.gradle +313 -0
  11. package/example/android/app/build_defs.bzl +19 -0
  12. package/example/android/app/debug.keystore +0 -0
  13. package/example/android/app/proguard-rules.pro +10 -0
  14. package/example/android/app/src/debug/AndroidManifest.xml +13 -0
  15. package/example/android/app/src/debug/java/com/freeraspreactnativeexample/ReactNativeFlipper.java +73 -0
  16. package/example/android/app/src/main/AndroidManifest.xml +26 -0
  17. package/example/android/app/src/main/java/com/freeraspreactnativeexample/MainActivity.java +48 -0
  18. package/example/android/app/src/main/java/com/freeraspreactnativeexample/MainApplication.java +91 -0
  19. package/example/android/app/src/main/java/com/freeraspreactnativeexample/newarchitecture/MainApplicationReactNativeHost.java +116 -0
  20. package/example/android/app/src/main/java/com/freeraspreactnativeexample/newarchitecture/components/MainComponentsRegistry.java +36 -0
  21. package/example/android/app/src/main/java/com/freeraspreactnativeexample/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +48 -0
  22. package/example/android/app/src/main/jni/CMakeLists.txt +7 -0
  23. package/example/android/app/src/main/jni/MainApplicationModuleProvider.cpp +32 -0
  24. package/example/android/app/src/main/jni/MainApplicationModuleProvider.h +16 -0
  25. package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +45 -0
  26. package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +38 -0
  27. package/example/android/app/src/main/jni/MainComponentsRegistry.cpp +65 -0
  28. package/example/android/app/src/main/jni/MainComponentsRegistry.h +32 -0
  29. package/example/android/app/src/main/jni/OnLoad.cpp +11 -0
  30. package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  31. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  32. package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  33. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  34. package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  35. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  36. package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  37. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  38. package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  39. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  40. package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  41. package/example/android/app/src/main/res/values/strings.xml +3 -0
  42. package/example/android/app/src/main/res/values/styles.xml +9 -0
  43. package/example/android/build.gradle +53 -0
  44. package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  45. package/example/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  46. package/example/android/gradle.properties +40 -0
  47. package/example/android/gradlew +234 -0
  48. package/example/android/gradlew.bat +89 -0
  49. package/example/android/settings.gradle +11 -0
  50. package/example/app.json +4 -0
  51. package/example/babel.config.js +17 -0
  52. package/example/index.js +5 -0
  53. package/example/ios/File.swift +6 -0
  54. package/example/ios/FreeraspReactNativeExample/AppDelegate.h +8 -0
  55. package/example/ios/FreeraspReactNativeExample/AppDelegate.mm +133 -0
  56. package/example/ios/FreeraspReactNativeExample/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  57. package/example/ios/FreeraspReactNativeExample/Images.xcassets/Contents.json +6 -0
  58. package/example/ios/FreeraspReactNativeExample/Info.plist +55 -0
  59. package/example/ios/FreeraspReactNativeExample/LaunchScreen.storyboard +47 -0
  60. package/example/ios/FreeraspReactNativeExample/main.m +10 -0
  61. package/example/ios/FreeraspReactNativeExample-Bridging-Header.h +3 -0
  62. package/example/ios/FreeraspReactNativeExample.xcodeproj/project.pbxproj +712 -0
  63. package/example/ios/FreeraspReactNativeExample.xcodeproj/xcshareddata/xcschemes/FreeraspReactNativeExample.xcscheme +106 -0
  64. package/example/ios/FreeraspReactNativeExample.xcworkspace/contents.xcworkspacedata +10 -0
  65. package/example/ios/FreeraspReactNativeExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  66. package/example/ios/FreeraspReactNativeExampleTests/FreeraspReactNativeExampleTests.m +66 -0
  67. package/example/ios/FreeraspReactNativeExampleTests/Info.plist +24 -0
  68. package/example/ios/Podfile +43 -0
  69. package/example/ios/Podfile.lock +584 -0
  70. package/example/metro.config.js +40 -0
  71. package/example/package.json +21 -0
  72. package/example/react-native.config.js +10 -0
  73. package/example/src/App.tsx +89 -0
  74. package/example/yarn.lock +4154 -0
  75. package/freerasp-react-native.podspec +36 -0
  76. package/ios/Debug/TalsecRuntime.xcframework/Info.plist +40 -0
  77. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h +14 -0
  78. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +25 -0
  79. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +222 -0
  80. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h +23 -0
  81. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +3029 -0
  82. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h +77 -0
  83. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h +123 -0
  84. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h +50 -0
  85. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +456 -0
  86. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +68 -0
  87. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h +33 -0
  88. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h +504 -0
  89. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +125 -0
  90. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
  91. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  92. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface +51 -0
  93. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/module.modulemap +17 -0
  94. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
  95. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/cacert.pem +3154 -0
  96. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/module.modulemap +12 -0
  97. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h +14 -0
  98. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +25 -0
  99. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +450 -0
  100. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h +23 -0
  101. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +3029 -0
  102. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h +77 -0
  103. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h +123 -0
  104. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h +50 -0
  105. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +456 -0
  106. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +68 -0
  107. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h +33 -0
  108. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h +504 -0
  109. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +125 -0
  110. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
  111. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  112. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface +51 -0
  113. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  114. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +51 -0
  115. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/module.modulemap +17 -0
  116. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
  117. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +344 -0
  118. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/cacert.pem +3154 -0
  119. package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/module.modulemap +12 -0
  120. package/ios/FreeraspReactNative-Bridging-Header.h +3 -0
  121. package/ios/FreeraspReactNative.m +14 -0
  122. package/ios/FreeraspReactNative.swift +53 -0
  123. package/ios/FreeraspReactNative.xcodeproj/project.pbxproj +291 -0
  124. package/ios/FreeraspReactNative.xcodeproj/xcshareddata/xcschemes/FreeraspReactNative.xcscheme +67 -0
  125. package/ios/Release/TalsecRuntime.xcframework/Info.plist +40 -0
  126. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h +14 -0
  127. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +25 -0
  128. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +222 -0
  129. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h +23 -0
  130. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +3029 -0
  131. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h +77 -0
  132. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h +123 -0
  133. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h +50 -0
  134. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +456 -0
  135. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +68 -0
  136. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h +33 -0
  137. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h +504 -0
  138. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +125 -0
  139. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
  140. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  141. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface +51 -0
  142. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/module.modulemap +17 -0
  143. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
  144. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/cacert.pem +3154 -0
  145. package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/module.modulemap +12 -0
  146. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h +14 -0
  147. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +25 -0
  148. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +450 -0
  149. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h +23 -0
  150. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +3029 -0
  151. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h +77 -0
  152. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h +123 -0
  153. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h +50 -0
  154. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +456 -0
  155. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +68 -0
  156. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h +33 -0
  157. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h +504 -0
  158. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +125 -0
  159. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
  160. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  161. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface +51 -0
  162. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  163. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +51 -0
  164. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/module.modulemap +17 -0
  165. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
  166. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +344 -0
  167. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/cacert.pem +3154 -0
  168. package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/module.modulemap +12 -0
  169. package/ios/TalsecRuntime.xcframework +1 -0
  170. package/lib/commonjs/index.js +47 -0
  171. package/lib/commonjs/index.js.map +1 -0
  172. package/lib/module/index.js +36 -0
  173. package/lib/module/index.js.map +1 -0
  174. package/lib/typescript/index.d.ts +36 -0
  175. package/lib/typescript/index.d.ts.map +1 -0
  176. package/package.json +161 -0
  177. package/src/index.tsx +90 -0
@@ -0,0 +1,116 @@
1
+ package com.freeraspreactnativeexample.newarchitecture;
2
+
3
+ import android.app.Application;
4
+ import androidx.annotation.NonNull;
5
+ import com.facebook.react.PackageList;
6
+ import com.facebook.react.ReactInstanceManager;
7
+ import com.facebook.react.ReactNativeHost;
8
+ import com.facebook.react.ReactPackage;
9
+ import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
10
+ import com.facebook.react.bridge.JSIModulePackage;
11
+ import com.facebook.react.bridge.JSIModuleProvider;
12
+ import com.facebook.react.bridge.JSIModuleSpec;
13
+ import com.facebook.react.bridge.JSIModuleType;
14
+ import com.facebook.react.bridge.JavaScriptContextHolder;
15
+ import com.facebook.react.bridge.ReactApplicationContext;
16
+ import com.facebook.react.bridge.UIManager;
17
+ import com.facebook.react.fabric.ComponentFactory;
18
+ import com.facebook.react.fabric.CoreComponentsRegistry;
19
+ import com.facebook.react.fabric.FabricJSIModuleProvider;
20
+ import com.facebook.react.fabric.ReactNativeConfig;
21
+ import com.facebook.react.uimanager.ViewManagerRegistry;
22
+ import com.freeraspreactnativeexample.BuildConfig;
23
+ import com.freeraspreactnativeexample.newarchitecture.components.MainComponentsRegistry;
24
+ import com.freeraspreactnativeexample.newarchitecture.modules.MainApplicationTurboModuleManagerDelegate;
25
+ import java.util.ArrayList;
26
+ import java.util.List;
27
+
28
+ /**
29
+ * A {@link ReactNativeHost} that helps you load everything needed for the New Architecture, both
30
+ * TurboModule delegates and the Fabric Renderer.
31
+ *
32
+ * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the
33
+ * `newArchEnabled` property). Is ignored otherwise.
34
+ */
35
+ public class MainApplicationReactNativeHost extends ReactNativeHost {
36
+ public MainApplicationReactNativeHost(Application application) {
37
+ super(application);
38
+ }
39
+
40
+ @Override
41
+ public boolean getUseDeveloperSupport() {
42
+ return BuildConfig.DEBUG;
43
+ }
44
+
45
+ @Override
46
+ protected List<ReactPackage> getPackages() {
47
+ List<ReactPackage> packages = new PackageList(this).getPackages();
48
+ // Packages that cannot be autolinked yet can be added manually here, for example:
49
+ // packages.add(new MyReactNativePackage());
50
+ // TurboModules must also be loaded here providing a valid TurboReactPackage implementation:
51
+ // packages.add(new TurboReactPackage() { ... });
52
+ // If you have custom Fabric Components, their ViewManagers should also be loaded here
53
+ // inside a ReactPackage.
54
+ return packages;
55
+ }
56
+
57
+ @Override
58
+ protected String getJSMainModuleName() {
59
+ return "index";
60
+ }
61
+
62
+ @NonNull
63
+ @Override
64
+ protected ReactPackageTurboModuleManagerDelegate.Builder
65
+ getReactPackageTurboModuleManagerDelegateBuilder() {
66
+ // Here we provide the ReactPackageTurboModuleManagerDelegate Builder. This is necessary
67
+ // for the new architecture and to use TurboModules correctly.
68
+ return new MainApplicationTurboModuleManagerDelegate.Builder();
69
+ }
70
+
71
+ @Override
72
+ protected JSIModulePackage getJSIModulePackage() {
73
+ return new JSIModulePackage() {
74
+ @Override
75
+ public List<JSIModuleSpec> getJSIModules(
76
+ final ReactApplicationContext reactApplicationContext,
77
+ final JavaScriptContextHolder jsContext) {
78
+ final List<JSIModuleSpec> specs = new ArrayList<>();
79
+
80
+ // Here we provide a new JSIModuleSpec that will be responsible of providing the
81
+ // custom Fabric Components.
82
+ specs.add(
83
+ new JSIModuleSpec() {
84
+ @Override
85
+ public JSIModuleType getJSIModuleType() {
86
+ return JSIModuleType.UIManager;
87
+ }
88
+
89
+ @Override
90
+ public JSIModuleProvider<UIManager> getJSIModuleProvider() {
91
+ final ComponentFactory componentFactory = new ComponentFactory();
92
+ CoreComponentsRegistry.register(componentFactory);
93
+
94
+ // Here we register a Components Registry.
95
+ // The one that is generated with the template contains no components
96
+ // and just provides you the one from React Native core.
97
+ MainComponentsRegistry.register(componentFactory);
98
+
99
+ final ReactInstanceManager reactInstanceManager = getReactInstanceManager();
100
+
101
+ ViewManagerRegistry viewManagerRegistry =
102
+ new ViewManagerRegistry(
103
+ reactInstanceManager.getOrCreateViewManagers(reactApplicationContext));
104
+
105
+ return new FabricJSIModuleProvider(
106
+ reactApplicationContext,
107
+ componentFactory,
108
+ ReactNativeConfig.DEFAULT_CONFIG,
109
+ viewManagerRegistry);
110
+ }
111
+ });
112
+ return specs;
113
+ }
114
+ };
115
+ }
116
+ }
@@ -0,0 +1,36 @@
1
+ package com.freeraspreactnativeexample.newarchitecture.components;
2
+
3
+ import com.facebook.jni.HybridData;
4
+ import com.facebook.proguard.annotations.DoNotStrip;
5
+ import com.facebook.react.fabric.ComponentFactory;
6
+ import com.facebook.soloader.SoLoader;
7
+
8
+ /**
9
+ * Class responsible to load the custom Fabric Components. This class has native methods and needs a
10
+ * corresponding C++ implementation/header file to work correctly (already placed inside the jni/
11
+ * folder for you).
12
+ *
13
+ * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the
14
+ * `newArchEnabled` property). Is ignored otherwise.
15
+ */
16
+ @DoNotStrip
17
+ public class MainComponentsRegistry {
18
+ static {
19
+ SoLoader.loadLibrary("fabricjni");
20
+ }
21
+
22
+ @DoNotStrip private final HybridData mHybridData;
23
+
24
+ @DoNotStrip
25
+ private native HybridData initHybrid(ComponentFactory componentFactory);
26
+
27
+ @DoNotStrip
28
+ private MainComponentsRegistry(ComponentFactory componentFactory) {
29
+ mHybridData = initHybrid(componentFactory);
30
+ }
31
+
32
+ @DoNotStrip
33
+ public static MainComponentsRegistry register(ComponentFactory componentFactory) {
34
+ return new MainComponentsRegistry(componentFactory);
35
+ }
36
+ }
@@ -0,0 +1,48 @@
1
+ package com.freeraspreactnativeexample.newarchitecture.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
+ import java.util.List;
9
+
10
+ /**
11
+ * Class responsible to load the TurboModules. This class has native methods and needs a
12
+ * corresponding C++ implementation/header file to work correctly (already placed inside the jni/
13
+ * folder for you).
14
+ *
15
+ * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the
16
+ * `newArchEnabled` property). Is ignored otherwise.
17
+ */
18
+ public class MainApplicationTurboModuleManagerDelegate
19
+ extends ReactPackageTurboModuleManagerDelegate {
20
+
21
+ private static volatile boolean sIsSoLibraryLoaded;
22
+
23
+ protected MainApplicationTurboModuleManagerDelegate(
24
+ ReactApplicationContext reactApplicationContext, List<ReactPackage> packages) {
25
+ super(reactApplicationContext, packages);
26
+ }
27
+
28
+ protected native HybridData initHybrid();
29
+
30
+ native boolean canCreateTurboModule(String moduleName);
31
+
32
+ public static class Builder extends ReactPackageTurboModuleManagerDelegate.Builder {
33
+ protected MainApplicationTurboModuleManagerDelegate build(
34
+ ReactApplicationContext context, List<ReactPackage> packages) {
35
+ return new MainApplicationTurboModuleManagerDelegate(context, packages);
36
+ }
37
+ }
38
+
39
+ @Override
40
+ protected synchronized void maybeLoadOtherSoLibraries() {
41
+ if (!sIsSoLibraryLoaded) {
42
+ // If you change the name of your application .so file in the Android.mk file,
43
+ // make sure you update the name here as well.
44
+ SoLoader.loadLibrary("freeraspreactnativeexample_appmodules");
45
+ sIsSoLibraryLoaded = true;
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,7 @@
1
+ cmake_minimum_required(VERSION 3.13)
2
+
3
+ # Define the library name here.
4
+ project(freeraspreactnativeexample_appmodules)
5
+
6
+ # This file includes all the necessary to let you build your application with the New Architecture.
7
+ include(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake)
@@ -0,0 +1,32 @@
1
+ #include "MainApplicationModuleProvider.h"
2
+
3
+ #include <rncli.h>
4
+ #include <rncore.h>
5
+
6
+ namespace facebook {
7
+ namespace react {
8
+
9
+ std::shared_ptr<TurboModule> MainApplicationModuleProvider(
10
+ const std::string &moduleName,
11
+ const JavaTurboModule::InitParams &params) {
12
+ // Here you can provide your own module provider for TurboModules coming from
13
+ // either your application or from external libraries. The approach to follow
14
+ // is similar to the following (for a library called `samplelibrary`:
15
+ //
16
+ // auto module = samplelibrary_ModuleProvider(moduleName, params);
17
+ // if (module != nullptr) {
18
+ // return module;
19
+ // }
20
+ // return rncore_ModuleProvider(moduleName, params);
21
+
22
+ // Module providers autolinked by RN CLI
23
+ auto rncli_module = rncli_ModuleProvider(moduleName, params);
24
+ if (rncli_module != nullptr) {
25
+ return rncli_module;
26
+ }
27
+
28
+ return rncore_ModuleProvider(moduleName, params);
29
+ }
30
+
31
+ } // namespace react
32
+ } // namespace facebook
@@ -0,0 +1,16 @@
1
+ #pragma once
2
+
3
+ #include <memory>
4
+ #include <string>
5
+
6
+ #include <ReactCommon/JavaTurboModule.h>
7
+
8
+ namespace facebook {
9
+ namespace react {
10
+
11
+ std::shared_ptr<TurboModule> MainApplicationModuleProvider(
12
+ const std::string &moduleName,
13
+ const JavaTurboModule::InitParams &params);
14
+
15
+ } // namespace react
16
+ } // namespace facebook
@@ -0,0 +1,45 @@
1
+ #include "MainApplicationTurboModuleManagerDelegate.h"
2
+ #include "MainApplicationModuleProvider.h"
3
+
4
+ namespace facebook {
5
+ namespace react {
6
+
7
+ jni::local_ref<MainApplicationTurboModuleManagerDelegate::jhybriddata>
8
+ MainApplicationTurboModuleManagerDelegate::initHybrid(
9
+ jni::alias_ref<jhybridobject>) {
10
+ return makeCxxInstance();
11
+ }
12
+
13
+ void MainApplicationTurboModuleManagerDelegate::registerNatives() {
14
+ registerHybrid({
15
+ makeNativeMethod(
16
+ "initHybrid", MainApplicationTurboModuleManagerDelegate::initHybrid),
17
+ makeNativeMethod(
18
+ "canCreateTurboModule",
19
+ MainApplicationTurboModuleManagerDelegate::canCreateTurboModule),
20
+ });
21
+ }
22
+
23
+ std::shared_ptr<TurboModule>
24
+ MainApplicationTurboModuleManagerDelegate::getTurboModule(
25
+ const std::string &name,
26
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
27
+ // Not implemented yet: provide pure-C++ NativeModules here.
28
+ return nullptr;
29
+ }
30
+
31
+ std::shared_ptr<TurboModule>
32
+ MainApplicationTurboModuleManagerDelegate::getTurboModule(
33
+ const std::string &name,
34
+ const JavaTurboModule::InitParams &params) {
35
+ return MainApplicationModuleProvider(name, params);
36
+ }
37
+
38
+ bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule(
39
+ const std::string &name) {
40
+ return getTurboModule(name, nullptr) != nullptr ||
41
+ getTurboModule(name, {.moduleName = name}) != nullptr;
42
+ }
43
+
44
+ } // namespace react
45
+ } // namespace facebook
@@ -0,0 +1,38 @@
1
+ #include <memory>
2
+ #include <string>
3
+
4
+ #include <ReactCommon/TurboModuleManagerDelegate.h>
5
+ #include <fbjni/fbjni.h>
6
+
7
+ namespace facebook {
8
+ namespace react {
9
+
10
+ class MainApplicationTurboModuleManagerDelegate
11
+ : public jni::HybridClass<
12
+ MainApplicationTurboModuleManagerDelegate,
13
+ TurboModuleManagerDelegate> {
14
+ public:
15
+ // Adapt it to the package you used for your Java class.
16
+ static constexpr auto kJavaDescriptor =
17
+ "Lcom/freeraspreactnativeexample/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate;";
18
+
19
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject>);
20
+
21
+ static void registerNatives();
22
+
23
+ std::shared_ptr<TurboModule> getTurboModule(
24
+ const std::string &name,
25
+ const std::shared_ptr<CallInvoker> &jsInvoker) override;
26
+ std::shared_ptr<TurboModule> getTurboModule(
27
+ const std::string &name,
28
+ const JavaTurboModule::InitParams &params) override;
29
+
30
+ /**
31
+ * Test-only method. Allows user to verify whether a TurboModule can be
32
+ * created by instances of this class.
33
+ */
34
+ bool canCreateTurboModule(const std::string &name);
35
+ };
36
+
37
+ } // namespace react
38
+ } // namespace facebook
@@ -0,0 +1,65 @@
1
+ #include "MainComponentsRegistry.h"
2
+
3
+ #include <CoreComponentsRegistry.h>
4
+ #include <fbjni/fbjni.h>
5
+ #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
6
+ #include <react/renderer/components/rncore/ComponentDescriptors.h>
7
+ #include <rncli.h>
8
+
9
+ namespace facebook {
10
+ namespace react {
11
+
12
+ MainComponentsRegistry::MainComponentsRegistry(ComponentFactory *delegate) {}
13
+
14
+ std::shared_ptr<ComponentDescriptorProviderRegistry const>
15
+ MainComponentsRegistry::sharedProviderRegistry() {
16
+ auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry();
17
+
18
+ // Autolinked providers registered by RN CLI
19
+ rncli_registerProviders(providerRegistry);
20
+
21
+ // Custom Fabric Components go here. You can register custom
22
+ // components coming from your App or from 3rd party libraries here.
23
+ //
24
+ // providerRegistry->add(concreteComponentDescriptorProvider<
25
+ // AocViewerComponentDescriptor>());
26
+ return providerRegistry;
27
+ }
28
+
29
+ jni::local_ref<MainComponentsRegistry::jhybriddata>
30
+ MainComponentsRegistry::initHybrid(
31
+ jni::alias_ref<jclass>,
32
+ ComponentFactory *delegate) {
33
+ auto instance = makeCxxInstance(delegate);
34
+
35
+ auto buildRegistryFunction =
36
+ [](EventDispatcher::Weak const &eventDispatcher,
37
+ ContextContainer::Shared const &contextContainer)
38
+ -> ComponentDescriptorRegistry::Shared {
39
+ auto registry = MainComponentsRegistry::sharedProviderRegistry()
40
+ ->createComponentDescriptorRegistry(
41
+ {eventDispatcher, contextContainer});
42
+
43
+ auto mutableRegistry =
44
+ std::const_pointer_cast<ComponentDescriptorRegistry>(registry);
45
+
46
+ mutableRegistry->setFallbackComponentDescriptor(
47
+ std::make_shared<UnimplementedNativeViewComponentDescriptor>(
48
+ ComponentDescriptorParameters{
49
+ eventDispatcher, contextContainer, nullptr}));
50
+
51
+ return registry;
52
+ };
53
+
54
+ delegate->buildRegistryFunction = buildRegistryFunction;
55
+ return instance;
56
+ }
57
+
58
+ void MainComponentsRegistry::registerNatives() {
59
+ registerHybrid({
60
+ makeNativeMethod("initHybrid", MainComponentsRegistry::initHybrid),
61
+ });
62
+ }
63
+
64
+ } // namespace react
65
+ } // namespace facebook
@@ -0,0 +1,32 @@
1
+ #pragma once
2
+
3
+ #include <ComponentFactory.h>
4
+ #include <fbjni/fbjni.h>
5
+ #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
6
+ #include <react/renderer/componentregistry/ComponentDescriptorRegistry.h>
7
+
8
+ namespace facebook {
9
+ namespace react {
10
+
11
+ class MainComponentsRegistry
12
+ : public facebook::jni::HybridClass<MainComponentsRegistry> {
13
+ public:
14
+ // Adapt it to the package you used for your Java class.
15
+ constexpr static auto kJavaDescriptor =
16
+ "Lcom/freeraspreactnativeexample/newarchitecture/components/MainComponentsRegistry;";
17
+
18
+ static void registerNatives();
19
+
20
+ MainComponentsRegistry(ComponentFactory *delegate);
21
+
22
+ private:
23
+ static std::shared_ptr<ComponentDescriptorProviderRegistry const>
24
+ sharedProviderRegistry();
25
+
26
+ static jni::local_ref<jhybriddata> initHybrid(
27
+ jni::alias_ref<jclass>,
28
+ ComponentFactory *delegate);
29
+ };
30
+
31
+ } // namespace react
32
+ } // namespace facebook
@@ -0,0 +1,11 @@
1
+ #include <fbjni/fbjni.h>
2
+ #include "MainApplicationTurboModuleManagerDelegate.h"
3
+ #include "MainComponentsRegistry.h"
4
+
5
+ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
6
+ return facebook::jni::initialize(vm, [] {
7
+ facebook::react::MainApplicationTurboModuleManagerDelegate::
8
+ registerNatives();
9
+ facebook::react::MainComponentsRegistry::registerNatives();
10
+ });
11
+ }
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Copyright (C) 2014 The Android Open Source Project
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+ <inset xmlns:android="http://schemas.android.com/apk/res/android"
17
+ android:insetLeft="@dimen/abc_edit_text_inset_horizontal_material"
18
+ android:insetRight="@dimen/abc_edit_text_inset_horizontal_material"
19
+ android:insetTop="@dimen/abc_edit_text_inset_top_material"
20
+ android:insetBottom="@dimen/abc_edit_text_inset_bottom_material">
21
+
22
+ <selector>
23
+ <!--
24
+ This file is a copy of abc_edit_text_material (https://bit.ly/3k8fX7I).
25
+ The item below with state_pressed="false" and state_focused="false" causes a NullPointerException.
26
+ NullPointerException:tempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable(android.content.res.Resources)'
27
+
28
+ <item android:state_pressed="false" android:state_focused="false" android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/>
29
+
30
+ For more info, see https://bit.ly/3CdLStv (react-native/pull/29452) and https://bit.ly/3nxOMoR.
31
+ -->
32
+ <item android:state_enabled="false" android:drawable="@drawable/abc_textfield_default_mtrl_alpha"/>
33
+ <item android:drawable="@drawable/abc_textfield_activated_mtrl_alpha"/>
34
+ </selector>
35
+
36
+ </inset>
@@ -0,0 +1,3 @@
1
+ <resources>
2
+ <string name="app_name">FreeraspReactNativeExample</string>
3
+ </resources>
@@ -0,0 +1,9 @@
1
+ <resources>
2
+
3
+ <!-- Base application theme. -->
4
+ <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
5
+ <!-- Customize your theme here. -->
6
+ <item name="android:editTextBackground">@drawable/rn_edit_text_material</item>
7
+ </style>
8
+
9
+ </resources>
@@ -0,0 +1,53 @@
1
+ // Top-level build file where you can add configuration options common to all sub-projects/modules.
2
+
3
+ buildscript {
4
+ ext {
5
+ buildToolsVersion = "31.0.0"
6
+ minSdkVersion = 21
7
+ compileSdkVersion = 31
8
+ targetSdkVersion = 31
9
+
10
+ if (System.properties['os.arch'] == "aarch64") {
11
+ // For M1 Users we need to use the NDK 24 which added support for aarch64
12
+ ndkVersion = "24.0.8215888"
13
+ } else {
14
+ // Otherwise we default to the side-by-side NDK version from AGP.
15
+ ndkVersion = "21.4.7075529"
16
+ }
17
+ }
18
+ repositories {
19
+ google()
20
+ mavenCentral()
21
+ }
22
+ dependencies {
23
+ classpath("com.android.tools.build:gradle:7.2.1")
24
+ classpath("com.facebook.react:react-native-gradle-plugin")
25
+ classpath("de.undercouch:gradle-download-task:5.0.1")
26
+ // NOTE: Do not place your application dependencies here; they belong
27
+ // in the individual module build.gradle files
28
+ }
29
+ }
30
+
31
+ allprojects {
32
+ repositories {
33
+ maven {
34
+ // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
35
+ url("$rootDir/../node_modules/react-native/android")
36
+ }
37
+ maven {
38
+ // Android JSC is installed from npm
39
+ url("$rootDir/../node_modules/jsc-android/dist")
40
+ }
41
+ mavenCentral {
42
+ // We don't want to fetch react-native from Maven Central as there are
43
+ // older versions over there.
44
+ content {
45
+ excludeGroup "com.facebook.react"
46
+ }
47
+ }
48
+ google()
49
+ maven { url 'https://www.jitpack.io' }
50
+ maven{url = uri("https://nexus3-public.monetplus.cz/repository/ahead-talsec-free-rasp")}
51
+ maven{url = uri("https://developer.huawei.com/repo/")}
52
+ }
53
+ }
@@ -0,0 +1,5 @@
1
+ distributionBase=GRADLE_USER_HOME
2
+ distributionPath=wrapper/dists
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
4
+ zipStoreBase=GRADLE_USER_HOME
5
+ zipStorePath=wrapper/dists
@@ -0,0 +1,40 @@
1
+ # Project-wide Gradle settings.
2
+
3
+ # IDE (e.g. Android Studio) users:
4
+ # Gradle settings configured through the IDE *will override*
5
+ # any settings specified in this file.
6
+
7
+ # For more details on how to configure your build environment visit
8
+ # http://www.gradle.org/docs/current/userguide/build_environment.html
9
+
10
+ # Specifies the JVM arguments used for the daemon process.
11
+ # The setting is particularly useful for tweaking memory settings.
12
+ # Default value: -Xmx512m -XX:MaxMetaspaceSize=256m
13
+ org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
14
+
15
+ # When configured, Gradle will run in incubating parallel mode.
16
+ # This option should only be used with decoupled projects. More details, visit
17
+ # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18
+ # org.gradle.parallel=true
19
+
20
+ # AndroidX package structure to make it clearer which packages are bundled with the
21
+ # Android operating system, and which are packaged with your app's APK
22
+ # https://developer.android.com/topic/libraries/support-library/androidx-rn
23
+ android.useAndroidX=true
24
+ # Automatically convert third-party libraries to use AndroidX
25
+ android.enableJetifier=true
26
+
27
+ # Version of flipper SDK to use with React Native
28
+ FLIPPER_VERSION=0.125.0
29
+
30
+ # Use this property to specify which architecture you want to build.
31
+ # You can also override it from the CLI using
32
+ # ./gradlew <task> -PreactNativeArchitectures=x86_64
33
+ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
34
+
35
+ # Use this property to enable support to the new architecture.
36
+ # This will allow you to use TurboModules and the Fabric render in
37
+ # your application. You should enable this flag either if you want
38
+ # to write custom TurboModules/Fabric components OR use libraries that
39
+ # are providing them.
40
+ newArchEnabled=false