Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename Binding to FabricUIManagerBinding #46705

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 2 additions & 40 deletions packages/react-native/ReactAndroid/api/ReactAndroid.api
Original file line number Diff line number Diff line change
Expand Up @@ -2578,39 +2578,6 @@ public abstract interface class com/facebook/react/devsupport/interfaces/StackFr
public abstract fun toJSON ()Lorg/json/JSONObject;
}

public abstract interface class com/facebook/react/fabric/Binding {
public abstract fun drainPreallocateViewsQueue ()V
public abstract fun driveCxxAnimations ()V
public abstract fun getInspectorDataForInstance (Lcom/facebook/react/fabric/events/EventEmitterWrapper;)Lcom/facebook/react/bridge/ReadableNativeMap;
public abstract fun register (Lcom/facebook/react/bridge/RuntimeExecutor;Lcom/facebook/react/bridge/RuntimeScheduler;Lcom/facebook/react/fabric/FabricUIManager;Lcom/facebook/react/fabric/events/EventBeatManager;Lcom/facebook/react/fabric/ComponentFactory;Lcom/facebook/react/fabric/ReactNativeConfig;)V
public abstract fun reportMount (I)V
public abstract fun setConstraints (IFFFFFFZZ)V
public abstract fun setPixelDensity (F)V
public abstract fun startSurface (ILjava/lang/String;Lcom/facebook/react/bridge/NativeMap;)V
public abstract fun startSurfaceWithConstraints (ILjava/lang/String;Lcom/facebook/react/bridge/NativeMap;FFFFFFZZ)V
public abstract fun startSurfaceWithSurfaceHandler (Lcom/facebook/react/fabric/SurfaceHandlerBinding;)V
public abstract fun stopSurface (I)V
public abstract fun stopSurfaceWithSurfaceHandler (Lcom/facebook/react/fabric/SurfaceHandlerBinding;)V
public abstract fun unregister ()V
}

public final class com/facebook/react/fabric/BindingImpl : com/facebook/react/fabric/Binding {
public fun <init> ()V
public fun drainPreallocateViewsQueue ()V
public fun driveCxxAnimations ()V
public fun getInspectorDataForInstance (Lcom/facebook/react/fabric/events/EventEmitterWrapper;)Lcom/facebook/react/bridge/ReadableNativeMap;
public fun register (Lcom/facebook/react/bridge/RuntimeExecutor;Lcom/facebook/react/bridge/RuntimeScheduler;Lcom/facebook/react/fabric/FabricUIManager;Lcom/facebook/react/fabric/events/EventBeatManager;Lcom/facebook/react/fabric/ComponentFactory;Lcom/facebook/react/fabric/ReactNativeConfig;)V
public fun reportMount (I)V
public fun setConstraints (IFFFFFFZZ)V
public fun setPixelDensity (F)V
public fun startSurface (ILjava/lang/String;Lcom/facebook/react/bridge/NativeMap;)V
public fun startSurfaceWithConstraints (ILjava/lang/String;Lcom/facebook/react/bridge/NativeMap;FFFFFFZZ)V
public fun startSurfaceWithSurfaceHandler (Lcom/facebook/react/fabric/SurfaceHandlerBinding;)V
public fun stopSurface (I)V
public fun stopSurfaceWithSurfaceHandler (Lcom/facebook/react/fabric/SurfaceHandlerBinding;)V
public fun unregister ()V
}

public final class com/facebook/react/fabric/ComponentFactory {
public fun <init> ()V
}
Expand Down Expand Up @@ -2715,7 +2682,7 @@ public class com/facebook/react/fabric/FabricUIManager : com/facebook/react/brid
public fun resolveView (I)Landroid/view/View;
public fun sendAccessibilityEvent (II)V
public fun sendAccessibilityEventFromJS (IILjava/lang/String;)V
public fun setBinding (Lcom/facebook/react/fabric/Binding;)V
public fun setBinding (Lcom/facebook/react/fabric/FabricUIManagerBinding;)V
public fun setJSResponder (IIIZ)V
public fun startSurface (Landroid/view/View;Ljava/lang/String;Lcom/facebook/react/bridge/WritableMap;II)I
public fun startSurface (Lcom/facebook/react/interfaces/fabric/SurfaceHandler;Landroid/content/Context;Landroid/view/View;)V
Expand Down Expand Up @@ -2759,7 +2726,7 @@ public class com/facebook/react/fabric/StateWrapperImpl : com/facebook/react/uim
public fun updateStateImpl (Lcom/facebook/react/bridge/NativeMap;)V
}

public class com/facebook/react/fabric/SurfaceHandlerBinding : com/facebook/react/interfaces/fabric/SurfaceHandler {
public class com/facebook/react/fabric/SurfaceHandlerBinding : com/facebook/jni/HybridClassBase, com/facebook/react/interfaces/fabric/SurfaceHandler {
public static final field DISPLAY_MODE_HIDDEN I
public static final field DISPLAY_MODE_SUSPENDED I
public static final field DISPLAY_MODE_VISIBLE I
Expand All @@ -2770,10 +2737,6 @@ public class com/facebook/react/fabric/SurfaceHandlerBinding : com/facebook/reac
public fun setLayoutConstraints (IIIIZZF)V
public fun setMountable (Z)V
public fun setProps (Lcom/facebook/react/bridge/NativeMap;)V
public fun setSurfaceId (I)V
}

public abstract interface annotation class com/facebook/react/fabric/SurfaceHandlerBinding$DisplayModeTypeDef : java/lang/annotation/Annotation {
}

public final class com/facebook/react/fabric/events/EventBeatManager : com/facebook/react/uimanager/events/BatchEventDispatchedListener {
Expand Down Expand Up @@ -2963,7 +2926,6 @@ public abstract interface class com/facebook/react/interfaces/fabric/SurfaceHand
public abstract fun setLayoutConstraints (IIIIZZF)V
public abstract fun setMountable (Z)V
public abstract fun setProps (Lcom/facebook/react/bridge/NativeMap;)V
public abstract fun setSurfaceId (I)V
}

public final class com/facebook/react/jscexecutor/JSCExecutor : com/facebook/react/bridge/JavaScriptExecutor {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ public class FabricUIManager
FabricSoLoader.staticInit();
}

@Nullable private Binding mBinding;
@Nullable private FabricUIManagerBinding mBinding;
@NonNull private final ReactApplicationContext mReactApplicationContext;
@NonNull private final MountingManager mMountingManager;
@NonNull private final EventDispatcher mEventDispatcher;
Expand Down Expand Up @@ -328,12 +328,11 @@ public void startSurface(
mReactApplicationContext, context, surfaceHandler.getModuleName(), rootTag);
mMountingManager.startSurface(rootTag, reactContext, rootView);

surfaceHandler.setSurfaceId(rootTag);
surfaceHandler.setMountable(rootView != null);
if (!(surfaceHandler instanceof SurfaceHandlerBinding)) {
throw new IllegalArgumentException("Invalid SurfaceHandler");
}
mBinding.startSurfaceWithSurfaceHandler((SurfaceHandlerBinding) surfaceHandler);
mBinding.startSurfaceWithSurfaceHandler(
rootTag, (SurfaceHandlerBinding) surfaceHandler, rootView != null);
}

public void attachRootView(final SurfaceHandler surfaceHandler, final View rootView) {
Expand Down Expand Up @@ -873,7 +872,7 @@ public void runGuarded() {
}
}

public void setBinding(Binding binding) {
public void setBinding(FabricUIManagerBinding binding) {
mBinding = binding;
}

Expand Down Expand Up @@ -1272,7 +1271,7 @@ public void didMountItems(@Nullable List<MountItem> mountItems) {
public void run() {
mMountNotificationScheduled = false;

final @Nullable Binding binding = mBinding;
final @Nullable FabricUIManagerBinding binding = mBinding;
if (binding == null || mDestroyed) {
mMountedSurfaceIds.clear();
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
package com.facebook.react.fabric

import android.annotation.SuppressLint
import com.facebook.jni.HybridData
import com.facebook.jni.HybridClassBase
import com.facebook.proguard.annotations.DoNotStrip
import com.facebook.react.bridge.NativeMap
import com.facebook.react.bridge.ReadableNativeMap
Expand All @@ -21,8 +21,12 @@ import com.facebook.react.uimanager.PixelUtil.getDisplayMetricDensity

@DoNotStrip
@SuppressLint("MissingNativeLoadLibrary")
public class BindingImpl : Binding {
@DoNotStrip @Suppress("NoHungarianNotation") private val mHybridData: HybridData = initHybrid()
internal class FabricUIManagerBinding : HybridClassBase() {
init {
initHybrid()
}

private external fun initHybrid()

private external fun installFabricUIManager(
runtimeExecutor: RuntimeExecutor,
Expand All @@ -33,9 +37,9 @@ public class BindingImpl : Binding {
reactNativeConfig: Any
)

external override fun startSurface(surfaceId: Int, moduleName: String, initialProps: NativeMap)
public external fun startSurface(surfaceId: Int, moduleName: String, initialProps: NativeMap)

external override fun startSurfaceWithConstraints(
public external fun startSurfaceWithConstraints(
surfaceId: Int,
moduleName: String,
initialProps: NativeMap,
Expand All @@ -49,15 +53,19 @@ public class BindingImpl : Binding {
doLeftAndRightSwapInRTL: Boolean
)

external override fun startSurfaceWithSurfaceHandler(surfaceHandler: SurfaceHandlerBinding)
public external fun startSurfaceWithSurfaceHandler(
surfaceId: Int,
surfaceHandler: SurfaceHandlerBinding,
isMountable: Boolean
)

external override fun stopSurface(surfaceId: Int)
public external fun stopSurface(surfaceId: Int)

external override fun stopSurfaceWithSurfaceHandler(surfaceHandler: SurfaceHandlerBinding)
public external fun stopSurfaceWithSurfaceHandler(surfaceHandler: SurfaceHandlerBinding)

external override fun setPixelDensity(pointScaleFactor: Float)
public external fun setPixelDensity(pointScaleFactor: Float)

external override fun setConstraints(
public external fun setConstraints(
surfaceId: Int,
minWidth: Float,
maxWidth: Float,
Expand All @@ -69,17 +77,17 @@ public class BindingImpl : Binding {
doLeftAndRightSwapInRTL: Boolean
)

external override fun driveCxxAnimations()
public external fun driveCxxAnimations()

external override fun drainPreallocateViewsQueue()
public external fun drainPreallocateViewsQueue()

external override fun reportMount(surfaceId: Int)
public external fun reportMount(surfaceId: Int)

external override fun getInspectorDataForInstance(
public external fun getInspectorDataForInstance(
eventEmitterWrapper: EventEmitterWrapper?
): ReadableNativeMap?

override fun register(
public fun register(
runtimeExecutor: RuntimeExecutor,
runtimeScheduler: RuntimeScheduler,
fabricUIManager: FabricUIManager,
Expand All @@ -100,7 +108,7 @@ public class BindingImpl : Binding {

private external fun uninstallFabricUIManager()

override fun unregister() {
public fun unregister() {
uninstallFabricUIManager()
}

Expand All @@ -109,7 +117,5 @@ public class BindingImpl : Binding {
FabricSoLoader.staticInit()
MapBufferSoLoader.staticInit()
}

@JvmStatic private external fun initHybrid(): HybridData
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public UIManager createUIManager(ReactApplicationContext reactApplicationContext

Systrace.beginSection(
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricUIManagerProviderImpl.registerBinding");
final Binding binding = new BindingImpl();
final FabricUIManagerBinding binding = new FabricUIManagerBinding();

CatalystInstance catalystInstance = reactApplicationContext.getCatalystInstance();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,13 @@
import static com.facebook.react.fabric.mounting.LayoutMetricsConversions.getMaxSize;
import static com.facebook.react.fabric.mounting.LayoutMetricsConversions.getMinSize;

import androidx.annotation.IntDef;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.jni.HybridData;
import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.jni.HybridClassBase;
import com.facebook.react.bridge.NativeMap;
import com.facebook.react.interfaces.fabric.SurfaceHandler;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Nullsafe(Nullsafe.Mode.LOCAL)
public class SurfaceHandlerBinding implements SurfaceHandler {
public class SurfaceHandlerBinding extends HybridClassBase implements SurfaceHandler {
static {
FabricSoLoader.staticInit();
}
Expand All @@ -32,45 +28,20 @@ public class SurfaceHandlerBinding implements SurfaceHandler {
public static final int DISPLAY_MODE_SUSPENDED = 1;
public static final int DISPLAY_MODE_HIDDEN = 2;

@Retention(RetentionPolicy.SOURCE)
@IntDef({DISPLAY_MODE_VISIBLE, DISPLAY_MODE_SUSPENDED, DISPLAY_MODE_HIDDEN})
public @interface DisplayModeTypeDef {}

@DoNotStrip private final HybridData mHybridData;

private static native HybridData initHybrid(int surfaceId, String moduleName);
private native void initHybrid(int surfaceId, String moduleName);

public SurfaceHandlerBinding(String moduleName) {
mHybridData = initHybrid(NO_SURFACE_ID, moduleName);
initHybrid(NO_SURFACE_ID, moduleName);
}

@Override
public int getSurfaceId() {
return getSurfaceIdNative();
}

private native int getSurfaceIdNative();

@Override
public void setSurfaceId(int surfaceId) {
setSurfaceIdNative(surfaceId);
}

private native void setSurfaceIdNative(int surfaceId);
public native int getSurfaceId();

@Override
public String getModuleName() {
return getModuleNameNative();
}

private native String getModuleNameNative();
public native String getModuleName();

@Override
public boolean isRunning() {
return isRunningNative();
}

private native boolean isRunningNative();
public native boolean isRunning();

@Override
public void setLayoutConstraints(
Expand Down Expand Up @@ -105,16 +76,12 @@ private native void setLayoutConstraintsNative(
float pixelDensity);

@Override
public void setProps(NativeMap props) {
setPropsNative(props);
}

private native void setPropsNative(NativeMap props);
public native void setProps(NativeMap props);

@Override
public void setMountable(boolean mountable) {
setDisplayModeNative(mountable ? DISPLAY_MODE_VISIBLE : DISPLAY_MODE_SUSPENDED);
setDisplayMode(mountable ? DISPLAY_MODE_VISIBLE : DISPLAY_MODE_SUSPENDED);
}

private native void setDisplayModeNative(@DisplayModeTypeDef int mode);
private native void setDisplayMode(int mode);
}
Loading
Loading