diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index 0a3d08f46983..a69380a3bdaa 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -780,16 +780,6 @@ public abstract class com/facebook/react/bridge/GuardedAsyncTask : android/os/As protected abstract fun doInBackgroundGuarded ([Ljava/lang/Object;)V } -public abstract class com/facebook/react/bridge/GuardedResultAsyncTask : android/os/AsyncTask { - protected fun (Lcom/facebook/react/bridge/JSExceptionHandler;)V - protected fun (Lcom/facebook/react/bridge/ReactContext;)V - protected synthetic fun doInBackground ([Ljava/lang/Object;)Ljava/lang/Object; - protected final fun doInBackground ([Ljava/lang/Void;)Ljava/lang/Object; - protected abstract fun doInBackgroundGuarded ()Ljava/lang/Object; - protected final fun onPostExecute (Ljava/lang/Object;)V - protected abstract fun onPostExecuteGuarded (Ljava/lang/Object;)V -} - public abstract class com/facebook/react/bridge/GuardedRunnable : java/lang/Runnable { public fun (Lcom/facebook/react/bridge/JSExceptionHandler;)V public fun (Lcom/facebook/react/bridge/ReactContext;)V @@ -4095,10 +4085,6 @@ public abstract class com/facebook/react/uimanager/BaseViewManagerDelegate : com public fun setProperty (Landroid/view/View;Ljava/lang/String;Ljava/lang/Object;)V } -public abstract interface class com/facebook/react/uimanager/ComponentNameResolver { - public abstract fun getComponentNames ()[Ljava/lang/String; -} - public final class com/facebook/react/uimanager/DisplayMetricsHolder { public static final field INSTANCE Lcom/facebook/react/uimanager/DisplayMetricsHolder; public static final fun getDisplayMetricsWritableMap (D)Lcom/facebook/react/bridge/WritableMap; @@ -4110,22 +4096,6 @@ public final class com/facebook/react/uimanager/DisplayMetricsHolder { public static final fun setWindowDisplayMetrics (Landroid/util/DisplayMetrics;)V } -public class com/facebook/react/uimanager/FabricViewStateManager { - public fun ()V - public fun getStateData ()Lcom/facebook/react/bridge/ReadableMap; - public fun hasStateWrapper ()Z - public fun setState (Lcom/facebook/react/uimanager/FabricViewStateManager$StateUpdateCallback;)V - public fun setStateWrapper (Lcom/facebook/react/uimanager/StateWrapper;)V -} - -public abstract interface class com/facebook/react/uimanager/FabricViewStateManager$HasFabricViewStateManager { - public abstract fun getFabricViewStateManager ()Lcom/facebook/react/uimanager/FabricViewStateManager; -} - -public abstract interface class com/facebook/react/uimanager/FabricViewStateManager$StateUpdateCallback { - public abstract fun getStateUpdate ()Lcom/facebook/react/bridge/WritableMap; -} - public final class com/facebook/react/uimanager/FloatUtil { public static final field INSTANCE Lcom/facebook/react/uimanager/FloatUtil; public static final fun floatsEqual (FF)Z diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java deleted file mode 100644 index 6b94e55173ff..000000000000 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * 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.bridge; - -import android.os.AsyncTask; - -/** - * Abstract base for a AsyncTask with result support that should have any RuntimeExceptions it - * throws handled by the {@link JSExceptionHandler} registered if the app is in dev mode. - */ -public abstract class GuardedResultAsyncTask extends AsyncTask { - - private final JSExceptionHandler mExceptionHandler; - - protected GuardedResultAsyncTask(ReactContext reactContext) { - this(reactContext.getExceptionHandler()); - } - - protected GuardedResultAsyncTask(JSExceptionHandler exceptionHandler) { - mExceptionHandler = exceptionHandler; - } - - @Override - protected final Result doInBackground(Void... params) { - try { - return doInBackgroundGuarded(); - } catch (RuntimeException e) { - mExceptionHandler.handleException(e); - throw e; - } - } - - @Override - protected final void onPostExecute(Result result) { - try { - onPostExecuteGuarded(result); - } catch (RuntimeException e) { - mExceptionHandler.handleException(e); - } - } - - protected abstract Result doInBackgroundGuarded(); - - protected abstract void onPostExecuteGuarded(Result result); -} diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt similarity index 62% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt index fb9d15de2974..478a2e709ca8 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt @@ -5,13 +5,12 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.uimanager; +package com.facebook.react.uimanager -import com.facebook.proguard.annotations.DoNotStripAny; +import com.facebook.proguard.annotations.DoNotStripAny @DoNotStripAny -public interface ComponentNameResolver { - +internal interface ComponentNameResolver { /* returns a list of all the component names that are registered in React Native. */ - String[] getComponentNames(); + public val componentNames: Array? } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java deleted file mode 100644 index 73dd4b98c1e3..000000000000 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * 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.uimanager; - -import androidx.annotation.Nullable; -import com.facebook.common.logging.FLog; -import com.facebook.infer.annotation.Nullsafe; -import com.facebook.react.bridge.ReadableMap; -import com.facebook.react.bridge.WritableMap; - -/** - * This is a helper base class for ViewGroups that use Fabric State. - * - *

Reason to use this: UpdateState calls from the View layer to the Fabric core can fail, and - * optionally Fabric will call a "failure callback" if that happens. This class abstracts that and - * makes it easier ensure that State in Fabric is always up-to-date. - * - *

1. Whenever ViewManager.updateState is called, call View.setStateWrapper. 2. Instead of - * calling StateWrapper.updateState directly, call View.setState and it will automatically keep - * retrying the UpdateState call until it succeeds; or you call setState again; or the View layer is - * updated with a newer StateWrapper. - */ -@Nullsafe(Nullsafe.Mode.LOCAL) -@Deprecated( - since = - "Deprecated class since v0.73.0, please use com.facebook.react.uimanager.StateWrapper" - + " instead.", - forRemoval = true) -public class FabricViewStateManager { - private static final String TAG = "FabricViewStateManager"; - - @Deprecated - public interface HasFabricViewStateManager { - FabricViewStateManager getFabricViewStateManager(); - } - - @Deprecated - public interface StateUpdateCallback { - WritableMap getStateUpdate(); - } - - @Nullable private StateWrapper mStateWrapper = null; - - @Deprecated - public void setStateWrapper(StateWrapper stateWrapper) { - mStateWrapper = stateWrapper; - } - - @Deprecated - public boolean hasStateWrapper() { - return mStateWrapper != null; - } - - private void setState( - @Nullable final StateWrapper stateWrapper, - final StateUpdateCallback stateUpdateCallback, - final int numTries) { - // The StateWrapper will change, breaking the async loop, whenever the UpdateState MountItem - // is executed. - // The caller is responsible for detecting if data is up-to-date, and doing nothing, or - // detecting if state is stale and calling setState again. - if (stateWrapper == null) { - FLog.e(TAG, "setState called without a StateWrapper"); - return; - } - if (stateWrapper != mStateWrapper) { - return; - } - // We bail out after an arbitrary number of tries. In practice this should never go higher - // than 2 or 3, but there's nothing guaranteeing that. - if (numTries > 60) { - return; - } - - @Nullable WritableMap stateUpdate = stateUpdateCallback.getStateUpdate(); - if (stateUpdate == null) { - return; - } - - // TODO: State update cannot fail; remove `failureRunnable` and custom retrying logic. - stateWrapper.updateState(stateUpdate); - } - - @Deprecated - public void setState(final StateUpdateCallback stateUpdateCallback) { - setState(mStateWrapper, stateUpdateCallback, 0); - } - - @Deprecated - public @Nullable ReadableMap getStateData() { - return mStateWrapper != null ? mStateWrapper.getStateData() : null; - } -}