packages = new PackageList(this).getPackages();
- // Packages that cannot be autolinked yet can be added manually here, for
- // AnalyticsReactNativeExample:
- packages.add(analytics);
- packages.add(sovran);
- packages.add(new AnalyticsReactNativePluginAdvertisingIdPackage());
- return packages;
- }
-
- @Override
- protected String getJSMainModuleName() {
- return "index";
- }
- };
-
-
-private final ReactNativeHost mNewArchitectureNativeHost =
- new MainApplicationReactNativeHost(this);
-
- @Override
- public ReactNativeHost getReactNativeHost() {
- if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
- return mNewArchitectureNativeHost;
- } else {
- return mReactNativeHost;
- }
- }
-
- @Override
- public void onCreate() {
- super.onCreate();
- // If you opted-in for the New Architecture, we enable the TurboModule system
- ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
- SoLoader.init(this, /* native exopackage */ false);
- initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); //// Remove this line if you don't want
-
- // Flipper enabled
-
- // Enable for native anonymousId generation
- // analytics.setAnonymousId("My-New-Native-Id");
- }
-
- /**
- * Loads Flipper in React Native templates.
- *
- * @param context
- */
- private static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
- if (BuildConfig.DEBUG) {
- try {
- /*
- * We use reflection here to pick up the class that initializes Flipper,
- * since Flipper library is not available in release mode
- */
- Class> aClass = Class.forName("com.segmentanalyticsreactnativeExample.ReactNativeFlipper");
- aClass
- .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
- .invoke(null, context, reactInstanceManager);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- }
- }
-}
diff --git a/example/android/app/src/main/java/com/example/segmentanalyticsreactnative/newarchitecture/MainApplicationReactNativeHost.java b/example/android/app/src/main/java/com/example/segmentanalyticsreactnative/newarchitecture/MainApplicationReactNativeHost.java
deleted file mode 100644
index a794f6504..000000000
--- a/example/android/app/src/main/java/com/example/segmentanalyticsreactnative/newarchitecture/MainApplicationReactNativeHost.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package com.example.segmentanalyticsreactnative.newarchitecture;
-
-import android.app.Application;
-import androidx.annotation.NonNull;
-import com.facebook.react.PackageList;
-import com.facebook.react.ReactInstanceManager;
-import com.facebook.react.ReactNativeHost;
-import com.facebook.react.ReactPackage;
-import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
-import com.facebook.react.bridge.JSIModulePackage;
-import com.facebook.react.bridge.JSIModuleProvider;
-import com.facebook.react.bridge.JSIModuleSpec;
-import com.facebook.react.bridge.JSIModuleType;
-import com.facebook.react.bridge.JavaScriptContextHolder;
-import com.facebook.react.bridge.ReactApplicationContext;
-import com.facebook.react.bridge.UIManager;
-import com.facebook.react.fabric.ComponentFactory;
-import com.facebook.react.fabric.CoreComponentsRegistry;
-import com.facebook.react.fabric.FabricJSIModuleProvider;
-import com.facebook.react.fabric.ReactNativeConfig;
-import com.facebook.react.uimanager.ViewManagerRegistry;
-import com.example.segmentanalyticsreactnative.BuildConfig;
-import com.example.segmentanalyticsreactnative.newarchitecture.components.MainComponentsRegistry;
-import com.example.segmentanalyticsreactnative.newarchitecture.modules.MainApplicationTurboModuleManagerDelegate;
-import java.util.ArrayList;
-import java.util.List;
-/**
- * A {@link ReactNativeHost} that helps you load everything needed for the New Architecture, both
- * TurboModule delegates and the Fabric Renderer.
- *
- * Please note that this class is used ONLY if you opt-in for the New Architecture (see the
- * `newArchEnabled` property). Is ignored otherwise.
- */
-public class MainApplicationReactNativeHost extends ReactNativeHost {
- public MainApplicationReactNativeHost(Application application) {
- super(application);
- }
- @Override
- public boolean getUseDeveloperSupport() {
- return BuildConfig.DEBUG;
- }
- @Override
- protected List getPackages() {
- List packages = new PackageList(this).getPackages();
- // Packages that cannot be autolinked yet can be added manually here, for example:
- // packages.add(new MyReactNativePackage());
- // TurboModules must also be loaded here providing a valid TurboReactPackage implementation:
- // packages.add(new TurboReactPackage() { ... });
- // If you have custom Fabric Components, their ViewManagers should also be loaded here
- // inside a ReactPackage.
- return packages;
- }
- @Override
- protected String getJSMainModuleName() {
- return "index";
- }
- @NonNull
- @Override
- protected ReactPackageTurboModuleManagerDelegate.Builder
- getReactPackageTurboModuleManagerDelegateBuilder() {
- // Here we provide the ReactPackageTurboModuleManagerDelegate Builder. This is necessary
- // for the new architecture and to use TurboModules correctly.
- return new MainApplicationTurboModuleManagerDelegate.Builder();
- }
- @Override
- protected JSIModulePackage getJSIModulePackage() {
- return new JSIModulePackage() {
- @Override
- public List getJSIModules(
- final ReactApplicationContext reactApplicationContext,
- final JavaScriptContextHolder jsContext) {
- final List specs = new ArrayList<>();
- // Here we provide a new JSIModuleSpec that will be responsible of providing the
- // custom Fabric Components.
- specs.add(
- new JSIModuleSpec() {
- @Override
- public JSIModuleType getJSIModuleType() {
- return JSIModuleType.UIManager;
- }
- @Override
- public JSIModuleProvider getJSIModuleProvider() {
- final ComponentFactory componentFactory = new ComponentFactory();
- CoreComponentsRegistry.register(componentFactory);
- // Here we register a Components Registry.
- // The one that is generated with the template contains no components
- // and just provides you the one from React Native core.
- MainComponentsRegistry.register(componentFactory);
- final ReactInstanceManager reactInstanceManager = getReactInstanceManager();
- ViewManagerRegistry viewManagerRegistry =
- new ViewManagerRegistry(
- reactInstanceManager.getOrCreateViewManagers(reactApplicationContext));
- return new FabricJSIModuleProvider(
- reactApplicationContext,
- componentFactory,
- ReactNativeConfig.DEFAULT_CONFIG,
- viewManagerRegistry);
- }
- });
- return specs;
- }
- };
- }
-}
\ No newline at end of file
diff --git a/example/android/app/src/main/java/com/example/segmentanalyticsreactnative/newarchitecture/components/MainComponentsRegistry.java b/example/android/app/src/main/java/com/example/segmentanalyticsreactnative/newarchitecture/components/MainComponentsRegistry.java
deleted file mode 100644
index c645eb4c4..000000000
--- a/example/android/app/src/main/java/com/example/segmentanalyticsreactnative/newarchitecture/components/MainComponentsRegistry.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.example.segmentanalyticsreactnative.newarchitecture.components;
-
-import com.facebook.jni.HybridData;
-import com.facebook.proguard.annotations.DoNotStrip;
-import com.facebook.react.fabric.ComponentFactory;
-import com.facebook.soloader.SoLoader;
-/**
- * Class responsible to load the custom Fabric Components. This class has native methods and needs a
- * corresponding C++ implementation/header file to work correctly (already placed inside the jni/
- * folder for you).
- *
- * Please note that this class is used ONLY if you opt-in for the New Architecture (see the
- * `newArchEnabled` property). Is ignored otherwise.
- */
-@DoNotStrip
-public class MainComponentsRegistry {
- static {
- SoLoader.loadLibrary("fabricjni");
- }
- @DoNotStrip private final HybridData mHybridData;
- @DoNotStrip
- private native HybridData initHybrid(ComponentFactory componentFactory);
- @DoNotStrip
- private MainComponentsRegistry(ComponentFactory componentFactory) {
- mHybridData = initHybrid(componentFactory);
- }
- @DoNotStrip
- public static MainComponentsRegistry register(ComponentFactory componentFactory) {
- return new MainComponentsRegistry(componentFactory);
- }
-}
\ No newline at end of file
diff --git a/example/android/app/src/main/java/com/example/segmentanalyticsreactnative/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java b/example/android/app/src/main/java/com/example/segmentanalyticsreactnative/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java
deleted file mode 100644
index ccc563a32..000000000
--- a/example/android/app/src/main/java/com/example/segmentanalyticsreactnative/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.example.segmentanalyticsreactnative.newarchitecture.modules;
-
-import com.facebook.jni.HybridData;
-import com.facebook.react.ReactPackage;
-import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
-import com.facebook.react.bridge.ReactApplicationContext;
-import com.facebook.soloader.SoLoader;
-import java.util.List;
-/**
- * Class responsible to load the TurboModules. This class has native methods and needs a
- * corresponding C++ implementation/header file to work correctly (already placed inside the jni/
- * folder for you).
- *
- *
Please note that this class is used ONLY if you opt-in for the New Architecture (see the
- * `newArchEnabled` property). Is ignored otherwise.
- */
-public class MainApplicationTurboModuleManagerDelegate
- extends ReactPackageTurboModuleManagerDelegate {
- private static volatile boolean sIsSoLibraryLoaded;
- protected MainApplicationTurboModuleManagerDelegate(
- ReactApplicationContext reactApplicationContext, List packages) {
- super(reactApplicationContext, packages);
- }
- protected native HybridData initHybrid();
- native boolean canCreateTurboModule(String moduleName);
- public static class Builder extends ReactPackageTurboModuleManagerDelegate.Builder {
- protected MainApplicationTurboModuleManagerDelegate build(
- ReactApplicationContext context, List packages) {
- return new MainApplicationTurboModuleManagerDelegate(context, packages);
- }
- }
- @Override
- protected synchronized void maybeLoadOtherSoLibraries() {
- if (!sIsSoLibraryLoaded) {
- // If you change the name of your application .so file in the Android.mk file,
- // make sure you update the name here as well.
- SoLoader.loadLibrary("rndiffapp_appmodules");
- sIsSoLibraryLoaded = true;
- }
- }
-}
\ No newline at end of file
diff --git a/example/android/app/src/main/jni/Android.mk b/example/android/app/src/main/jni/Android.mk
deleted file mode 100644
index 81f04586b..000000000
--- a/example/android/app/src/main/jni/Android.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-THIS_DIR := $(call my-dir)
-include $(REACT_ANDROID_DIR)/Android-prebuilt.mk
-# If you wish to add a custom TurboModule or Fabric component in your app you
-# will have to include the following autogenerated makefile.
-# include $(GENERATED_SRC_DIR)/codegen/jni/Android.mk
-include $(CLEAR_VARS)
-LOCAL_PATH := $(THIS_DIR)
-# You can customize the name of your application .so file here.
-LOCAL_MODULE := rndiffapp_appmodules
-LOCAL_C_INCLUDES := $(LOCAL_PATH)
-LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
-LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
-# If you wish to add a custom TurboModule or Fabric component in your app you
-# will have to uncomment those lines to include the generated source
-# files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni)
-#
-# LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni
-# LOCAL_SRC_FILES += $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp)
-# LOCAL_EXPORT_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni
-# Here you should add any native library you wish to depend on.
-LOCAL_SHARED_LIBRARIES := \
- libfabricjni \
- libfbjni \
- libfolly_runtime \
- libglog \
- libjsi \
- libreact_codegen_rncore \
- libreact_debug \
- libreact_nativemodule_core \
- libreact_render_componentregistry \
- libreact_render_core \
- libreact_render_debug \
- libreact_render_graphics \
- librrc_view \
- libruntimeexecutor \
- libturbomodulejsijni \
- libyoga
-LOCAL_CFLAGS := -DLOG_TAG=\"ReactNative\" -fexceptions -frtti -std=c++17 -Wall
-include $(BUILD_SHARED_LIBRARY)
\ No newline at end of file
diff --git a/example/android/app/src/main/jni/MainApplicationModuleProvider.cpp b/example/android/app/src/main/jni/MainApplicationModuleProvider.cpp
deleted file mode 100644
index 4b722c7a1..000000000
--- a/example/android/app/src/main/jni/MainApplicationModuleProvider.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "MainApplicationModuleProvider.h"
-#include
-namespace facebook {
-namespace react {
-std::shared_ptr MainApplicationModuleProvider(
- const std::string moduleName,
- const JavaTurboModule::InitParams ¶ms) {
- // Here you can provide your own module provider for TurboModules coming from
- // either your application or from external libraries. The approach to follow
- // is similar to the following (for a library called `samplelibrary`:
- //
- // auto module = samplelibrary_ModuleProvider(moduleName, params);
- // if (module != nullptr) {
- // return module;
- // }
- // return rncore_ModuleProvider(moduleName, params);
- return rncore_ModuleProvider(moduleName, params);
-}
-} // namespace react
-} // namespace facebook
\ No newline at end of file
diff --git a/example/android/app/src/main/jni/MainApplicationProvider.h b/example/android/app/src/main/jni/MainApplicationProvider.h
deleted file mode 100644
index f89ddbd02..000000000
--- a/example/android/app/src/main/jni/MainApplicationProvider.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#pragma once
-#include
-#include
-#include
-namespace facebook {
-namespace react {
-std::shared_ptr MainApplicationModuleProvider(
- const std::string moduleName,
- const JavaTurboModule::InitParams ¶ms);
-} // namespace react
-} // namespace facebook
\ No newline at end of file
diff --git a/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp b/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp
deleted file mode 100644
index decb4e17e..000000000
--- a/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-#include "MainApplicationTurboModuleManagerDelegate.h"
-#include "MainApplicationModuleProvider.h"
-namespace facebook {
-namespace react {
-jni::local_ref
-MainApplicationTurboModuleManagerDelegate::initHybrid(
- jni::alias_ref) {
- return makeCxxInstance();
-}
-void MainApplicationTurboModuleManagerDelegate::registerNatives() {
- registerHybrid({
- makeNativeMethod(
- "initHybrid", MainApplicationTurboModuleManagerDelegate::initHybrid),
- makeNativeMethod(
- "canCreateTurboModule",
- MainApplicationTurboModuleManagerDelegate::canCreateTurboModule),
- });
-}
-std::shared_ptr
-MainApplicationTurboModuleManagerDelegate::getTurboModule(
- const std::string name,
- const std::shared_ptr jsInvoker) {
- // Not implemented yet: provide pure-C++ NativeModules here.
- return nullptr;
-}
-std::shared_ptr
-MainApplicationTurboModuleManagerDelegate::getTurboModule(
- const std::string name,
- const JavaTurboModule::InitParams ¶ms) {
- return MainApplicationModuleProvider(name, params);
-}
-bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule(
- std::string name) {
- return getTurboModule(name, nullptr) != nullptr ||
- getTurboModule(name, {.moduleName = name}) != nullptr;
-}
-} // namespace react
-} // namespace facebook
\ No newline at end of file
diff --git a/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h b/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
deleted file mode 100644
index 5a6167ba9..000000000
--- a/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#include
-#include
-#include
-#include
-namespace facebook {
-namespace react {
-class MainApplicationTurboModuleManagerDelegate
- : public jni::HybridClass<
- MainApplicationTurboModuleManagerDelegate,
- TurboModuleManagerDelegate> {
- public:
- // Adapt it to the package you used for your Java class.
- static constexpr auto kJavaDescriptor =
- "Lcom/rndiffapp/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate;";
- static jni::local_ref initHybrid(jni::alias_ref);
- static void registerNatives();
- std::shared_ptr getTurboModule(
- const std::string name,
- const std::shared_ptr jsInvoker) override;
- std::shared_ptr getTurboModule(
- const std::string name,
- const JavaTurboModule::InitParams ¶ms) override;
- /**
- * Test-only method. Allows user to verify whether a TurboModule can be
- * created by instances of this class.
- */
- bool canCreateTurboModule(std::string name);
-};
-} // namespace react
-} // namespace facebook
diff --git a/example/android/app/src/main/jni/MainComponentsRegistry.cpp b/example/android/app/src/main/jni/MainComponentsRegistry.cpp
deleted file mode 100644
index 01da5875a..000000000
--- a/example/android/app/src/main/jni/MainComponentsRegistry.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-#include "MainComponentsRegistry.h"
-#include
-#include
-#include
-#include
-namespace facebook {
-namespace react {
-MainComponentsRegistry::MainComponentsRegistry(ComponentFactory *delegate) {}
-std::shared_ptr
-MainComponentsRegistry::sharedProviderRegistry() {
- auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry();
- // Custom Fabric Components go here. You can register custom
- // components coming from your App or from 3rd party libraries here.
- //
- // providerRegistry->add(concreteComponentDescriptorProvider<
- // AocViewerComponentDescriptor>());
- return providerRegistry;
-}
-jni::local_ref
-MainComponentsRegistry::initHybrid(
- jni::alias_ref,
- ComponentFactory *delegate) {
- auto instance = makeCxxInstance(delegate);
- auto buildRegistryFunction =
- [](EventDispatcher::Weak const &eventDispatcher,
- ContextContainer::Shared const &contextContainer)
- -> ComponentDescriptorRegistry::Shared {
- auto registry = MainComponentsRegistry::sharedProviderRegistry()
- ->createComponentDescriptorRegistry(
- {eventDispatcher, contextContainer});
- auto mutableRegistry =
- std::const_pointer_cast(registry);
- mutableRegistry->setFallbackComponentDescriptor(
- std::make_shared(
- ComponentDescriptorParameters{
- eventDispatcher, contextContainer, nullptr}));
- return registry;
- };
- delegate->buildRegistryFunction = buildRegistryFunction;
- return instance;
-}
-void MainComponentsRegistry::registerNatives() {
- registerHybrid({
- makeNativeMethod("initHybrid", MainComponentsRegistry::initHybrid),
- });
-}
-} // namespace react
-} // namespace facebook
\ No newline at end of file
diff --git a/example/android/app/src/main/jni/MainComponentsRegistry.h b/example/android/app/src/main/jni/MainComponentsRegistry.h
deleted file mode 100644
index e9a23900d..000000000
--- a/example/android/app/src/main/jni/MainComponentsRegistry.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#pragma once
-#include
-#include
-#include
-#include
-namespace facebook {
-namespace react {
-class MainComponentsRegistry
- : public facebook::jni::HybridClass {
- public:
- // Adapt it to the package you used for your Java class.
- constexpr static auto kJavaDescriptor =
- "Lcom/rndiffapp/newarchitecture/components/MainComponentsRegistry;";
- static void registerNatives();
- MainComponentsRegistry(ComponentFactory *delegate);
- private:
- static std::shared_ptr
- sharedProviderRegistry();
- static jni::local_ref initHybrid(
- jni::alias_ref,
- ComponentFactory *delegate);
-};
-} // namespace react
-} // namespace facebook
\ No newline at end of file
diff --git a/example/android/app/src/main/jni/OnLoad.cpp b/example/android/app/src/main/jni/OnLoad.cpp
deleted file mode 100644
index 6f2082d2a..000000000
--- a/example/android/app/src/main/jni/OnLoad.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-#include
-#include "MainApplicationTurboModuleManagerDelegate.h"
-#include "MainComponentsRegistry.h"
-JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
- return facebook::jni::initialize(vm, [] {
- facebook::react::MainApplicationTurboModuleManagerDelegate::
- registerNatives();
- facebook::react::MainComponentsRegistry::registerNatives();
- });
-}
\ No newline at end of file
diff --git a/example/android/app/src/main/res/drawable/background_splash.xml b/example/android/app/src/main/res/drawable/background_splash.xml
deleted file mode 100644
index e774f4d7f..000000000
--- a/example/android/app/src/main/res/drawable/background_splash.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/example/android/app/src/main/res/drawable/bootsplash.xml b/example/android/app/src/main/res/drawable/bootsplash.xml
deleted file mode 100644
index 1bf5acbde..000000000
--- a/example/android/app/src/main/res/drawable/bootsplash.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
- -
-
-
-
diff --git a/example/android/app/src/main/res/mipmap-hdpi/bootsplash_logo.png b/example/android/app/src/main/res/mipmap-hdpi/bootsplash_logo.png
deleted file mode 100644
index 3df66aae4bac2c063947df5ee94d012614d79583..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 7066
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
Ef_-q#p#T5?
diff --git a/example/android/app/src/main/res/mipmap-hdpi/launcher.png b/example/android/app/src/main/res/mipmap-hdpi/launcher.png
deleted file mode 100644
index c2b8f360fa13ab28c34707cc5ec65fbeb07c1340..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 10024
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
HnZ5l#*l^#5
diff --git a/example/android/app/src/main/res/mipmap-hdpi/launcher_round.png b/example/android/app/src/main/res/mipmap-hdpi/launcher_round.png
deleted file mode 100644
index 78517b60f8f4c75489d079d355c0b492aa505f6e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 17818
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