Skip to content

Commit

Permalink
Add ReactMarkerConstants.CONTENT_APPEARED support on Android (#43620)
Browse files Browse the repository at this point in the history
Summary:
Add the `ReactMarkerConstants.CONTENT_APPEARED` support on Android in bridgeless mode. This is an important marker for TTI measurement.

## Changelog:

[ANDROID] [ADDED] - Add the `ReactMarkerConstants.CONTENT_APPEARED` support on Android in bridgeless mode.

Pull Request resolved: #43620

Test Plan:
adding this on RNTesterActivity to see if the log is executed

```kotlin
ReactMarker.addListener { name, tag, instanceKey ->
  if (name == ReactMarkerConstants.CONTENT_APPEARED) {
    Log.i("XXX", "XXX")
  }
}
```

Reviewed By: cortinico

Differential Revision: D58459930

Pulled By: rubennorte

fbshipit-source-id: 4498a3623c506d228aea995c8aeafdb51fcc5b96
  • Loading branch information
Kudo authored and facebook-github-bot committed Jun 13, 2024
1 parent 1cb587c commit 5da9fdf
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -434,10 +434,8 @@ public void run() {

if (mShouldLogContentAppeared) {
mShouldLogContentAppeared = false;

if (mJSModuleName != null) {
ReactMarker.logMarker(ReactMarkerConstants.CONTENT_APPEARED, mJSModuleName, mRootViewTag);
}
String jsModuleName = getJSModuleName();
ReactMarker.logMarker(ReactMarkerConstants.CONTENT_APPEARED, jsModuleName, mRootViewTag);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,9 @@ public DevSupportManager getDevSupportManager() {
public ReactSurface createSurface(
Context context, String moduleName, @Nullable Bundle initialProps) {
ReactSurfaceImpl surface = new ReactSurfaceImpl(context, moduleName, initialProps);
surface.attachView(new ReactSurfaceView(context, surface));
ReactSurfaceView surfaceView = new ReactSurfaceView(context, surface);
surfaceView.setShouldLogContentAppeared(true);
surface.attachView(surfaceView);
surface.attach(this);
return surface;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,8 @@ public class ReactSurfaceView(context: Context?, private val surface: ReactSurfa
// This surface view is always on Fabric.
@UIManagerType override fun getUIManagerType(): Int = UIManagerType.FABRIC

override fun getJSModuleName(): String = surface.moduleName

override fun dispatchJSTouchEvent(event: MotionEvent) {
val eventDispatcher = surface.eventDispatcher
if (eventDispatcher != null) {
Expand Down

0 comments on commit 5da9fdf

Please sign in to comment.