freerasp-react-native 1.0.0 → 1.1.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.
- package/LICENSE +20 -20
- package/README.md +442 -413
- package/android/build.gradle +87 -87
- package/android/gradle.properties +4 -4
- package/android/src/main/AndroidManifest.xml +4 -4
- package/android/src/main/java/com/freeraspreactnative/FreeraspDeviceStateListener.kt +25 -0
- package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativeModule.kt +113 -108
- package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativePackage.kt +17 -17
- package/example/Gemfile +6 -6
- package/example/android/app/_BUCK +55 -55
- package/example/android/app/build.gradle +313 -313
- package/example/android/app/build_defs.bzl +19 -19
- package/example/android/app/proguard-rules.pro +10 -10
- package/example/android/app/src/debug/AndroidManifest.xml +13 -13
- package/example/android/app/src/debug/java/com/freeraspreactnativeexample/ReactNativeFlipper.java +73 -73
- package/example/android/app/src/main/AndroidManifest.xml +26 -26
- package/example/android/app/src/main/java/com/freeraspreactnativeexample/MainActivity.java +48 -48
- package/example/android/app/src/main/java/com/freeraspreactnativeexample/MainApplication.java +91 -91
- package/example/android/app/src/main/java/com/freeraspreactnativeexample/newarchitecture/MainApplicationReactNativeHost.java +116 -116
- package/example/android/app/src/main/java/com/freeraspreactnativeexample/newarchitecture/components/MainComponentsRegistry.java +36 -36
- package/example/android/app/src/main/java/com/freeraspreactnativeexample/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +48 -48
- package/example/android/app/src/main/jni/CMakeLists.txt +7 -7
- package/example/android/app/src/main/jni/MainApplicationModuleProvider.cpp +32 -32
- package/example/android/app/src/main/jni/MainApplicationModuleProvider.h +16 -16
- package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +45 -45
- package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +38 -38
- package/example/android/app/src/main/jni/MainComponentsRegistry.cpp +65 -65
- package/example/android/app/src/main/jni/MainComponentsRegistry.h +32 -32
- package/example/android/app/src/main/jni/OnLoad.cpp +11 -11
- package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -36
- package/example/android/app/src/main/res/values/strings.xml +3 -3
- package/example/android/app/src/main/res/values/styles.xml +9 -9
- package/example/android/build.gradle +53 -53
- package/example/android/gradle/wrapper/gradle-wrapper.properties +5 -5
- package/example/android/gradle.properties +40 -40
- package/example/android/gradlew +234 -234
- package/example/android/settings.gradle +11 -11
- package/example/app.json +3 -3
- package/example/assets/checkmark-circle-outline.png +0 -0
- package/example/assets/checkmark-circle-outline.svg +1 -0
- package/example/assets/close-circle-outline.png +0 -0
- package/example/assets/close-circle-outline.svg +1 -0
- package/example/assets/talsec-logo.png +0 -0
- package/example/babel.config.js +17 -17
- package/example/index.js +5 -5
- package/example/ios/File.swift +6 -6
- package/example/ios/FreeraspReactNativeExample/AppDelegate.h +8 -8
- package/example/ios/FreeraspReactNativeExample/AppDelegate.mm +133 -133
- package/example/ios/FreeraspReactNativeExample/Images.xcassets/AppIcon.appiconset/Contents.json +53 -53
- package/example/ios/FreeraspReactNativeExample/Images.xcassets/Contents.json +6 -6
- package/example/ios/FreeraspReactNativeExample/Info.plist +55 -55
- package/example/ios/FreeraspReactNativeExample/LaunchScreen.storyboard +47 -47
- package/example/ios/FreeraspReactNativeExample/main.m +10 -10
- package/example/ios/FreeraspReactNativeExample-Bridging-Header.h +3 -3
- package/example/ios/FreeraspReactNativeExample.xcodeproj/xcshareddata/xcschemes/FreeraspReactNativeExample.xcscheme +106 -106
- package/example/ios/FreeraspReactNativeExample.xcworkspace/contents.xcworkspacedata +10 -10
- package/example/ios/FreeraspReactNativeExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -8
- package/example/ios/FreeraspReactNativeExampleTests/FreeraspReactNativeExampleTests.m +66 -66
- package/example/ios/FreeraspReactNativeExampleTests/Info.plist +24 -24
- package/example/ios/Podfile +43 -43
- package/example/ios/Podfile.lock +590 -584
- package/example/metro.config.js +40 -40
- package/example/package.json +24 -21
- package/example/react-native.config.js +10 -10
- package/example/src/App.tsx +135 -89
- package/example/src/DemoApp.tsx +89 -0
- package/example/src/checks.ts +16 -0
- package/example/src/styles.ts +7 -0
- package/example/yarn.lock +4644 -4154
- package/freerasp-react-native.podspec +36 -36
- package/ios/Debug/TalsecRuntime.xcframework/Info.plist +40 -40
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h +14 -14
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +25 -25
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +222 -222
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h +23 -23
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +3029 -3029
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h +77 -77
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h +123 -123
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h +50 -50
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +456 -456
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +68 -68
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h +33 -33
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h +504 -504
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +125 -125
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface +51 -51
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/module.modulemap +17 -17
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/cacert.pem +3154 -3154
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/module.modulemap +12 -12
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h +14 -14
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +25 -25
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +450 -450
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h +23 -23
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +3029 -3029
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h +77 -77
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h +123 -123
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h +50 -50
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +456 -456
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +68 -68
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h +33 -33
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h +504 -504
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +125 -125
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface +51 -51
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +51 -51
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/module.modulemap +17 -17
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +344 -344
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/cacert.pem +3154 -3154
- package/ios/Debug/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/module.modulemap +12 -12
- package/ios/FreeraspReactNative-Bridging-Header.h +3 -3
- package/ios/FreeraspReactNative.m +14 -14
- package/ios/FreeraspReactNative.swift +57 -53
- package/ios/FreeraspReactNative.xcodeproj/xcshareddata/xcschemes/FreeraspReactNative.xcscheme +67 -67
- package/ios/Release/TalsecRuntime.xcframework/Info.plist +40 -40
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h +14 -14
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +25 -25
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +222 -222
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h +23 -23
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +3029 -3029
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curlver.h +77 -77
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/easy.h +123 -123
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/mprintf.h +50 -50
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +456 -456
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +68 -68
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h +33 -33
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/system.h +504 -504
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +125 -125
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface +51 -51
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/module.modulemap +17 -17
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/cacert.pem +3154 -3154
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/module.modulemap +12 -12
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h +14 -14
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +25 -25
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +450 -450
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h +23 -23
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +3029 -3029
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h +77 -77
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/easy.h +123 -123
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/mprintf.h +50 -50
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +456 -456
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +68 -68
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h +33 -33
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/system.h +504 -504
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +125 -125
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface +51 -51
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +51 -51
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/module.modulemap +17 -17
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +344 -344
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/cacert.pem +3154 -3154
- package/ios/Release/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/module.modulemap +12 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +35 -35
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +161 -161
- package/src/index.tsx +90 -90
- package/ios/TalsecRuntime.xcframework +0 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"""Helper definitions to glob .aar and .jar targets"""
|
|
2
|
-
|
|
3
|
-
def create_aar_targets(aarfiles):
|
|
4
|
-
for aarfile in aarfiles:
|
|
5
|
-
name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
|
|
6
|
-
lib_deps.append(":" + name)
|
|
7
|
-
android_prebuilt_aar(
|
|
8
|
-
name = name,
|
|
9
|
-
aar = aarfile,
|
|
10
|
-
)
|
|
11
|
-
|
|
12
|
-
def create_jar_targets(jarfiles):
|
|
13
|
-
for jarfile in jarfiles:
|
|
14
|
-
name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
|
|
15
|
-
lib_deps.append(":" + name)
|
|
16
|
-
prebuilt_jar(
|
|
17
|
-
name = name,
|
|
18
|
-
binary_jar = jarfile,
|
|
19
|
-
)
|
|
1
|
+
"""Helper definitions to glob .aar and .jar targets"""
|
|
2
|
+
|
|
3
|
+
def create_aar_targets(aarfiles):
|
|
4
|
+
for aarfile in aarfiles:
|
|
5
|
+
name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
|
|
6
|
+
lib_deps.append(":" + name)
|
|
7
|
+
android_prebuilt_aar(
|
|
8
|
+
name = name,
|
|
9
|
+
aar = aarfile,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
def create_jar_targets(jarfiles):
|
|
13
|
+
for jarfile in jarfiles:
|
|
14
|
+
name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
|
|
15
|
+
lib_deps.append(":" + name)
|
|
16
|
+
prebuilt_jar(
|
|
17
|
+
name = name,
|
|
18
|
+
binary_jar = jarfile,
|
|
19
|
+
)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Add project specific ProGuard rules here.
|
|
2
|
-
# By default, the flags in this file are appended to flags specified
|
|
3
|
-
# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
|
|
4
|
-
# You can edit the include path and order by changing the proguardFiles
|
|
5
|
-
# directive in build.gradle.
|
|
6
|
-
#
|
|
7
|
-
# For more details, see
|
|
8
|
-
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
9
|
-
|
|
10
|
-
# Add any project specific keep options here:
|
|
1
|
+
# Add project specific ProGuard rules here.
|
|
2
|
+
# By default, the flags in this file are appended to flags specified
|
|
3
|
+
# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
|
|
4
|
+
# You can edit the include path and order by changing the proguardFiles
|
|
5
|
+
# directive in build.gradle.
|
|
6
|
+
#
|
|
7
|
+
# For more details, see
|
|
8
|
+
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
9
|
+
|
|
10
|
+
# Add any project specific keep options here:
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
-
xmlns:tools="http://schemas.android.com/tools">
|
|
4
|
-
|
|
5
|
-
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
|
6
|
-
|
|
7
|
-
<application
|
|
8
|
-
android:usesCleartextTraffic="true"
|
|
9
|
-
tools:targetApi="28"
|
|
10
|
-
tools:ignore="GoogleAppIndexingWarning">
|
|
11
|
-
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false" />
|
|
12
|
-
</application>
|
|
13
|
-
</manifest>
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
xmlns:tools="http://schemas.android.com/tools">
|
|
4
|
+
|
|
5
|
+
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
|
6
|
+
|
|
7
|
+
<application
|
|
8
|
+
android:usesCleartextTraffic="true"
|
|
9
|
+
tools:targetApi="28"
|
|
10
|
+
tools:ignore="GoogleAppIndexingWarning">
|
|
11
|
+
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false" />
|
|
12
|
+
</application>
|
|
13
|
+
</manifest>
|
package/example/android/app/src/debug/java/com/freeraspreactnativeexample/ReactNativeFlipper.java
CHANGED
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
|
|
5
|
-
* directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
package com.freeraspreactnativeexample;
|
|
8
|
-
|
|
9
|
-
import android.content.Context;
|
|
10
|
-
import com.facebook.flipper.android.AndroidFlipperClient;
|
|
11
|
-
import com.facebook.flipper.android.utils.FlipperUtils;
|
|
12
|
-
import com.facebook.flipper.core.FlipperClient;
|
|
13
|
-
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
|
|
14
|
-
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
|
|
15
|
-
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
|
|
16
|
-
import com.facebook.flipper.plugins.inspector.DescriptorMapping;
|
|
17
|
-
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
|
|
18
|
-
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
|
|
19
|
-
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
|
|
20
|
-
import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
|
|
21
|
-
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
|
|
22
|
-
import com.facebook.react.ReactInstanceEventListener;
|
|
23
|
-
import com.facebook.react.ReactInstanceManager;
|
|
24
|
-
import com.facebook.react.bridge.ReactContext;
|
|
25
|
-
import com.facebook.react.modules.network.NetworkingModule;
|
|
26
|
-
import okhttp3.OkHttpClient;
|
|
27
|
-
|
|
28
|
-
public class ReactNativeFlipper {
|
|
29
|
-
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
|
|
30
|
-
if (FlipperUtils.shouldEnableFlipper(context)) {
|
|
31
|
-
final FlipperClient client = AndroidFlipperClient.getInstance(context);
|
|
32
|
-
|
|
33
|
-
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
|
|
34
|
-
client.addPlugin(new ReactFlipperPlugin());
|
|
35
|
-
client.addPlugin(new DatabasesFlipperPlugin(context));
|
|
36
|
-
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
|
|
37
|
-
client.addPlugin(CrashReporterPlugin.getInstance());
|
|
38
|
-
|
|
39
|
-
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
|
|
40
|
-
NetworkingModule.setCustomClientBuilder(
|
|
41
|
-
new NetworkingModule.CustomClientBuilder() {
|
|
42
|
-
@Override
|
|
43
|
-
public void apply(OkHttpClient.Builder builder) {
|
|
44
|
-
builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
client.addPlugin(networkFlipperPlugin);
|
|
48
|
-
client.start();
|
|
49
|
-
|
|
50
|
-
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
|
|
51
|
-
// Hence we run if after all native modules have been initialized
|
|
52
|
-
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
|
|
53
|
-
if (reactContext == null) {
|
|
54
|
-
reactInstanceManager.addReactInstanceEventListener(
|
|
55
|
-
new ReactInstanceEventListener() {
|
|
56
|
-
@Override
|
|
57
|
-
public void onReactContextInitialized(ReactContext reactContext) {
|
|
58
|
-
reactInstanceManager.removeReactInstanceEventListener(this);
|
|
59
|
-
reactContext.runOnNativeModulesQueueThread(
|
|
60
|
-
new Runnable() {
|
|
61
|
-
@Override
|
|
62
|
-
public void run() {
|
|
63
|
-
client.addPlugin(new FrescoFlipperPlugin());
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
} else {
|
|
69
|
-
client.addPlugin(new FrescoFlipperPlugin());
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
|
|
5
|
+
* directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
package com.freeraspreactnativeexample;
|
|
8
|
+
|
|
9
|
+
import android.content.Context;
|
|
10
|
+
import com.facebook.flipper.android.AndroidFlipperClient;
|
|
11
|
+
import com.facebook.flipper.android.utils.FlipperUtils;
|
|
12
|
+
import com.facebook.flipper.core.FlipperClient;
|
|
13
|
+
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
|
|
14
|
+
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
|
|
15
|
+
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
|
|
16
|
+
import com.facebook.flipper.plugins.inspector.DescriptorMapping;
|
|
17
|
+
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
|
|
18
|
+
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
|
|
19
|
+
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
|
|
20
|
+
import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
|
|
21
|
+
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
|
|
22
|
+
import com.facebook.react.ReactInstanceEventListener;
|
|
23
|
+
import com.facebook.react.ReactInstanceManager;
|
|
24
|
+
import com.facebook.react.bridge.ReactContext;
|
|
25
|
+
import com.facebook.react.modules.network.NetworkingModule;
|
|
26
|
+
import okhttp3.OkHttpClient;
|
|
27
|
+
|
|
28
|
+
public class ReactNativeFlipper {
|
|
29
|
+
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
|
|
30
|
+
if (FlipperUtils.shouldEnableFlipper(context)) {
|
|
31
|
+
final FlipperClient client = AndroidFlipperClient.getInstance(context);
|
|
32
|
+
|
|
33
|
+
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
|
|
34
|
+
client.addPlugin(new ReactFlipperPlugin());
|
|
35
|
+
client.addPlugin(new DatabasesFlipperPlugin(context));
|
|
36
|
+
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
|
|
37
|
+
client.addPlugin(CrashReporterPlugin.getInstance());
|
|
38
|
+
|
|
39
|
+
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
|
|
40
|
+
NetworkingModule.setCustomClientBuilder(
|
|
41
|
+
new NetworkingModule.CustomClientBuilder() {
|
|
42
|
+
@Override
|
|
43
|
+
public void apply(OkHttpClient.Builder builder) {
|
|
44
|
+
builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
client.addPlugin(networkFlipperPlugin);
|
|
48
|
+
client.start();
|
|
49
|
+
|
|
50
|
+
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
|
|
51
|
+
// Hence we run if after all native modules have been initialized
|
|
52
|
+
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
|
|
53
|
+
if (reactContext == null) {
|
|
54
|
+
reactInstanceManager.addReactInstanceEventListener(
|
|
55
|
+
new ReactInstanceEventListener() {
|
|
56
|
+
@Override
|
|
57
|
+
public void onReactContextInitialized(ReactContext reactContext) {
|
|
58
|
+
reactInstanceManager.removeReactInstanceEventListener(this);
|
|
59
|
+
reactContext.runOnNativeModulesQueueThread(
|
|
60
|
+
new Runnable() {
|
|
61
|
+
@Override
|
|
62
|
+
public void run() {
|
|
63
|
+
client.addPlugin(new FrescoFlipperPlugin());
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
} else {
|
|
69
|
+
client.addPlugin(new FrescoFlipperPlugin());
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
-
package="com.freeraspreactnativeexample">
|
|
3
|
-
|
|
4
|
-
<uses-permission android:name="android.permission.INTERNET" />
|
|
5
|
-
|
|
6
|
-
<application
|
|
7
|
-
android:name=".MainApplication"
|
|
8
|
-
android:label="@string/app_name"
|
|
9
|
-
android:icon="@mipmap/ic_launcher"
|
|
10
|
-
android:roundIcon="@mipmap/ic_launcher_round"
|
|
11
|
-
android:allowBackup="false"
|
|
12
|
-
android:theme="@style/AppTheme">
|
|
13
|
-
<activity
|
|
14
|
-
android:name=".MainActivity"
|
|
15
|
-
android:label="@string/app_name"
|
|
16
|
-
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
|
|
17
|
-
android:launchMode="singleTask"
|
|
18
|
-
android:windowSoftInputMode="adjustResize"
|
|
19
|
-
android:exported="true">
|
|
20
|
-
<intent-filter>
|
|
21
|
-
<action android:name="android.intent.action.MAIN" />
|
|
22
|
-
<category android:name="android.intent.category.LAUNCHER" />
|
|
23
|
-
</intent-filter>
|
|
24
|
-
</activity>
|
|
25
|
-
</application>
|
|
26
|
-
</manifest>
|
|
1
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
package="com.freeraspreactnativeexample">
|
|
3
|
+
|
|
4
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
|
5
|
+
|
|
6
|
+
<application
|
|
7
|
+
android:name=".MainApplication"
|
|
8
|
+
android:label="@string/app_name"
|
|
9
|
+
android:icon="@mipmap/ic_launcher"
|
|
10
|
+
android:roundIcon="@mipmap/ic_launcher_round"
|
|
11
|
+
android:allowBackup="false"
|
|
12
|
+
android:theme="@style/AppTheme">
|
|
13
|
+
<activity
|
|
14
|
+
android:name=".MainActivity"
|
|
15
|
+
android:label="@string/app_name"
|
|
16
|
+
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
|
|
17
|
+
android:launchMode="singleTask"
|
|
18
|
+
android:windowSoftInputMode="adjustResize"
|
|
19
|
+
android:exported="true">
|
|
20
|
+
<intent-filter>
|
|
21
|
+
<action android:name="android.intent.action.MAIN" />
|
|
22
|
+
<category android:name="android.intent.category.LAUNCHER" />
|
|
23
|
+
</intent-filter>
|
|
24
|
+
</activity>
|
|
25
|
+
</application>
|
|
26
|
+
</manifest>
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
package com.freeraspreactnativeexample;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.ReactActivity;
|
|
4
|
-
import com.facebook.react.ReactActivityDelegate;
|
|
5
|
-
import com.facebook.react.ReactRootView;
|
|
6
|
-
|
|
7
|
-
public class MainActivity extends ReactActivity {
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
|
11
|
-
* rendering of the component.
|
|
12
|
-
*/
|
|
13
|
-
@Override
|
|
14
|
-
protected String getMainComponentName() {
|
|
15
|
-
return "FreeraspReactNativeExample";
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and
|
|
20
|
-
* you can specify the renderer you wish to use - the new renderer (Fabric) or the old renderer
|
|
21
|
-
* (Paper).
|
|
22
|
-
*/
|
|
23
|
-
@Override
|
|
24
|
-
protected ReactActivityDelegate createReactActivityDelegate() {
|
|
25
|
-
return new MainActivityDelegate(this, getMainComponentName());
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public static class MainActivityDelegate extends ReactActivityDelegate {
|
|
29
|
-
public MainActivityDelegate(ReactActivity activity, String mainComponentName) {
|
|
30
|
-
super(activity, mainComponentName);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@Override
|
|
34
|
-
protected ReactRootView createRootView() {
|
|
35
|
-
ReactRootView reactRootView = new ReactRootView(getContext());
|
|
36
|
-
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
|
|
37
|
-
reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED);
|
|
38
|
-
return reactRootView;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
@Override
|
|
42
|
-
protected boolean isConcurrentRootEnabled() {
|
|
43
|
-
// If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18).
|
|
44
|
-
// More on this on https://reactjs.org/blog/2022/03/29/react-v18.html
|
|
45
|
-
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
1
|
+
package com.freeraspreactnativeexample;
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.ReactActivity;
|
|
4
|
+
import com.facebook.react.ReactActivityDelegate;
|
|
5
|
+
import com.facebook.react.ReactRootView;
|
|
6
|
+
|
|
7
|
+
public class MainActivity extends ReactActivity {
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
|
11
|
+
* rendering of the component.
|
|
12
|
+
*/
|
|
13
|
+
@Override
|
|
14
|
+
protected String getMainComponentName() {
|
|
15
|
+
return "FreeraspReactNativeExample";
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and
|
|
20
|
+
* you can specify the renderer you wish to use - the new renderer (Fabric) or the old renderer
|
|
21
|
+
* (Paper).
|
|
22
|
+
*/
|
|
23
|
+
@Override
|
|
24
|
+
protected ReactActivityDelegate createReactActivityDelegate() {
|
|
25
|
+
return new MainActivityDelegate(this, getMainComponentName());
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public static class MainActivityDelegate extends ReactActivityDelegate {
|
|
29
|
+
public MainActivityDelegate(ReactActivity activity, String mainComponentName) {
|
|
30
|
+
super(activity, mainComponentName);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@Override
|
|
34
|
+
protected ReactRootView createRootView() {
|
|
35
|
+
ReactRootView reactRootView = new ReactRootView(getContext());
|
|
36
|
+
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
|
|
37
|
+
reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED);
|
|
38
|
+
return reactRootView;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@Override
|
|
42
|
+
protected boolean isConcurrentRootEnabled() {
|
|
43
|
+
// If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18).
|
|
44
|
+
// More on this on https://reactjs.org/blog/2022/03/29/react-v18.html
|
|
45
|
+
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
package/example/android/app/src/main/java/com/freeraspreactnativeexample/MainApplication.java
CHANGED
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
package com.freeraspreactnativeexample;
|
|
2
|
-
|
|
3
|
-
import android.app.Application;
|
|
4
|
-
import android.content.Context;
|
|
5
|
-
import com.facebook.react.PackageList;
|
|
6
|
-
import com.facebook.react.ReactApplication;
|
|
7
|
-
import com.facebook.react.ReactInstanceManager;
|
|
8
|
-
import com.facebook.react.ReactNativeHost;
|
|
9
|
-
import com.facebook.react.ReactPackage;
|
|
10
|
-
import com.facebook.react.config.ReactFeatureFlags;
|
|
11
|
-
import com.facebook.soloader.SoLoader;
|
|
12
|
-
import com.freeraspreactnativeexample.newarchitecture.MainApplicationReactNativeHost;
|
|
13
|
-
import java.lang.reflect.InvocationTargetException;
|
|
14
|
-
import java.util.List;
|
|
15
|
-
|
|
16
|
-
public class MainApplication extends Application implements ReactApplication {
|
|
17
|
-
|
|
18
|
-
private final ReactNativeHost mReactNativeHost =
|
|
19
|
-
new ReactNativeHost(this) {
|
|
20
|
-
@Override
|
|
21
|
-
public boolean getUseDeveloperSupport() {
|
|
22
|
-
return BuildConfig.DEBUG;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@Override
|
|
26
|
-
protected List<ReactPackage> getPackages() {
|
|
27
|
-
@SuppressWarnings("UnnecessaryLocalVariable")
|
|
28
|
-
List<ReactPackage> packages = new PackageList(this).getPackages();
|
|
29
|
-
// Packages that cannot be autolinked yet can be added manually here, for example:
|
|
30
|
-
// packages.add(new FreeRaspNativePackage());
|
|
31
|
-
return packages;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
@Override
|
|
35
|
-
protected String getJSMainModuleName() {
|
|
36
|
-
return "index";
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
private final ReactNativeHost mNewArchitectureNativeHost =
|
|
41
|
-
new MainApplicationReactNativeHost(this);
|
|
42
|
-
|
|
43
|
-
@Override
|
|
44
|
-
public ReactNativeHost getReactNativeHost() {
|
|
45
|
-
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
|
46
|
-
return mNewArchitectureNativeHost;
|
|
47
|
-
} else {
|
|
48
|
-
return mReactNativeHost;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
@Override
|
|
53
|
-
public void onCreate() {
|
|
54
|
-
super.onCreate();
|
|
55
|
-
// If you opted-in for the New Architecture, we enable the TurboModule system
|
|
56
|
-
ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
|
57
|
-
SoLoader.init(this, /* native exopackage */ false);
|
|
58
|
-
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Loads Flipper in React Native templates. Call this in the onCreate method with something like
|
|
63
|
-
* initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
|
64
|
-
*
|
|
65
|
-
* @param context
|
|
66
|
-
* @param reactInstanceManager
|
|
67
|
-
*/
|
|
68
|
-
private static void initializeFlipper(
|
|
69
|
-
Context context, ReactInstanceManager reactInstanceManager) {
|
|
70
|
-
if (BuildConfig.DEBUG) {
|
|
71
|
-
try {
|
|
72
|
-
/*
|
|
73
|
-
We use reflection here to pick up the class that initializes Flipper,
|
|
74
|
-
since Flipper library is not available in release mode
|
|
75
|
-
*/
|
|
76
|
-
Class<?> aClass = Class.forName("com.freeraspreactnativeexample.ReactNativeFlipper");
|
|
77
|
-
aClass
|
|
78
|
-
.getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
|
|
79
|
-
.invoke(null, context, reactInstanceManager);
|
|
80
|
-
} catch (ClassNotFoundException e) {
|
|
81
|
-
e.printStackTrace();
|
|
82
|
-
} catch (NoSuchMethodException e) {
|
|
83
|
-
e.printStackTrace();
|
|
84
|
-
} catch (IllegalAccessException e) {
|
|
85
|
-
e.printStackTrace();
|
|
86
|
-
} catch (InvocationTargetException e) {
|
|
87
|
-
e.printStackTrace();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
1
|
+
package com.freeraspreactnativeexample;
|
|
2
|
+
|
|
3
|
+
import android.app.Application;
|
|
4
|
+
import android.content.Context;
|
|
5
|
+
import com.facebook.react.PackageList;
|
|
6
|
+
import com.facebook.react.ReactApplication;
|
|
7
|
+
import com.facebook.react.ReactInstanceManager;
|
|
8
|
+
import com.facebook.react.ReactNativeHost;
|
|
9
|
+
import com.facebook.react.ReactPackage;
|
|
10
|
+
import com.facebook.react.config.ReactFeatureFlags;
|
|
11
|
+
import com.facebook.soloader.SoLoader;
|
|
12
|
+
import com.freeraspreactnativeexample.newarchitecture.MainApplicationReactNativeHost;
|
|
13
|
+
import java.lang.reflect.InvocationTargetException;
|
|
14
|
+
import java.util.List;
|
|
15
|
+
|
|
16
|
+
public class MainApplication extends Application implements ReactApplication {
|
|
17
|
+
|
|
18
|
+
private final ReactNativeHost mReactNativeHost =
|
|
19
|
+
new ReactNativeHost(this) {
|
|
20
|
+
@Override
|
|
21
|
+
public boolean getUseDeveloperSupport() {
|
|
22
|
+
return BuildConfig.DEBUG;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@Override
|
|
26
|
+
protected List<ReactPackage> getPackages() {
|
|
27
|
+
@SuppressWarnings("UnnecessaryLocalVariable")
|
|
28
|
+
List<ReactPackage> packages = new PackageList(this).getPackages();
|
|
29
|
+
// Packages that cannot be autolinked yet can be added manually here, for example:
|
|
30
|
+
// packages.add(new FreeRaspNativePackage());
|
|
31
|
+
return packages;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@Override
|
|
35
|
+
protected String getJSMainModuleName() {
|
|
36
|
+
return "index";
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
private final ReactNativeHost mNewArchitectureNativeHost =
|
|
41
|
+
new MainApplicationReactNativeHost(this);
|
|
42
|
+
|
|
43
|
+
@Override
|
|
44
|
+
public ReactNativeHost getReactNativeHost() {
|
|
45
|
+
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
|
46
|
+
return mNewArchitectureNativeHost;
|
|
47
|
+
} else {
|
|
48
|
+
return mReactNativeHost;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@Override
|
|
53
|
+
public void onCreate() {
|
|
54
|
+
super.onCreate();
|
|
55
|
+
// If you opted-in for the New Architecture, we enable the TurboModule system
|
|
56
|
+
ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
|
57
|
+
SoLoader.init(this, /* native exopackage */ false);
|
|
58
|
+
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Loads Flipper in React Native templates. Call this in the onCreate method with something like
|
|
63
|
+
* initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
|
64
|
+
*
|
|
65
|
+
* @param context
|
|
66
|
+
* @param reactInstanceManager
|
|
67
|
+
*/
|
|
68
|
+
private static void initializeFlipper(
|
|
69
|
+
Context context, ReactInstanceManager reactInstanceManager) {
|
|
70
|
+
if (BuildConfig.DEBUG) {
|
|
71
|
+
try {
|
|
72
|
+
/*
|
|
73
|
+
We use reflection here to pick up the class that initializes Flipper,
|
|
74
|
+
since Flipper library is not available in release mode
|
|
75
|
+
*/
|
|
76
|
+
Class<?> aClass = Class.forName("com.freeraspreactnativeexample.ReactNativeFlipper");
|
|
77
|
+
aClass
|
|
78
|
+
.getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
|
|
79
|
+
.invoke(null, context, reactInstanceManager);
|
|
80
|
+
} catch (ClassNotFoundException e) {
|
|
81
|
+
e.printStackTrace();
|
|
82
|
+
} catch (NoSuchMethodException e) {
|
|
83
|
+
e.printStackTrace();
|
|
84
|
+
} catch (IllegalAccessException e) {
|
|
85
|
+
e.printStackTrace();
|
|
86
|
+
} catch (InvocationTargetException e) {
|
|
87
|
+
e.printStackTrace();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|