Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
9595635
Renamed codegen library to navigationreactnative
grahammendick Aug 27, 2022
a744d44
Renamed folder to codegen lib name and run on ios
grahammendick Aug 27, 2022
ca6288f
Moved c++ state into root cpp folder
grahammendick Aug 27, 2022
8227a35
Revert "Moved c++ state into root cpp folder"
grahammendick Sep 14, 2022
e597051
Added react-native.config.js for android build
grahammendick Sep 14, 2022
dfc5c56
Added custom android make file
grahammendick Sep 14, 2022
9348013
Added CMakeLists because run-android asked for one
grahammendick Sep 14, 2022
6258613
Copied all codegen-ed into hand-written cpp folder
grahammendick Sep 14, 2022
374b537
Fixed typo - was using names from Android.mk
grahammendick Sep 17, 2022
3999f25
Renamed to match the .h file
grahammendick Sep 17, 2022
4d15c46
Deleted redundant Android.mk
grahammendick Sep 17, 2022
41573b0
Updated version to wip
grahammendick Sep 17, 2022
6f67a69
Got a successful build on android
grahammendick Sep 17, 2022
2cb889e
Removed library name now reading from package.json
grahammendick Sep 17, 2022
b66a5df
Merge branch 'master' into auto-link
grahammendick Sep 17, 2022
af514f7
Pointed at codegen because didn't work in ios
grahammendick Sep 18, 2022
a8261fe
Removed redundant section
grahammendick Sep 18, 2022
777d180
Pointed at generated modules instead of copying
grahammendick Sep 18, 2022
20addab
Removed redundant directory
grahammendick Sep 18, 2022
1838236
Tweaked format
grahammendick Sep 18, 2022
2adf3eb
Tweaked format
grahammendick Sep 18, 2022
159a56e
Got it working on android and ios!!
grahammendick Sep 18, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ build/npm/**/ios
build/npm/**/cpp
build/npm/**/Native*Module.js
build/npm/**/*NativeComponent.js
build/npm/**/react-native.config.js
npm-debug.log
node_modules
!Navigation*/src/node_modules
Expand Down
7 changes: 0 additions & 7 deletions NavigationReactNative/src/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,3 @@ dependencies {
implementation 'androidx.viewpager2:viewpager2:1.0.0'
}

if (isNewArchitectureEnabled()) {
react {
jsRootDir = file("../")
libraryName = "navigation-react-native"
codegenJavaPackageName = "com.navigation.reactnative"
}
}
58 changes: 58 additions & 0 deletions NavigationReactNative/src/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

cmake_minimum_required(VERSION 3.13)
set(CMAKE_VERBOSE_MAKEFILE on)

file(
GLOB react_codegen_SRCS CONFIGURE_DEPENDS
*.cpp
react/renderer/components/navigationreactnative/*.cpp
../android/build/generated/source/codegen/jni/react/renderer/components/navigationreactnative/*.cpp
)

add_library(
react_codegen_navigationreactnative
SHARED
${react_codegen_SRCS}
)

target_include_directories(
react_codegen_navigationreactnative
PUBLIC
.
react/renderer/components/navigationreactnative
../android/build/generated/source/codegen/jni
../android/build/generated/source/codegen/jni/react/renderer/components/navigationreactnative
)

target_link_libraries(
react_codegen_navigationreactnative
fbjni
folly_runtime
glog
jsi
react_codegen_rncore
react_debug
react_nativemodule_core
react_render_core
react_render_mapbuffer
react_render_imagemanager
react_render_debug
react_render_graphics
rrc_view
turbomodulejsijni
yoga
)

target_compile_options(
react_codegen_navigationreactnative
PRIVATE
-DLOG_TAG=\"ReactNative\"
-fexceptions
-frtti
-std=c++17
-Wall
)
34 changes: 34 additions & 0 deletions NavigationReactNative/src/cpp/navigationreactnative.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@

/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GenerateModuleJniCpp.js
*/

#include "navigationreactnative.h"

namespace facebook {
namespace react {

static facebook::jsi::Value __hostFunction_NativeMaterial3ModuleSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
static jmethodID cachedMethodId = nullptr;
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, ObjectKind, "getConstants", "()Ljava/util/Map;", args, count, cachedMethodId);
}

NativeMaterial3ModuleSpecJSI::NativeMaterial3ModuleSpecJSI(const JavaTurboModule::InitParams &params)
: JavaTurboModule(params) {
methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeMaterial3ModuleSpecJSI_getConstants};
}

std::shared_ptr<TurboModule> navigationreactnative_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params) {
if (moduleName == "Material3") {
return std::make_shared<NativeMaterial3ModuleSpecJSI>(params);
}
return nullptr;
}

} // namespace react
} // namespace facebook
38 changes: 38 additions & 0 deletions NavigationReactNative/src/cpp/navigationreactnative.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GenerateModuleJniH.js
*/

#pragma once

#include <ReactCommon/JavaTurboModule.h>
#include <ReactCommon/TurboModule.h>
#include <jsi/jsi.h>
#include <react/renderer/components/navigationreactnative/NVActionBarComponentDescriptor.h>
#include <react/renderer/components/navigationreactnative/NVBarButtonComponentDescriptor.h>
#include <react/renderer/components/navigationreactnative/NVSearchBarComponentDescriptor.h>
#include <react/renderer/components/navigationreactnative/NVTabBarItemComponentDescriptor.h>
#include <react/renderer/components/navigationreactnative/NVTitleBarComponentDescriptor.h>

namespace facebook {
namespace react {

/**
* JNI C++ class for module 'NativeMaterial3Module'
*/
class JSI_EXPORT NativeMaterial3ModuleSpecJSI : public JavaTurboModule {
public:
NativeMaterial3ModuleSpecJSI(const JavaTurboModule::InitParams &params);
};


JSI_EXPORT
std::shared_ptr<TurboModule> navigationreactnative_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params);

} // namespace react
} // namespace facebook
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#pragma once

#include "NVActionBarState.h"
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>

namespace facebook {
namespace react {

extern const char NVActionBarComponentName[];
JSI_EXPORT extern const char NVActionBarComponentName[];

class NVActionBarShadowNode final : public ConcreteViewShadowNode<
class JSI_EXPORT NVActionBarShadowNode final : public ConcreteViewShadowNode<
NVActionBarComponentName,
NVActionBarProps,
NVActionBarEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
namespace facebook {
namespace react {

class NVActionBarState final {
class JSI_EXPORT NVActionBarState final {
public:
using Shared = std::shared_ptr<const NVActionBarState>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

#include "NVBarButtonState.h"
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/imagemanager/ImageManager.h>

namespace facebook {
namespace react {

extern const char NVBarButtonComponentName[];
JSI_EXPORT extern const char NVBarButtonComponentName[];

class NVBarButtonShadowNode final: public ConcreteViewShadowNode<
class JSI_EXPORT NVBarButtonShadowNode final: public ConcreteViewShadowNode<
NVBarButtonComponentName,
NVBarButtonProps,
NVBarButtonEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#pragma once

#include "NVSearchBarState.h"
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>

namespace facebook {
namespace react {

extern const char NVSearchBarComponentName[];
JSI_EXPORT extern const char NVSearchBarComponentName[];

class NVSearchBarShadowNode final : public ConcreteViewShadowNode<
class JSI_EXPORT NVSearchBarShadowNode final : public ConcreteViewShadowNode<
NVSearchBarComponentName,
NVSearchBarProps,
NVSearchBarEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
namespace facebook {
namespace react {

class NVSearchBarState final {
class JSI_EXPORT NVSearchBarState final {
public:
using Shared = std::shared_ptr<const NVSearchBarState>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

#include "NVTabBarItemState.h"
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/imagemanager/ImageManager.h>

namespace facebook {
namespace react {

extern const char NVTabBarItemComponentName[];
JSI_EXPORT extern const char NVTabBarItemComponentName[];

class NVTabBarItemShadowNode final: public ConcreteViewShadowNode<
class JSI_EXPORT NVTabBarItemShadowNode final: public ConcreteViewShadowNode<
NVTabBarItemComponentName,
NVTabBarItemProps,
NVTabBarItemEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#pragma once

#include "NVTitleBarState.h"
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>

namespace facebook {
namespace react {

extern const char NVTitleBarComponentName[];
JSI_EXPORT extern const char NVTitleBarComponentName[];

class NVTitleBarShadowNode final : public ConcreteViewShadowNode<
class JSI_EXPORT NVTitleBarShadowNode final : public ConcreteViewShadowNode<
NVTitleBarComponentName,
NVTitleBarProps,
NVTitleBarEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
namespace facebook {
namespace react {

class NVTitleBarState final {
class JSI_EXPORT NVTitleBarState final {
public:
using Shared = std::shared_ptr<const NVTitleBarState>;

Expand Down
10 changes: 5 additions & 5 deletions NavigationReactNative/src/ios/NVActionBarComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVActionBarComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <navigation-react-native/NVActionBarComponentDescriptor.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>
#import <NVActionBarComponentDescriptor.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
10 changes: 5 additions & 5 deletions NavigationReactNative/src/ios/NVBarButtonComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVBarButtonComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>
#import <react/renderer/imagemanager/ImageResponseObserverCoordinator.h>
#import <navigation-react-native/NVBarButtonComponentDescriptor.h>
#import <NVBarButtonComponentDescriptor.h>

#import "RCTFabricComponentsPlugins.h"
#import <React/RCTFont.h>
Expand Down
8 changes: 4 additions & 4 deletions NavigationReactNative/src/ios/NVBottomAppBarComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVBottomAppBarComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
8 changes: 4 additions & 4 deletions NavigationReactNative/src/ios/NVBottomSheetComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVBottomSheetComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
8 changes: 4 additions & 4 deletions NavigationReactNative/src/ios/NVCollapsingBarComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVCollapsingBarComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVCoordinatorLayoutComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVExtendedFloatingActionButtonComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
Loading