Introduce ReactSurfaceInterface

Summary:
This diff introduces ReactSurfaceInterface (as an empty interface).
The goal is to demonstrate that we will be extending interfaces iteratively, meaning we will complete this API as we advance on the Stable API of surface in H2

bypass-github-export-checks

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D46770420

fbshipit-source-id: 48b1ee302c157ae3431d61c84322d788d149f881
This commit is contained in:
David Vacca
2023-06-15 22:34:36 -07:00
committed by Facebook GitHub Bot
parent 0edc2f08e1
commit c5496fd93f
2 changed files with 16 additions and 1 deletions
@@ -23,6 +23,7 @@ import com.facebook.react.bridgeless.internal.bolts.Task;
import com.facebook.react.common.annotations.VisibleForTesting;
import com.facebook.react.fabric.SurfaceHandler;
import com.facebook.react.fabric.SurfaceHandlerBinding;
import com.facebook.react.interfaces.ReactSurfaceInterface;
import com.facebook.react.modules.i18nmanager.I18nUtil;
import com.facebook.react.uimanager.events.EventDispatcher;
import java.util.concurrent.atomic.AtomicReference;
@@ -31,7 +32,7 @@ import javax.annotation.Nullable;
/** A class responsible for creating and rendering a full-screen React surface. */
@Nullsafe(Nullsafe.Mode.LOCAL)
@ThreadSafe
public class ReactSurface {
public class ReactSurface implements ReactSurfaceInterface {
private final AtomicReference<ReactSurfaceView> mSurfaceView = new AtomicReference<>(null);
@@ -0,0 +1,14 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.react.interfaces
/** Represents a Surface in React Native. */
interface ReactSurfaceInterface {
// the API of this interface will be completed as we analyze and refactor API of ReactSurface,
// ReactRootView, etc.
}