From f4855d7d3734beec8b1a2da190ea3ebe06452f01 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Sat, 12 Oct 2024 04:55:12 -0700 Subject: [PATCH] add timestamp to onScroll on Android (#46977) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/46977 changelog: [internal] Add timestamp to onScroll event on Android. Reviewed By: fabriziocucci Differential Revision: D64235402 fbshipit-source-id: 606446f2a711dcb4edd94a2a54ec50c54f622904 --- .../main/java/com/facebook/react/views/scroll/ScrollEvent.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt index 1f9fafd977d..73b8f444f6b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt @@ -7,6 +7,7 @@ package com.facebook.react.views.scroll +import android.os.SystemClock import androidx.core.util.Pools.SynchronizedPool import com.facebook.infer.annotation.Assertions import com.facebook.react.bridge.Arguments @@ -27,6 +28,7 @@ public class ScrollEvent private constructor() : Event() { private var scrollViewWidth = 0 private var scrollViewHeight = 0 private var scrollEventType: ScrollEventType? = null + private var timestamp: Long = 0 private var experimental_isSynchronous = false override fun onDispose() { @@ -63,6 +65,7 @@ public class ScrollEvent private constructor() : Event() { this.contentHeight = contentHeight this.scrollViewWidth = scrollViewWidth this.scrollViewHeight = scrollViewHeight + this.timestamp = SystemClock.uptimeMillis() this.experimental_isSynchronous = experimental_isSynchronous } @@ -100,6 +103,7 @@ public class ScrollEvent private constructor() : Event() { event.putMap("layoutMeasurement", layoutMeasurement) event.putMap("velocity", velocity) event.putInt("target", viewTag) + event.putDouble("timestamp", timestamp.toDouble()) event.putBoolean("responderIgnoreScroll", true) return event }