Skip to content

Commit 63ce56f

Browse files
Liubov Zverevafacebook-github-bot
Liubov Zvereva
authored andcommitted
Stop crashing when open MP on android: Revert D6688488
Reviewed By: achen1 Differential Revision: D6750774 fbshipit-source-id: 96f9e0bd244fdbf1a8784f77a74686d886424529
1 parent f5efc46 commit 63ce56f

File tree

1 file changed

+35
-7
lines changed

1 file changed

+35
-7
lines changed

Libraries/Text/Text.js

+35-7
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,38 @@
1515
const ColorPropType = require('ColorPropType');
1616
const EdgeInsetsPropType = require('EdgeInsetsPropType');
1717
const NativeMethodsMixin = require('NativeMethodsMixin');
18+
const Platform = require('Platform');
1819
const React = require('React');
1920
const PropTypes = require('prop-types');
21+
const ReactNativeViewAttributes = require('ReactNativeViewAttributes');
2022
const StyleSheetPropType = require('StyleSheetPropType');
2123
const TextStylePropTypes = require('TextStylePropTypes');
2224
const Touchable = require('Touchable');
23-
const UIManager = require('UIManager');
2425

2526
const createReactClass = require('create-react-class');
26-
const requireNativeComponent = require('requireNativeComponent');
27+
const createReactNativeComponentClass = require('createReactNativeComponentClass');
2728
const mergeFast = require('mergeFast');
2829
const processColor = require('processColor');
2930
const {ViewContextTypes} = require('ViewContext');
3031

3132
const stylePropType = StyleSheetPropType(TextStylePropTypes);
3233

34+
const viewConfig = {
35+
validAttributes: mergeFast(ReactNativeViewAttributes.UIView, {
36+
isHighlighted: true,
37+
numberOfLines: true,
38+
ellipsizeMode: true,
39+
allowFontScaling: true,
40+
disabled: true,
41+
selectable: true,
42+
selectionColor: true,
43+
adjustsFontSizeToFit: true,
44+
minimumFontScale: true,
45+
textBreakStrategy: true,
46+
}),
47+
uiViewClassName: 'RCTText',
48+
};
49+
3350
import type {ViewChildContext} from 'ViewContext';
3451

3552
/**
@@ -404,6 +421,7 @@ const Text = createReactClass({
404421
});
405422
},
406423
mixins: [NativeMethodsMixin],
424+
viewConfig: viewConfig,
407425
getChildContext(): ViewChildContext {
408426
return {
409427
isInAParentText: true,
@@ -551,11 +569,21 @@ type RectOffset = {
551569
bottom: number,
552570
};
553571

554-
const PRESS_RECT_OFFSET = {top: 20, left: 20, right: 20, bottom: 30};
572+
var PRESS_RECT_OFFSET = {top: 20, left: 20, right: 20, bottom: 30};
573+
574+
var RCTText = createReactNativeComponentClass(
575+
viewConfig.uiViewClassName,
576+
() => viewConfig,
577+
);
578+
var RCTVirtualText = RCTText;
555579

556-
const RCTText = requireNativeComponent('RCTText');
557-
const RCTVirtualText = UIManager.RCTVirtualText
558-
? requireNativeComponent('RCTVirtualText')
559-
: RCTText;
580+
if (Platform.OS === 'android') {
581+
RCTVirtualText = createReactNativeComponentClass('RCTVirtualText', () => ({
582+
validAttributes: mergeFast(ReactNativeViewAttributes.UIView, {
583+
isHighlighted: true,
584+
}),
585+
uiViewClassName: 'RCTVirtualText',
586+
}));
587+
}
560588

561589
module.exports = Text;

0 commit comments

Comments
 (0)