From 397573ffed22930c04384c46024a8e59dbb5b197 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Tue, 9 Oct 2018 16:30:11 -0700 Subject: [PATCH] Fix onPress for TextView containing just RawText Summary: This diff enables the onPress event for TextViews that render RawText Reviewed By: shergin Differential Revision: D10222183 fbshipit-source-id: 4b6a6ad548286453f7dd3a14a5e4ee453a55b923 --- .../com/facebook/react/views/text/TextLayoutManager.java | 4 +--- ReactCommon/fabric/attributedstring/conversions.h | 9 ++++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java index 12b4fc065..69990f087 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java @@ -143,9 +143,7 @@ public class TextLayoutManager { new CustomTextTransformSpan(textAttributes.mTextTransform))); } - //TODO: add react tag as part of the fragments, react tag is used on Touch events - int reactTag = 1; - + int reactTag = fragment.getInt("reactTag"); ops.add(new SetSpanOperation(start, end, new ReactTagSpan(reactTag))); } } diff --git a/ReactCommon/fabric/attributedstring/conversions.h b/ReactCommon/fabric/attributedstring/conversions.h index 9e728e61e..5a9dc4feb 100644 --- a/ReactCommon/fabric/attributedstring/conversions.h +++ b/ReactCommon/fabric/attributedstring/conversions.h @@ -7,14 +7,16 @@ #pragma once +#include +#include #include #include #include -#include -#include #include -#include +#include +#include #include +#include #include namespace facebook { @@ -474,6 +476,7 @@ inline folly::dynamic toDynamic(const AttributedString &attributedString) { for (auto fragment : attributedString.getFragments()) { folly::dynamic dynamicFragment = folly::dynamic::object(); dynamicFragment["string"] = fragment.string; + dynamicFragment["reactTag"] = fragment.parentShadowNode->getTag(); dynamicFragment["textAttributes"] = toDynamic(fragment.textAttributes); fragments.push_back(dynamicFragment); }