From 6e13ca30158e2e293dcc43bcf6656f1f8312e3f3 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 21 Aug 2020 14:15:17 -0700 Subject: [PATCH] Integrate Android Picker into RN Tester OSS app Summary: This diff integrates AndroidPicker into RN Tester OSS app changelog: [inernal] internal Reviewed By: fkgozali Differential Revision: D23199578 fbshipit-source-id: 7c34b0ee4887ffc15dbdffad464230b19f176fc8 --- .../com/facebook/react/fabric/jni/Android.mk | 3 +- .../java/com/facebook/react/fabric/jni/BUCK | 1 + .../fabric/jni/CoreComponentsRegistry.cpp | 6 +++ .../renderer/components/picker/Android.mk | 37 +++++++++++++++++++ 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 ReactCommon/react/renderer/components/picker/Android.mk diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk index 3a607e1137f..bc29dd15e88 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk @@ -11,7 +11,7 @@ LOCAL_MODULE := fabricjni LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) -LOCAL_SHARED_LIBRARIES := libreactconfig libreact_render_components_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core libreact_render_mapbuffer react_render_componentregistry libreact_render_components_view libreact_render_components_unimplementedview libreact_render_components_root libreact_render_components_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_render_viewmanagers react_render_components_text libreact_render_components_image react_render_components_textinput +LOCAL_SHARED_LIBRARIES := libreactconfig libreact_render_components_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core libreact_render_mapbuffer react_render_componentregistry libreact_render_components_view libreact_render_components_unimplementedview libreact_render_components_root libreact_render_components_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_render_viewmanagers react_render_components_text libreact_render_components_image react_render_components_textinput react_render_components_picker LOCAL_STATIC_LIBRARIES := @@ -42,6 +42,7 @@ $(call import-module,react/renderer/core) $(call import-module,react/renderer/components/image) $(call import-module,react/renderer/components/modal) $(call import-module,react/renderer/components/root) +$(call import-module,react/renderer/components/picker) $(call import-module,react/renderer/components/scrollview) $(call import-module,react/renderer/components/text) $(call import-module,react/renderer/components/textinput) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK index a6cab8b8310..20bcef1c872 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK @@ -48,6 +48,7 @@ rn_xplat_cxx_library( react_native_xplat_target("react/renderer/components/image:image"), react_native_xplat_target("react/renderer/components/text:text"), react_native_xplat_target("react/renderer/components/modal:modal"), + react_native_xplat_target("react/renderer/components/picker:androidpicker"), react_native_xplat_target("react/renderer/components/textinput:androidtextinput"), ], ) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp index 5e7df5bbd4a..7a02fc8fca4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp @@ -12,6 +12,8 @@ #include #include +#include +#include #include #include #include @@ -55,6 +57,10 @@ CoreComponentsRegistry::sharedProviderRegistry() { concreteComponentDescriptorProvider()); providerRegistry->add(concreteComponentDescriptorProvider< AndroidDrawerLayoutComponentDescriptor>()); + providerRegistry->add(concreteComponentDescriptorProvider< + AndroidDialogPickerComponentDescriptor>()); + providerRegistry->add(concreteComponentDescriptorProvider< + AndroidDropdownPickerComponentDescriptor>()); return providerRegistry; }(); diff --git a/ReactCommon/react/renderer/components/picker/Android.mk b/ReactCommon/react/renderer/components/picker/Android.mk new file mode 100644 index 00000000000..be55965cece --- /dev/null +++ b/ReactCommon/react/renderer/components/picker/Android.mk @@ -0,0 +1,37 @@ +# Copyright (c) Facebook, Inc. and its affiliates. +# +# This source code is licensed under the MIT license found in the +# LICENSE file in the root directory of this source tree. + +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := react_render_components_picker + +LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/androidpicker/react/renderer/components/androidpicker/*.cpp) + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/androidpicker/react/renderer/components/androidpicker/ +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/androidpicker/ + +LOCAL_CFLAGS := \ + -DLOG_TAG=\"Fabric\" + +LOCAL_CFLAGS += -fexceptions -frtti -std=c++14 -Wall + +LOCAL_STATIC_LIBRARIES := + +LOCAL_SHARED_LIBRARIES := libyoga glog libfolly_json libglog_init libreact_render_core libreact_render_debug libreact_render_graphics libreact_render_uimanager libreact_render_components_view libreact_render_componentregistry libreact_render_viewmanagers + +include $(BUILD_SHARED_LIBRARY) + +$(call import-module,glog) +$(call import-module,folly) +$(call import-module,fbgloginit) +$(call import-module,react/renderer/core) +$(call import-module,react/renderer/componentregistry) +$(call import-module,react/renderer/debug) +$(call import-module,react/renderer/graphics) +$(call import-module,react/renderer/uimanager) +$(call import-module,react/renderer/components/view) +$(call import-module,yogajni)