react-native 0.76.0-rc.0 → 0.76.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +9 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +11 -2
- package/Libraries/ReactNative/getNativeComponentAttributes.js +4 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +98 -5
- package/Libraries/StyleSheet/StyleSheetTypes.js +5 -5
- package/Libraries/StyleSheet/processBoxShadow.js +5 -7
- package/Libraries/StyleSheet/processFilter.js +4 -4
- package/React/Base/RCTVersion.m +1 -1
- package/React/Views/RCTViewManager.m +10 -9
- package/ReactAndroid/api/ReactAndroid.api +27 -0
- package/ReactAndroid/build.gradle.kts +17 -8
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +13 -14
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +14 -9
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +26 -21
- package/{sdks/ossonly-soloader/src/main/java/com/facebook/soloader/MergedSoMapping.kt → ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt} +6 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +2 -2
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +2 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +4 -4
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +3 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +7 -0
- package/gradle/libs.versions.toml +2 -0
- package/package.json +10 -11
- package/scripts/cocoapods/privacy_manifest_utils.rb +23 -8
- package/sdks/hermes-engine/utils/build-apple-framework.sh +0 -12
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -9
- package/types/experimental.d.ts +0 -105
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/DoNotOptimize.kt +0 -10
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/SoLoader.kt +0 -53
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoader.kt +0 -28
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoaderDelegate.kt +0 -23
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/SystemDelegate.kt +0 -10
|
@@ -160,6 +160,9 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
160
160
|
snapToInterval: true,
|
|
161
161
|
snapToOffsets: true,
|
|
162
162
|
snapToStart: true,
|
|
163
|
+
verticalScrollIndicatorInsets: {
|
|
164
|
+
diff: require('../../Utilities/differ/insetsDiffer'),
|
|
165
|
+
},
|
|
163
166
|
zoomScale: true,
|
|
164
167
|
...ConditionallyIgnoredEventHandlers({
|
|
165
168
|
onScrollBeginDrag: true,
|
|
@@ -85,8 +85,15 @@ const RCTTextInputViewConfig = {
|
|
|
85
85
|
topContentSizeChange: {
|
|
86
86
|
registrationName: 'onContentSizeChange',
|
|
87
87
|
},
|
|
88
|
+
topChangeSync: {
|
|
89
|
+
registrationName: 'onChangeSync',
|
|
90
|
+
},
|
|
91
|
+
topKeyPressSync: {
|
|
92
|
+
registrationName: 'onKeyPressSync',
|
|
93
|
+
},
|
|
88
94
|
},
|
|
89
95
|
validAttributes: {
|
|
96
|
+
dynamicTypeRamp: true,
|
|
90
97
|
fontSize: true,
|
|
91
98
|
fontWeight: true,
|
|
92
99
|
fontVariant: true,
|
|
@@ -150,6 +157,8 @@ const RCTTextInputViewConfig = {
|
|
|
150
157
|
onSelectionChange: true,
|
|
151
158
|
onContentSizeChange: true,
|
|
152
159
|
onScroll: true,
|
|
160
|
+
onChangeSync: true,
|
|
161
|
+
onKeyPressSync: true,
|
|
153
162
|
}),
|
|
154
163
|
},
|
|
155
164
|
};
|
|
@@ -120,7 +120,7 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
|
|
|
120
120
|
/**
|
|
121
121
|
* Filter
|
|
122
122
|
*/
|
|
123
|
-
|
|
123
|
+
filter: {process: processFilter},
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* MixBlendMode
|
|
@@ -135,7 +135,7 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
|
|
|
135
135
|
/*
|
|
136
136
|
* BoxShadow
|
|
137
137
|
*/
|
|
138
|
-
|
|
138
|
+
boxShadow: {process: processBoxShadow},
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
141
|
* Linear Gradient
|
|
@@ -169,10 +169,10 @@ const validAttributesForNonEventProps = {
|
|
|
169
169
|
experimental_backgroundImage: {
|
|
170
170
|
process: require('../StyleSheet/processBackgroundImage').default,
|
|
171
171
|
},
|
|
172
|
-
|
|
172
|
+
boxShadow: {
|
|
173
173
|
process: require('../StyleSheet/processBoxShadow').default,
|
|
174
174
|
},
|
|
175
|
-
|
|
175
|
+
filter: {
|
|
176
176
|
process: require('../StyleSheet/processFilter').default,
|
|
177
177
|
},
|
|
178
178
|
experimental_mixBlendMode: true,
|
|
@@ -198,6 +198,7 @@ const validAttributesForNonEventProps = {
|
|
|
198
198
|
testID: true,
|
|
199
199
|
backgroundColor: {process: require('../StyleSheet/processColor').default},
|
|
200
200
|
backfaceVisibility: true,
|
|
201
|
+
cursor: true,
|
|
201
202
|
opacity: true,
|
|
202
203
|
shadowColor: {process: require('../StyleSheet/processColor').default},
|
|
203
204
|
shadowOffset: {diff: require('../Utilities/differ/sizesDiffer')},
|
|
@@ -216,16 +217,18 @@ const validAttributesForNonEventProps = {
|
|
|
216
217
|
role: true,
|
|
217
218
|
borderRadius: true,
|
|
218
219
|
borderColor: {process: require('../StyleSheet/processColor').default},
|
|
220
|
+
borderBlockColor: {process: require('../StyleSheet/processColor').default},
|
|
219
221
|
borderCurve: true,
|
|
220
222
|
borderWidth: true,
|
|
223
|
+
borderBlockWidth: true,
|
|
221
224
|
borderStyle: true,
|
|
222
225
|
hitSlop: {diff: require('../Utilities/differ/insetsDiffer')},
|
|
223
226
|
collapsable: true,
|
|
224
227
|
collapsableChildren: true,
|
|
225
|
-
|
|
228
|
+
filter: {
|
|
226
229
|
process: require('../StyleSheet/processFilter').default,
|
|
227
230
|
},
|
|
228
|
-
|
|
231
|
+
boxShadow: {
|
|
229
232
|
process: require('../StyleSheet/processBoxShadow').default,
|
|
230
233
|
},
|
|
231
234
|
experimental_mixBlendMode: true,
|
|
@@ -240,9 +243,15 @@ const validAttributesForNonEventProps = {
|
|
|
240
243
|
borderLeftWidth: true,
|
|
241
244
|
borderLeftColor: {process: require('../StyleSheet/processColor').default},
|
|
242
245
|
borderStartWidth: true,
|
|
246
|
+
borderBlockStartWidth: true,
|
|
243
247
|
borderStartColor: {process: require('../StyleSheet/processColor').default},
|
|
248
|
+
borderBlockStartColor: {
|
|
249
|
+
process: require('../StyleSheet/processColor').default,
|
|
250
|
+
},
|
|
244
251
|
borderEndWidth: true,
|
|
252
|
+
borderBlockEndWidth: true,
|
|
245
253
|
borderEndColor: {process: require('../StyleSheet/processColor').default},
|
|
254
|
+
borderBlockEndColor: {process: require('../StyleSheet/processColor').default},
|
|
246
255
|
|
|
247
256
|
borderTopLeftRadius: true,
|
|
248
257
|
borderTopRightRadius: true,
|
|
@@ -188,6 +188,10 @@ function getProcessorForType(typeName: string): ?(nextProp: any) => any {
|
|
|
188
188
|
case 'UIImage':
|
|
189
189
|
case 'RCTImageSource':
|
|
190
190
|
return resolveAssetSource;
|
|
191
|
+
case 'BoxShadowArray':
|
|
192
|
+
return processBoxShadow;
|
|
193
|
+
case 'FilterArray':
|
|
194
|
+
return processFilter;
|
|
191
195
|
// Android Types
|
|
192
196
|
case 'Color':
|
|
193
197
|
return processColor;
|
|
@@ -110,11 +110,102 @@ export interface FlexStyle {
|
|
|
110
110
|
top?: DimensionValue | undefined;
|
|
111
111
|
width?: DimensionValue | undefined;
|
|
112
112
|
zIndex?: number | undefined;
|
|
113
|
+
direction?: 'inherit' | 'ltr' | 'rtl' | undefined;
|
|
113
114
|
|
|
114
115
|
/**
|
|
115
|
-
*
|
|
116
|
+
* Equivalent to `top`, `bottom`, `right` and `left`
|
|
116
117
|
*/
|
|
117
|
-
|
|
118
|
+
inset?: DimensionValue | undefined;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Equivalent to `top`, `bottom`
|
|
122
|
+
*/
|
|
123
|
+
insetBlock?: DimensionValue | undefined;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Equivalent to `bottom`
|
|
127
|
+
*/
|
|
128
|
+
insetBlockEnd?: DimensionValue | undefined;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Equivalent to `top`
|
|
132
|
+
*/
|
|
133
|
+
insetBlockStart?: DimensionValue | undefined;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Equivalent to `right` and `left`
|
|
137
|
+
*/
|
|
138
|
+
insetInline?: DimensionValue | undefined;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Equivalent to `right` or `left`
|
|
142
|
+
*/
|
|
143
|
+
insetInlineEnd?: DimensionValue | undefined;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Equivalent to `right` or `left`
|
|
147
|
+
*/
|
|
148
|
+
insetInlineStart?: DimensionValue | undefined;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Equivalent to `marginVertical`
|
|
152
|
+
*/
|
|
153
|
+
marginBlock?: DimensionValue | undefined;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Equivalent to `marginBottom`
|
|
157
|
+
*/
|
|
158
|
+
marginBlockEnd?: DimensionValue | undefined;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Equivalent to `marginTop`
|
|
162
|
+
*/
|
|
163
|
+
marginBlockStart?: DimensionValue | undefined;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Equivalent to `marginHorizontal`
|
|
167
|
+
*/
|
|
168
|
+
marginInline?: DimensionValue | undefined;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Equivalent to `marginEnd`
|
|
172
|
+
*/
|
|
173
|
+
marginInlineEnd?: DimensionValue | undefined;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Equivalent to `marginStart`
|
|
177
|
+
*/
|
|
178
|
+
marginInlineStart?: DimensionValue | undefined;
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Equivalent to `paddingVertical`
|
|
182
|
+
*/
|
|
183
|
+
paddingBlock?: DimensionValue | undefined;
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Equivalent to `paddingBottom`
|
|
187
|
+
*/
|
|
188
|
+
paddingBlockEnd?: DimensionValue | undefined;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Equivalent to `paddingTop`
|
|
192
|
+
*/
|
|
193
|
+
paddingBlockStart?: DimensionValue | undefined;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Equivalent to `paddingHorizontal`
|
|
197
|
+
*/
|
|
198
|
+
paddingInline?: DimensionValue | undefined;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Equivalent to `paddingEnd`
|
|
202
|
+
*/
|
|
203
|
+
paddingInlineEnd?: DimensionValue | undefined;
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Equivalent to `paddingStart`
|
|
207
|
+
*/
|
|
208
|
+
paddingInlineStart?: DimensionValue | undefined;
|
|
118
209
|
}
|
|
119
210
|
|
|
120
211
|
export interface ShadowStyleIOS {
|
|
@@ -239,16 +330,16 @@ export type FilterFunction =
|
|
|
239
330
|
| {opacity: number | string}
|
|
240
331
|
| {saturate: number | string}
|
|
241
332
|
| {sepia: number | string}
|
|
242
|
-
| {dropShadow:
|
|
333
|
+
| {dropShadow: DropShadowValue | string};
|
|
243
334
|
|
|
244
|
-
export type
|
|
335
|
+
export type DropShadowValue = {
|
|
245
336
|
offsetX: number | string;
|
|
246
337
|
offsetY: number | string;
|
|
247
338
|
standardDeviation?: number | string | undefined;
|
|
248
339
|
color?: ColorValue | number | undefined;
|
|
249
340
|
};
|
|
250
341
|
|
|
251
|
-
export type
|
|
342
|
+
export type BoxShadowValue = {
|
|
252
343
|
offsetX: number | string;
|
|
253
344
|
offsetY: number | string;
|
|
254
345
|
color?: string | undefined;
|
|
@@ -336,6 +427,8 @@ export interface ViewStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
|
|
|
336
427
|
pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto' | undefined;
|
|
337
428
|
isolation?: 'auto' | 'isolate' | undefined;
|
|
338
429
|
cursor?: CursorValue | undefined;
|
|
430
|
+
boxShadow?: ReadonlyArray<BoxShadowValue> | string | undefined;
|
|
431
|
+
filter?: ReadonlyArray<FilterFunction> | string | undefined;
|
|
339
432
|
}
|
|
340
433
|
|
|
341
434
|
export type FontVariant =
|
|
@@ -700,9 +700,9 @@ export type FilterFunction =
|
|
|
700
700
|
| {opacity: number | string}
|
|
701
701
|
| {saturate: number | string}
|
|
702
702
|
| {sepia: number | string}
|
|
703
|
-
| {dropShadow:
|
|
703
|
+
| {dropShadow: DropShadowValue | string};
|
|
704
704
|
|
|
705
|
-
export type
|
|
705
|
+
export type DropShadowValue = {
|
|
706
706
|
offsetX: number | string,
|
|
707
707
|
offsetY: number | string,
|
|
708
708
|
standardDeviation?: number | string,
|
|
@@ -719,7 +719,7 @@ export type GradientValue = {
|
|
|
719
719
|
}>,
|
|
720
720
|
};
|
|
721
721
|
|
|
722
|
-
export type
|
|
722
|
+
export type BoxShadowValue = {
|
|
723
723
|
offsetX: number | string,
|
|
724
724
|
offsetY: number | string,
|
|
725
725
|
color?: ____ColorValue_Internal,
|
|
@@ -788,8 +788,8 @@ export type ____ViewStyle_InternalCore = $ReadOnly<{
|
|
|
788
788
|
elevation?: number,
|
|
789
789
|
pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only',
|
|
790
790
|
cursor?: CursorValue,
|
|
791
|
-
|
|
792
|
-
|
|
791
|
+
boxShadow?: $ReadOnlyArray<BoxShadowValue> | string,
|
|
792
|
+
filter?: $ReadOnlyArray<FilterFunction> | string,
|
|
793
793
|
experimental_mixBlendMode?: ____BlendMode_Internal,
|
|
794
794
|
experimental_backgroundImage?: $ReadOnlyArray<GradientValue> | string,
|
|
795
795
|
isolation?: 'auto' | 'isolate',
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import type {ProcessedColorValue} from './processColor';
|
|
13
|
-
import type {
|
|
13
|
+
import type {BoxShadowValue} from './StyleSheetTypes';
|
|
14
14
|
|
|
15
15
|
import processColor from './processColor';
|
|
16
16
|
|
|
@@ -24,7 +24,7 @@ export type ParsedBoxShadow = {
|
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
export default function processBoxShadow(
|
|
27
|
-
rawBoxShadows: ?($ReadOnlyArray<
|
|
27
|
+
rawBoxShadows: ?($ReadOnlyArray<BoxShadowValue> | string),
|
|
28
28
|
): Array<ParsedBoxShadow> {
|
|
29
29
|
const result: Array<ParsedBoxShadow> = [];
|
|
30
30
|
if (rawBoxShadows == null) {
|
|
@@ -106,16 +106,14 @@ export default function processBoxShadow(
|
|
|
106
106
|
return result;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
function parseBoxShadowString(
|
|
110
|
-
|
|
111
|
-
): Array<BoxShadowPrimitive> {
|
|
112
|
-
let result: Array<BoxShadowPrimitive> = [];
|
|
109
|
+
function parseBoxShadowString(rawBoxShadows: string): Array<BoxShadowValue> {
|
|
110
|
+
let result: Array<BoxShadowValue> = [];
|
|
113
111
|
|
|
114
112
|
for (const rawBoxShadow of rawBoxShadows
|
|
115
113
|
.split(/,(?![^()]*\))/) // split by comma that is not in parenthesis
|
|
116
114
|
.map(bS => bS.trim())
|
|
117
115
|
.filter(bS => bS !== '')) {
|
|
118
|
-
const boxShadow:
|
|
116
|
+
const boxShadow: BoxShadowValue = {
|
|
119
117
|
offsetX: 0,
|
|
120
118
|
offsetY: 0,
|
|
121
119
|
};
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
'use strict';
|
|
13
13
|
|
|
14
14
|
import type {ColorValue} from './StyleSheet';
|
|
15
|
-
import type {
|
|
15
|
+
import type {DropShadowValue, FilterFunction} from './StyleSheetTypes';
|
|
16
16
|
|
|
17
17
|
import processColor from './processColor';
|
|
18
18
|
|
|
@@ -179,7 +179,7 @@ function _getFilterAmount(filterName: string, filterArgs: mixed): ?number {
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
function parseDropShadow(
|
|
182
|
-
rawDropShadow: string |
|
|
182
|
+
rawDropShadow: string | DropShadowValue,
|
|
183
183
|
): ?ParsedDropShadow {
|
|
184
184
|
const dropShadow =
|
|
185
185
|
typeof rawDropShadow === 'string'
|
|
@@ -248,8 +248,8 @@ function parseDropShadow(
|
|
|
248
248
|
return parsedDropShadow;
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
-
function parseDropShadowString(rawDropShadow: string): ?
|
|
252
|
-
const dropShadow:
|
|
251
|
+
function parseDropShadowString(rawDropShadow: string): ?DropShadowValue {
|
|
252
|
+
const dropShadow: DropShadowValue = {
|
|
253
253
|
offsetX: 0,
|
|
254
254
|
offsetY: 0,
|
|
255
255
|
};
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -431,18 +431,19 @@ RCT_CUSTOM_VIEW_PROPERTY(experimental_layoutConformance, NSString *, RCTView)
|
|
|
431
431
|
// filtered by view configs.
|
|
432
432
|
}
|
|
433
433
|
|
|
434
|
-
|
|
434
|
+
typedef NSArray *FilterArray; // Custom type to make the StaticViewConfigValidator Happy
|
|
435
|
+
RCT_CUSTOM_VIEW_PROPERTY(filter, FilterArray, RCTView)
|
|
435
436
|
{
|
|
436
|
-
//
|
|
437
|
-
//
|
|
438
|
-
//
|
|
437
|
+
// Property is only to be used in the new renderer.
|
|
438
|
+
// It is necessary to add it here, otherwise it gets
|
|
439
|
+
// filtered by view configs.
|
|
439
440
|
}
|
|
440
|
-
|
|
441
|
-
RCT_CUSTOM_VIEW_PROPERTY(
|
|
441
|
+
typedef NSArray *BoxShadowArray; // Custom type to make the StaticViewConfigValidator Happy
|
|
442
|
+
RCT_CUSTOM_VIEW_PROPERTY(boxShadow, BoxShadowArray, RCTView)
|
|
442
443
|
{
|
|
443
|
-
//
|
|
444
|
-
//
|
|
445
|
-
//
|
|
444
|
+
// Property is only to be used in the new renderer.
|
|
445
|
+
// It is necessary to add it here, otherwise it gets
|
|
446
|
+
// filtered by view configs.
|
|
446
447
|
}
|
|
447
448
|
|
|
448
449
|
RCT_CUSTOM_VIEW_PROPERTY(experimental_mixBlendMode, NSString *, RCTView)
|
|
@@ -4047,6 +4047,33 @@ public class com/facebook/react/shell/MainReactPackage$$ReactModuleInfoProvider
|
|
|
4047
4047
|
public fun getReactModuleInfos ()Ljava/util/Map;
|
|
4048
4048
|
}
|
|
4049
4049
|
|
|
4050
|
+
public final class com/facebook/react/soloader/OpenSourceMergedSoMapping : com/facebook/soloader/ExternalSoMapping {
|
|
4051
|
+
public static final field INSTANCE Lcom/facebook/react/soloader/OpenSourceMergedSoMapping;
|
|
4052
|
+
public fun invokeJniOnload (Ljava/lang/String;)V
|
|
4053
|
+
public final fun libfabricjni_so ()I
|
|
4054
|
+
public final fun libhermes_executor_so ()I
|
|
4055
|
+
public final fun libhermesinstancejni_so ()I
|
|
4056
|
+
public final fun libhermestooling_so ()I
|
|
4057
|
+
public final fun libjscexecutor_so ()I
|
|
4058
|
+
public final fun libjscinstance_so ()I
|
|
4059
|
+
public final fun libjscruntime_so ()I
|
|
4060
|
+
public final fun libjsctooling_so ()I
|
|
4061
|
+
public final fun libjsijniprofiler_so ()I
|
|
4062
|
+
public final fun libjsinspector_so ()I
|
|
4063
|
+
public final fun libmapbufferjni_so ()I
|
|
4064
|
+
public final fun libreact_devsupportjni_so ()I
|
|
4065
|
+
public final fun libreact_featureflagsjni_so ()I
|
|
4066
|
+
public final fun libreact_newarchdefaults_so ()I
|
|
4067
|
+
public final fun libreactnative_so ()I
|
|
4068
|
+
public final fun libreactnativeblob_so ()I
|
|
4069
|
+
public final fun libreactnativejni_so ()I
|
|
4070
|
+
public final fun librninstance_so ()I
|
|
4071
|
+
public final fun libturbomodulejsijni_so ()I
|
|
4072
|
+
public final fun libuimanagerjni_so ()I
|
|
4073
|
+
public final fun libyoga_so ()I
|
|
4074
|
+
public fun mapLibName (Ljava/lang/String;)Ljava/lang/String;
|
|
4075
|
+
}
|
|
4076
|
+
|
|
4050
4077
|
public final class com/facebook/react/touch/JSResponderHandler : com/facebook/react/touch/OnInterceptTouchEventListener {
|
|
4051
4078
|
public fun <init> ()V
|
|
4052
4079
|
public final fun clearJSResponder ()V
|
|
@@ -220,10 +220,20 @@ val preparePrefab by
|
|
|
220
220
|
Pair(
|
|
221
221
|
"../ReactCommon/react/renderer/observers/events/",
|
|
222
222
|
"react/renderer/observers/events/"),
|
|
223
|
+
// react_timing
|
|
224
|
+
Pair("../ReactCommon/react/timing/", "react/timing/"),
|
|
223
225
|
// yoga
|
|
224
226
|
Pair("../ReactCommon/yoga/", ""),
|
|
225
227
|
Pair("src/main/jni/first-party/yogajni/jni", ""),
|
|
226
228
|
)),
|
|
229
|
+
PrefabPreprocessingEntry("hermestooling",
|
|
230
|
+
// hermes_executor
|
|
231
|
+
Pair("../ReactCommon/hermes/inspector-modern/", "hermes/inspector-modern/")
|
|
232
|
+
),
|
|
233
|
+
PrefabPreprocessingEntry("jsctooling",
|
|
234
|
+
// jsc
|
|
235
|
+
Pair("../ReactCommon/jsc/", "jsc/")
|
|
236
|
+
),
|
|
227
237
|
))
|
|
228
238
|
outputDir.set(prefabHeadersDir)
|
|
229
239
|
}
|
|
@@ -550,7 +560,6 @@ android {
|
|
|
550
560
|
"src/main/res/views/alert",
|
|
551
561
|
"src/main/res/views/modal",
|
|
552
562
|
"src/main/res/views/uimanager"))
|
|
553
|
-
kotlin.srcDir(project.file("../sdks/ossonly-soloader/src/main/java"))
|
|
554
563
|
java.exclude("com/facebook/react/processing")
|
|
555
564
|
java.exclude("com/facebook/react/module/processing")
|
|
556
565
|
}
|
|
@@ -580,6 +589,8 @@ android {
|
|
|
580
589
|
prefab {
|
|
581
590
|
create("jsi") { headers = File(prefabHeadersDir, "jsi").absolutePath }
|
|
582
591
|
create("reactnative") { headers = File(prefabHeadersDir, "reactnative").absolutePath }
|
|
592
|
+
create("hermestooling") { headers = File(prefabHeadersDir, "hermestooling").absolutePath }
|
|
593
|
+
create("jsctooling") { headers = File(prefabHeadersDir, "jsctooling").absolutePath }
|
|
583
594
|
}
|
|
584
595
|
|
|
585
596
|
publishing {
|
|
@@ -598,11 +609,6 @@ android {
|
|
|
598
609
|
tasks.withType<KotlinCompile>().configureEach { exclude("com/facebook/annotationprocessors/**") }
|
|
599
610
|
|
|
600
611
|
dependencies {
|
|
601
|
-
implementation(libs.fresco)
|
|
602
|
-
implementation(libs.fresco.middleware)
|
|
603
|
-
implementation(libs.fresco.imagepipeline.okhttp3)
|
|
604
|
-
implementation(libs.fresco.ui.common)
|
|
605
|
-
|
|
606
612
|
api(libs.androidx.appcompat)
|
|
607
613
|
api(libs.androidx.appcompat.resources)
|
|
608
614
|
api(libs.androidx.autofill)
|
|
@@ -610,7 +616,12 @@ dependencies {
|
|
|
610
616
|
api(libs.androidx.tracing)
|
|
611
617
|
|
|
612
618
|
api(libs.fbjni)
|
|
619
|
+
api(libs.fresco)
|
|
620
|
+
api(libs.fresco.imagepipeline.okhttp3)
|
|
621
|
+
api(libs.fresco.middleware)
|
|
622
|
+
api(libs.fresco.ui.common)
|
|
613
623
|
api(libs.infer.annotation)
|
|
624
|
+
api(libs.soloader)
|
|
614
625
|
api(libs.yoga.proguard.annotations)
|
|
615
626
|
|
|
616
627
|
api(libs.jsr305)
|
|
@@ -631,8 +642,6 @@ dependencies {
|
|
|
631
642
|
testImplementation(libs.thoughtworks)
|
|
632
643
|
}
|
|
633
644
|
|
|
634
|
-
configurations.all { exclude(group = "com.facebook.soloader") }
|
|
635
|
-
|
|
636
645
|
react {
|
|
637
646
|
// TODO: The library name is chosen for parity with Fabric components & iOS
|
|
638
647
|
// This should be changed to a more generic name, e.g. `ReactCoreSpec`.
|
|
@@ -169,26 +169,25 @@ public class HeadlessJsTaskContext {
|
|
|
169
169
|
|
|
170
170
|
/**
|
|
171
171
|
* Finish a JS task. Doesn't actually stop the task on the JS side, only removes it from the list
|
|
172
|
-
* of active tasks and notifies listeners.
|
|
172
|
+
* of active tasks and notifies listeners.
|
|
173
173
|
*
|
|
174
174
|
* @param taskId the unique id returned by {@link #startTask}.
|
|
175
175
|
*/
|
|
176
176
|
public synchronized void finishTask(final int taskId) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
Assertions.assertCondition(
|
|
180
|
-
mActiveTaskConfigs.remove(taskId) != null,
|
|
181
|
-
"Tried to remove non-existent task config with id " + taskId + ".");
|
|
177
|
+
boolean removed = mActiveTasks.remove(taskId);
|
|
178
|
+
mActiveTaskConfigs.remove(taskId);
|
|
182
179
|
removeTimeout(taskId);
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
listener
|
|
180
|
+
if (removed) {
|
|
181
|
+
UiThreadUtil.runOnUiThread(
|
|
182
|
+
new Runnable() {
|
|
183
|
+
@Override
|
|
184
|
+
public void run() {
|
|
185
|
+
for (HeadlessJsTaskEventListener listener : mHeadlessJsTaskEventListeners) {
|
|
186
|
+
listener.onHeadlessJsTaskFinish(taskId);
|
|
187
|
+
}
|
|
189
188
|
}
|
|
190
|
-
}
|
|
191
|
-
|
|
189
|
+
});
|
|
190
|
+
}
|
|
192
191
|
}
|
|
193
192
|
|
|
194
193
|
private void removeTimeout(int taskId) {
|
package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java
CHANGED
|
@@ -23,6 +23,8 @@ import com.facebook.react.devsupport.HMRClient;
|
|
|
23
23
|
import com.facebook.react.devsupport.ReactInstanceDevHelper;
|
|
24
24
|
import com.facebook.react.devsupport.interfaces.DevSplitBundleCallback;
|
|
25
25
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
26
|
+
import com.facebook.react.runtime.internal.bolts.Continuation;
|
|
27
|
+
import com.facebook.react.runtime.internal.bolts.Task;
|
|
26
28
|
|
|
27
29
|
/**
|
|
28
30
|
* An implementation of {@link com.facebook.react.devsupport.interfaces.DevSupportManager} that
|
|
@@ -67,17 +69,20 @@ class BridgelessDevSupportManager extends DevSupportManagerBase {
|
|
|
67
69
|
mReactHost
|
|
68
70
|
.loadBundle(bundleLoader)
|
|
69
71
|
.onSuccess(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
reactContext.
|
|
72
|
+
new Continuation<Boolean, Void>() {
|
|
73
|
+
@Override
|
|
74
|
+
public Void then(Task<Boolean> task) {
|
|
75
|
+
if (task.getResult().equals(Boolean.TRUE)) {
|
|
76
|
+
String bundleURL =
|
|
77
|
+
getDevServerHelper().getDevServerSplitBundleURL(bundlePath);
|
|
78
|
+
ReactContext reactContext = mReactHost.getCurrentReactContext();
|
|
79
|
+
if (reactContext != null) {
|
|
80
|
+
reactContext.getJSModule(HMRClient.class).registerBundle(bundleURL);
|
|
81
|
+
}
|
|
82
|
+
callback.onSuccess();
|
|
77
83
|
}
|
|
78
|
-
|
|
84
|
+
return null;
|
|
79
85
|
}
|
|
80
|
-
return null;
|
|
81
86
|
});
|
|
82
87
|
}
|
|
83
88
|
|