mattermost-mobile/patches/react-native+0.64.2.patch
Mattermost Build 5b5b7bc620
Bring back refresh control for channels and threads (#5511) (#5520)
(cherry picked from commit 073b836beb)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-07-07 13:04:07 -04:00

102 lines
5.1 KiB
Diff

diff --git a/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js b/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
index a069a24..a21fa38 100644
--- a/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
+++ b/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
@@ -1222,9 +1222,15 @@ class ScrollView extends React.Component<Props, State> {
// 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: [baseStyle, outer]},
+ {style: [baseStyle, outer, inverted]},
<ScrollViewClass
{...props}
style={[baseStyle, inner]}
diff --git a/node_modules/react-native/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js b/node_modules/react-native/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js
index dffccc4..dc426c2 100644
--- a/node_modules/react-native/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js
+++ b/node_modules/react-native/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js
@@ -553,7 +553,7 @@ if (global.RN$Bridgeless) {
AndroidTextInputNativeComponent = 'AndroidTextInput';
} else {
AndroidTextInputNativeComponent = requireNativeComponent<NativeProps>(
- 'AndroidTextInput',
+ 'PasteableTextInputAndroid',
);
}
diff --git a/node_modules/react-native/Libraries/Lists/VirtualizedList.js b/node_modules/react-native/Libraries/Lists/VirtualizedList.js
index 2249d54..cc303b3 100644
--- a/node_modules/react-native/Libraries/Lists/VirtualizedList.js
+++ b/node_modules/react-native/Libraries/Lists/VirtualizedList.js
@@ -18,6 +18,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');
@@ -2061,7 +2062,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 dd34c98..4d74938 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 = config.extraPackagerArgs ?: [];
@@ -171,7 +171,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"]
@@ -215,7 +215,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:
@@ -312,7 +312,7 @@ afterEvaluate {
// This should really be done by packaging all Hermes releated 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 {