@@ -135,6 +135,18 @@ SharedDebugStringConvertibleList HostPlatformViewProps::getDebugProps() const {
135135
136136#ifdef ANDROID
137137
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+
138150folly::dynamic HostPlatformViewProps::getDiffProps (
139151 const Props* prevProps) const {
140152 folly::dynamic result = folly::dynamic::object ();
@@ -222,39 +234,194 @@ folly::dynamic HostPlatformViewProps::getDiffProps(
222234 result[" pointerEvents" ] = " auto" ;
223235 break ;
224236 }
237+ }
225238
226- if (nativeId != oldProps->nativeId ) {
227- result[" nativeId" ] = nativeId;
228- }
239+ if (nativeId != oldProps->nativeId ) {
240+ result[" nativeId" ] = nativeId;
241+ }
229242
230- if (testId != oldProps->testId ) {
231- result[" testId" ] = testId;
232- }
243+ if (testId != oldProps->testId ) {
244+ result[" testId" ] = testId;
245+ }
233246
234- if (accessible != oldProps->accessible ) {
235- result[" accessible" ] = accessible;
236- }
247+ if (accessible != oldProps->accessible ) {
248+ result[" accessible" ] = accessible;
249+ }
237250
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+ }
242255
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 ;
255267 }
256268 }
257269
270+ if (events != oldProps->events ) {
271+ updateEventProp (
272+ result,
273+ events,
274+ oldProps->events ,
275+ ViewEvents::Offset::PointerEnter,
276+ " onPointerEnter" );
277+ updateEventProp (
278+ result,
279+ events,
280+ oldProps->events ,
281+ ViewEvents::Offset::PointerEnterCapture,
282+ " onPointerEnterCapture" );
283+ updateEventProp (
284+ result,
285+ events,
286+ oldProps->events ,
287+ ViewEvents::Offset::PointerMove,
288+ " onPointerMove" );
289+ updateEventProp (
290+ result,
291+ events,
292+ oldProps->events ,
293+ ViewEvents::Offset::PointerMoveCapture,
294+ " onPointerMoveCapture" );
295+ updateEventProp (
296+ result,
297+ events,
298+ oldProps->events ,
299+ ViewEvents::Offset::PointerLeave,
300+ " onPointerLeave" );
301+ updateEventProp (
302+ result,
303+ events,
304+ oldProps->events ,
305+ ViewEvents::Offset::PointerLeaveCapture,
306+ " onPointerLeaveCapture" );
307+ updateEventProp (
308+ result,
309+ events,
310+ oldProps->events ,
311+ ViewEvents::Offset::PointerOver,
312+ " onPointerOver" );
313+ updateEventProp (
314+ result,
315+ events,
316+ oldProps->events ,
317+ ViewEvents::Offset::PointerOut,
318+ " onPointerOut" );
319+ updateEventProp (
320+ result, events, oldProps->events , ViewEvents::Offset::Click, " onClick" );
321+ updateEventProp (
322+ result,
323+ events,
324+ oldProps->events ,
325+ ViewEvents::Offset::MoveShouldSetResponder,
326+ " onMoveShouldSetResponder" );
327+ updateEventProp (
328+ result,
329+ events,
330+ oldProps->events ,
331+ ViewEvents::Offset::MoveShouldSetResponderCapture,
332+ " onMoveShouldSetResponderCapture" );
333+ updateEventProp (
334+ result,
335+ events,
336+ oldProps->events ,
337+ ViewEvents::Offset::StartShouldSetResponder,
338+ " onStartShouldSetResponder" );
339+ updateEventProp (
340+ result,
341+ events,
342+ oldProps->events ,
343+ ViewEvents::Offset::StartShouldSetResponderCapture,
344+ " onStartShouldSetResponderCapture" );
345+ updateEventProp (
346+ result,
347+ events,
348+ oldProps->events ,
349+ ViewEvents::Offset::ResponderGrant,
350+ " onResponderGrant" );
351+ updateEventProp (
352+ result,
353+ events,
354+ oldProps->events ,
355+ ViewEvents::Offset::ResponderReject,
356+ " onResponderReject" );
357+ updateEventProp (
358+ result,
359+ events,
360+ oldProps->events ,
361+ ViewEvents::Offset::ResponderStart,
362+ " onResponderStart" );
363+ updateEventProp (
364+ result,
365+ events,
366+ oldProps->events ,
367+ ViewEvents::Offset::ResponderEnd,
368+ " onResponderEnd" );
369+ updateEventProp (
370+ result,
371+ events,
372+ oldProps->events ,
373+ ViewEvents::Offset::ResponderRelease,
374+ " onResponderRelease" );
375+ updateEventProp (
376+ result,
377+ events,
378+ oldProps->events ,
379+ ViewEvents::Offset::ResponderMove,
380+ " onResponderMove" );
381+ updateEventProp (
382+ result,
383+ events,
384+ oldProps->events ,
385+ ViewEvents::Offset::ResponderTerminate,
386+ " onResponderTerminate" );
387+ updateEventProp (
388+ result,
389+ events,
390+ oldProps->events ,
391+ ViewEvents::Offset::ResponderTerminationRequest,
392+ " onResponderTerminationRequest" );
393+ updateEventProp (
394+ result,
395+ events,
396+ oldProps->events ,
397+ ViewEvents::Offset::ShouldBlockNativeResponder,
398+ " onShouldBlockNativeResponder" );
399+ updateEventProp (
400+ result,
401+ events,
402+ oldProps->events ,
403+ ViewEvents::Offset::TouchStart,
404+ " onTouchStart" );
405+ updateEventProp (
406+ result,
407+ events,
408+ oldProps->events ,
409+ ViewEvents::Offset::TouchMove,
410+ " onTouchMove" );
411+ updateEventProp (
412+ result,
413+ events,
414+ oldProps->events ,
415+ ViewEvents::Offset::TouchEnd,
416+ " onTouchEnd" );
417+ updateEventProp (
418+ result,
419+ events,
420+ oldProps->events ,
421+ ViewEvents::Offset::TouchCancel,
422+ " onTouchCancel" );
423+ }
424+
258425 return result;
259426}
260427
0 commit comments