diff --git a/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js b/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js index 8eca425..f0df04f 100644 --- a/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js +++ b/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js @@ -1768,9 +1768,15 @@ class ScrollView extends React.Component { // Note: we should split props.style on the inner and outer props // however, the ScrollView still needs the baseStyle to be scrollable const {outer, inner} = splitLayoutProps(flattenStyle(props.style)); + let inverted; + if (inner.scaleY) { + inverted = {scaleY: -1}; + delete inner['scaleY'] + } + return React.cloneElement( refreshControl, - {style: StyleSheet.compose(baseStyle, outer)}, + {style: [baseStyle, outer, inverted]}, ({ }); let AndroidTextInputNativeComponent = NativeComponentRegistry.get( - 'AndroidTextInput', + 'PasteableTextInputAndroid', () => AndroidTextInputViewConfig, ); diff --git a/node_modules/react-native/Libraries/Lists/VirtualizedList.js b/node_modules/react-native/Libraries/Lists/VirtualizedList.js index a7c1567..1531a45 100644 --- a/node_modules/react-native/Libraries/Lists/VirtualizedList.js +++ b/node_modules/react-native/Libraries/Lists/VirtualizedList.js @@ -16,6 +16,7 @@ const ScrollView = require('../Components/ScrollView/ScrollView'); const StyleSheet = require('../StyleSheet/StyleSheet'); const View = require('../Components/View/View'); const ViewabilityHelper = require('./ViewabilityHelper'); +const Platform = require('../Utilities/Platform'); const flattenStyle = require('../StyleSheet/flattenStyle'); const infoLog = require('../Utilities/infoLog'); @@ -2122,7 +2123,14 @@ function describeNestedLists(childList: { const styles = StyleSheet.create({ verticallyInverted: { - transform: [{scaleY: -1}], + ...Platform.select({ + android: { + scaleY: -1, + }, + ios: { + transform: [{scaleY: -1}], + }, + }), }, horizontallyInverted: { transform: [{scaleX: -1}], diff --git a/node_modules/react-native/react.gradle b/node_modules/react-native/react.gradle index 84b1f60..0ffc592 100644 --- a/node_modules/react-native/react.gradle +++ b/node_modules/react-native/react.gradle @@ -151,7 +151,7 @@ afterEvaluate { // Set up dev mode def devEnabled = !(config."devDisabledIn${targetName}" - || targetName.toLowerCase().contains("release")) + || targetName.toLowerCase().contains("release") || targetName.toLowerCase().contains("unsigned")) def extraArgs = [] @@ -180,7 +180,7 @@ afterEvaluate { def hermesFlags; def hbcTempFile = file("${jsBundleFile}.hbc") exec { - if (targetName.toLowerCase().contains("release")) { + if (targetName.toLowerCase().contains("release") || targetName.toLowerCase().contains("unsigned")) { // Can't use ?: since that will also substitute valid empty lists hermesFlags = config.hermesFlagsRelease if (hermesFlags == null) hermesFlags = ["-O", "-output-source-map"] @@ -224,7 +224,7 @@ afterEvaluate { ? config."bundleIn${targetName}" : config."bundleIn${variant.buildType.name.capitalize()}" != null ? config."bundleIn${variant.buildType.name.capitalize()}" - : targetName.toLowerCase().contains("release") + : (targetName.toLowerCase().contains("release") || targetName.toLowerCase().contains("unsigned")) } // Expose a minimal interface on the application variant and the task itself: @@ -321,7 +321,7 @@ afterEvaluate { // This should really be done by packaging all Hermes related libs into // two separate HermesDebug and HermesRelease AARs, but until then we'll // kludge it by deleting the .so files out of the /transforms/ directory. - def isRelease = targetName.toLowerCase().contains("release") + def isRelease = targetName.toLowerCase().contains("release") || targetName.toLowerCase().contains("unsigned") def libDir = "$buildDir/intermediates/transforms/" def vmSelectionAction = { fileTree(libDir).matching {