diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactHostImpl.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactHostImpl.java index 6a7a5674838..0c9f31bc409 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactHostImpl.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactHostImpl.java @@ -99,7 +99,8 @@ public class ReactHostImpl implements ReactHost { private final Executor mBGExecutor; private final Executor mUIExecutor; private final QueueThreadExceptionHandler mQueueThreadExceptionHandler; - private final Set mAttachedSurfaces = Collections.synchronizedSet(new HashSet<>()); + private final Set mAttachedSurfaces = + Collections.synchronizedSet(new HashSet<>()); private final MemoryPressureRouter mMemoryPressureRouter; private final boolean mAllowPackagerServerAccess; private final boolean mUseDevSupport; @@ -201,7 +202,7 @@ public class ReactHostImpl implements ReactHost { /** Initialize and run a React Native surface in a background without mounting real views. */ /* package */ - TaskInterface prerenderSurface(final ReactSurface surface) { + TaskInterface prerenderSurface(final ReactSurfaceImpl surface) { final String method = "prerenderSurface(surfaceId = " + surface.getSurfaceID() + ")"; log(method, "Schedule"); @@ -221,7 +222,7 @@ public class ReactHostImpl implements ReactHost { * @return A Task that will complete when startSurface has been called. */ /** package */ - TaskInterface startSurface(final ReactSurface surface) { + TaskInterface startSurface(final ReactSurfaceImpl surface) { final String method = "startSurface(surfaceId = " + surface.getSurfaceID() + ")"; log(method, "Schedule"); @@ -241,7 +242,7 @@ public class ReactHostImpl implements ReactHost { * @return A Task that will complete when stopSurface has been called. */ /** package */ - TaskInterface stopSurface(final ReactSurface surface) { + TaskInterface stopSurface(final ReactSurfaceImpl surface) { final String method = "stopSurface(surfaceId = " + surface.getSurfaceID() + ")"; log(method, "Schedule"); @@ -623,7 +624,7 @@ public class ReactHostImpl implements ReactHost { }); } - /* package */ void attachSurface(ReactSurface surface) { + /* package */ void attachSurface(ReactSurfaceImpl surface) { final String method = "attachSurface(surfaceId = " + surface.getSurfaceID() + ")"; log(method); @@ -632,7 +633,7 @@ public class ReactHostImpl implements ReactHost { } } - /* package */ void detachSurface(ReactSurface surface) { + /* package */ void detachSurface(ReactSurfaceImpl surface) { final String method = "detachSurface(surfaceId = " + surface.getSurfaceID() + ")"; log(method); @@ -641,7 +642,7 @@ public class ReactHostImpl implements ReactHost { } } - /* package */ boolean isSurfaceAttached(ReactSurface surface) { + /* package */ boolean isSurfaceAttached(ReactSurfaceImpl surface) { synchronized (mAttachedSurfaces) { return mAttachedSurfaces.contains(surface); } @@ -649,7 +650,7 @@ public class ReactHostImpl implements ReactHost { /* package */ boolean isSurfaceWithModuleNameAttached(String moduleName) { synchronized (mAttachedSurfaces) { - for (ReactSurface surface : mAttachedSurfaces) { + for (ReactSurfaceImpl surface : mAttachedSurfaces) { if (surface.getModuleName().equals(moduleName)) { return true; } @@ -1181,7 +1182,7 @@ public class ReactHostImpl implements ReactHost { log(method, "Stopping all React Native surfaces"); synchronized (mAttachedSurfaces) { - for (ReactSurface surface : mAttachedSurfaces) { + for (ReactSurfaceImpl surface : mAttachedSurfaces) { if (reactInstance != null) { reactInstance.stopSurface(surface); } @@ -1243,7 +1244,7 @@ public class ReactHostImpl implements ReactHost { log(method, "Restarting previously running React Native Surfaces"); synchronized (mAttachedSurfaces) { - for (ReactSurface surface : mAttachedSurfaces) { + for (ReactSurfaceImpl surface : mAttachedSurfaces) { reactInstance.startSurface(surface); } } @@ -1405,7 +1406,7 @@ public class ReactHostImpl implements ReactHost { // Restart any attached surfaces log(method, "Restarting Surfaces"); synchronized (mAttachedSurfaces) { - for (ReactSurface surface : mAttachedSurfaces) { + for (ReactSurfaceImpl surface : mAttachedSurfaces) { reactInstance.startSurface(surface); } } @@ -1476,7 +1477,7 @@ public class ReactHostImpl implements ReactHost { */ log(method, "Stopping surfaces"); synchronized (mAttachedSurfaces) { - for (ReactSurface surface : mAttachedSurfaces) { + for (ReactSurfaceImpl surface : mAttachedSurfaces) { instance.stopSurface(surface); surface.clear(); } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactInstance.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactInstance.java index 8604dccf06b..d89e4e8784b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactInstance.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactInstance.java @@ -44,7 +44,6 @@ import com.facebook.react.fabric.FabricUIManager; import com.facebook.react.fabric.ReactNativeConfig; import com.facebook.react.fabric.events.EventBeatManager; import com.facebook.react.interfaces.exceptionmanager.ReactJsExceptionHandler; -import com.facebook.react.interfaces.fabric.ReactSurface; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.modules.core.JavaTimerManager; import com.facebook.react.modules.core.ReactChoreographer; @@ -361,7 +360,7 @@ final class ReactInstance { } } - /* package */ void prerenderSurface(ReactSurface surface) { + /* package */ void prerenderSurface(ReactSurfaceImpl surface) { Systrace.beginSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "ReactInstance.prerenderSurface"); FLog.d(TAG, "call prerenderSurface with surface: " + surface.getModuleName()); mFabricUIManager.startSurface(surface.getSurfaceHandler(), surface.getContext(), null); @@ -374,7 +373,7 @@ final class ReactInstance { * @param surface The {@link ReactSurface} to render. */ @ThreadConfined("ReactHost") - /* package */ void startSurface(ReactSurface surface) { + /* package */ void startSurface(ReactSurfaceImpl surface) { FLog.d(TAG, "startSurface() is called with surface: " + surface.getSurfaceID()); Systrace.beginSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "ReactInstance.startSurface"); @@ -405,7 +404,7 @@ final class ReactInstance { } @ThreadConfined("ReactHost") - /* package */ void stopSurface(ReactSurface surface) { + /* package */ void stopSurface(ReactSurfaceImpl surface) { FLog.d(TAG, "stopSurface() is called with surface: " + surface.getSurfaceID()); mFabricUIManager.stopSurface(surface.getSurfaceHandler()); } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactSurfaceImpl.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactSurfaceImpl.java index 8f50cd1411f..f9d5bed9005 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactSurfaceImpl.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridgeless/ReactSurfaceImpl.java @@ -129,8 +129,8 @@ public class ReactSurfaceImpl implements ReactSurface { mReactHost.set(null); } - @Override - public SurfaceHandler getSurfaceHandler() { + /** package */ + SurfaceHandler getSurfaceHandler() { return mSurfaceHandler; } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt index bb63f5a463b..9d9734a33f8 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt @@ -26,9 +26,6 @@ interface ReactSurface { // Returns whether the surface is running or not val isRunning: Boolean - // Returns surface handler - val surfaceHandler: SurfaceHandler - // Returns React root view of this surface val view: ViewGroup?