Skip to content

Commit fbe15f6

Browse files
mdvaccameta-codesync[bot]
authored andcommitted
Stub UIImplementation and clean up usages (#55759)
Summary: changelog: [Android][Breaking] stub UIImplementation class, this class is unused in the new architecture Pull Request resolved: #55759 Continuing the Legacy Architecture cleanup, this diff stubs out UIImplementation by removing all fields, private methods, and method body implementations while keeping all public/protected method signatures with empty bodies. The primary consumer UIManagerModule is cleaned up to no longer reference UIImplementation — all delegating methods become empty stubs, and getConstantsForViewManager now uses mViewManagerRegistry directly. Same pattern as NativeViewHierarchyManager (D93801180) and UIViewOperationQueue (D93069524). Changes: - UIImplementation.java: Remove all fields and private methods. Both constructors become empty. All public/protected methods retain signatures with empty bodies returning null/0/empty map as appropriate. LayoutUpdateListener interface preserved. - UIManagerModule.java: Remove mUIImplementation field and getUIImplementation() method. All methods that delegated to UIImplementation become empty stubs, retaining only non-UIImplementation logic (event dispatcher teardown, Fabric sendAccessibilityEvent branch, debug logging, ViewUtil.isRootTag for resolveRootTagFromReactTag). - ReactAndroid.api: Remove 5 protected fields from UIImplementation, remove getUIImplementation() from UIManagerModule. Reviewed By: NickGerleman Differential Revision: D93806249 fbshipit-source-id: aed59fb824d021733306f9957dfb4c057aae08d3
1 parent c2156a8 commit fbe15f6

File tree

3 files changed

+118
-843
lines changed

3 files changed

+118
-843
lines changed

packages/react-native/ReactAndroid/api/ReactAndroid.api

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4260,14 +4260,8 @@ public abstract interface class com/facebook/react/uimanager/UIBlock {
42604260
}
42614261

42624262
public class com/facebook/react/uimanager/UIImplementation {
4263-
protected final field mEventDispatcher Lcom/facebook/react/uimanager/events/EventDispatcher;
4264-
protected field mLayoutUpdateListener Lcom/facebook/react/uimanager/UIImplementation$LayoutUpdateListener;
4265-
protected final field mReactContext Lcom/facebook/react/bridge/ReactApplicationContext;
4266-
protected final field mShadowNodeRegistry Lcom/facebook/react/uimanager/ShadowNodeRegistry;
4267-
protected field uiImplementationThreadLock Ljava/lang/Object;
42684263
protected fun <init> (Lcom/facebook/react/bridge/ReactApplicationContext;Lcom/facebook/react/uimanager/ViewManagerRegistry;Lcom/facebook/react/uimanager/UIViewOperationQueue;Lcom/facebook/react/uimanager/events/EventDispatcher;)V
42694264
public fun addUIBlock (Lcom/facebook/react/uimanager/UIBlock;)V
4270-
protected fun applyUpdatesRecursive (Lcom/facebook/react/uimanager/ReactShadowNode;FFLjava/util/List;)V
42714265
protected fun calculateRootLayout (Lcom/facebook/react/uimanager/ReactShadowNode;)V
42724266
public fun clearJSResponder ()V
42734267
public fun configureNextLayoutAnimation (Lcom/facebook/react/bridge/ReadableMap;Lcom/facebook/react/bridge/Callback;)V
@@ -4363,7 +4357,6 @@ public class com/facebook/react/uimanager/UIManagerModule : com/facebook/react/b
43634357
public fun getEventDispatcher ()Lcom/facebook/react/uimanager/events/EventDispatcher;
43644358
public fun getName ()Ljava/lang/String;
43654359
public fun getPerformanceCounters ()Ljava/util/Map;
4366-
public fun getUIImplementation ()Lcom/facebook/react/uimanager/UIImplementation;
43674360
public fun getViewManagerRegistry_DO_NOT_USE ()Lcom/facebook/react/uimanager/ViewManagerRegistry;
43684361
public fun initialize ()V
43694362
public fun invalidate ()V

0 commit comments

Comments
 (0)