@@ -135,6 +135,18 @@ SharedDebugStringConvertibleList HostPlatformViewProps::getDebugProps() const {
135
135
136
136
#ifdef ANDROID
137
137
138
+ inline static void updateEventProp (
139
+ folly::dynamic& result,
140
+ const ViewEvents& newEvents,
141
+ const ViewEvents& oldEvents,
142
+ const ViewEvents::Offset& offset,
143
+ const std::string& name) {
144
+ if (newEvents[offset] != oldEvents[offset]) {
145
+ auto value = newEvents[offset];
146
+ result[name] = value;
147
+ }
148
+ }
149
+
138
150
folly::dynamic HostPlatformViewProps::getDiffProps (
139
151
const Props* prevProps) const {
140
152
folly::dynamic result = folly::dynamic::object ();
@@ -222,39 +234,195 @@ folly::dynamic HostPlatformViewProps::getDiffProps(
222
234
result[" pointerEvents" ] = " auto" ;
223
235
break ;
224
236
}
237
+ }
225
238
226
- if (nativeId != oldProps->nativeId ) {
227
- result[" nativeId" ] = nativeId;
228
- }
239
+ if (nativeId != oldProps->nativeId ) {
240
+ result[" nativeId" ] = nativeId;
241
+ }
229
242
230
- if (testId != oldProps->testId ) {
231
- result[" testId" ] = testId;
232
- }
243
+ if (testId != oldProps->testId ) {
244
+ result[" testId" ] = testId;
245
+ }
233
246
234
- if (accessible != oldProps->accessible ) {
235
- result[" accessible" ] = accessible;
236
- }
247
+ if (accessible != oldProps->accessible ) {
248
+ result[" accessible" ] = accessible;
249
+ }
237
250
238
- if (getClipsContentToBounds () != oldProps->getClipsContentToBounds ()) {
239
- result[" overflow" ] = getClipsContentToBounds () ? " hidden" : " visible" ;
240
- result[" scroll" ] = result[" overflow" ];
241
- }
251
+ if (getClipsContentToBounds () != oldProps->getClipsContentToBounds ()) {
252
+ result[" overflow" ] = getClipsContentToBounds () ? " hidden" : " visible" ;
253
+ result[" scroll" ] = result[" overflow" ];
254
+ }
242
255
243
- if (backfaceVisibility != oldProps->backfaceVisibility ) {
244
- switch (backfaceVisibility) {
245
- case BackfaceVisibility::Auto:
246
- result[" backfaceVisibility" ] = " auto" ;
247
- break ;
248
- case BackfaceVisibility::Visible:
249
- result[" backfaceVisibility" ] = " visible" ;
250
- break ;
251
- case BackfaceVisibility::Hidden:
252
- result[" backfaceVisibility" ] = " hidden" ;
253
- break ;
254
- }
256
+ if (backfaceVisibility != oldProps->backfaceVisibility ) {
257
+ switch (backfaceVisibility) {
258
+ case BackfaceVisibility::Auto:
259
+ result[" backfaceVisibility" ] = " auto" ;
260
+ break ;
261
+ case BackfaceVisibility::Visible:
262
+ result[" backfaceVisibility" ] = " visible" ;
263
+ break ;
264
+ case BackfaceVisibility::Hidden:
265
+ result[" backfaceVisibility" ] = " hidden" ;
266
+ break ;
255
267
}
256
268
}
257
269
270
+ // TODO T212662692: pass events as std::bitset<64> to java
271
+ if (events != oldProps->events ) {
272
+ updateEventProp (
273
+ result,
274
+ events,
275
+ oldProps->events ,
276
+ ViewEvents::Offset::PointerEnter,
277
+ " onPointerEnter" );
278
+ updateEventProp (
279
+ result,
280
+ events,
281
+ oldProps->events ,
282
+ ViewEvents::Offset::PointerEnterCapture,
283
+ " onPointerEnterCapture" );
284
+ updateEventProp (
285
+ result,
286
+ events,
287
+ oldProps->events ,
288
+ ViewEvents::Offset::PointerMove,
289
+ " onPointerMove" );
290
+ updateEventProp (
291
+ result,
292
+ events,
293
+ oldProps->events ,
294
+ ViewEvents::Offset::PointerMoveCapture,
295
+ " onPointerMoveCapture" );
296
+ updateEventProp (
297
+ result,
298
+ events,
299
+ oldProps->events ,
300
+ ViewEvents::Offset::PointerLeave,
301
+ " onPointerLeave" );
302
+ updateEventProp (
303
+ result,
304
+ events,
305
+ oldProps->events ,
306
+ ViewEvents::Offset::PointerLeaveCapture,
307
+ " onPointerLeaveCapture" );
308
+ updateEventProp (
309
+ result,
310
+ events,
311
+ oldProps->events ,
312
+ ViewEvents::Offset::PointerOver,
313
+ " onPointerOver" );
314
+ updateEventProp (
315
+ result,
316
+ events,
317
+ oldProps->events ,
318
+ ViewEvents::Offset::PointerOut,
319
+ " onPointerOut" );
320
+ updateEventProp (
321
+ result, events, oldProps->events , ViewEvents::Offset::Click, " onClick" );
322
+ updateEventProp (
323
+ result,
324
+ events,
325
+ oldProps->events ,
326
+ ViewEvents::Offset::MoveShouldSetResponder,
327
+ " onMoveShouldSetResponder" );
328
+ updateEventProp (
329
+ result,
330
+ events,
331
+ oldProps->events ,
332
+ ViewEvents::Offset::MoveShouldSetResponderCapture,
333
+ " onMoveShouldSetResponderCapture" );
334
+ updateEventProp (
335
+ result,
336
+ events,
337
+ oldProps->events ,
338
+ ViewEvents::Offset::StartShouldSetResponder,
339
+ " onStartShouldSetResponder" );
340
+ updateEventProp (
341
+ result,
342
+ events,
343
+ oldProps->events ,
344
+ ViewEvents::Offset::StartShouldSetResponderCapture,
345
+ " onStartShouldSetResponderCapture" );
346
+ updateEventProp (
347
+ result,
348
+ events,
349
+ oldProps->events ,
350
+ ViewEvents::Offset::ResponderGrant,
351
+ " onResponderGrant" );
352
+ updateEventProp (
353
+ result,
354
+ events,
355
+ oldProps->events ,
356
+ ViewEvents::Offset::ResponderReject,
357
+ " onResponderReject" );
358
+ updateEventProp (
359
+ result,
360
+ events,
361
+ oldProps->events ,
362
+ ViewEvents::Offset::ResponderStart,
363
+ " onResponderStart" );
364
+ updateEventProp (
365
+ result,
366
+ events,
367
+ oldProps->events ,
368
+ ViewEvents::Offset::ResponderEnd,
369
+ " onResponderEnd" );
370
+ updateEventProp (
371
+ result,
372
+ events,
373
+ oldProps->events ,
374
+ ViewEvents::Offset::ResponderRelease,
375
+ " onResponderRelease" );
376
+ updateEventProp (
377
+ result,
378
+ events,
379
+ oldProps->events ,
380
+ ViewEvents::Offset::ResponderMove,
381
+ " onResponderMove" );
382
+ updateEventProp (
383
+ result,
384
+ events,
385
+ oldProps->events ,
386
+ ViewEvents::Offset::ResponderTerminate,
387
+ " onResponderTerminate" );
388
+ updateEventProp (
389
+ result,
390
+ events,
391
+ oldProps->events ,
392
+ ViewEvents::Offset::ResponderTerminationRequest,
393
+ " onResponderTerminationRequest" );
394
+ updateEventProp (
395
+ result,
396
+ events,
397
+ oldProps->events ,
398
+ ViewEvents::Offset::ShouldBlockNativeResponder,
399
+ " onShouldBlockNativeResponder" );
400
+ updateEventProp (
401
+ result,
402
+ events,
403
+ oldProps->events ,
404
+ ViewEvents::Offset::TouchStart,
405
+ " onTouchStart" );
406
+ updateEventProp (
407
+ result,
408
+ events,
409
+ oldProps->events ,
410
+ ViewEvents::Offset::TouchMove,
411
+ " onTouchMove" );
412
+ updateEventProp (
413
+ result,
414
+ events,
415
+ oldProps->events ,
416
+ ViewEvents::Offset::TouchEnd,
417
+ " onTouchEnd" );
418
+ updateEventProp (
419
+ result,
420
+ events,
421
+ oldProps->events ,
422
+ ViewEvents::Offset::TouchCancel,
423
+ " onTouchCancel" );
424
+ }
425
+
258
426
return result;
259
427
}
260
428
0 commit comments