Skip to content

Deprecate legacy UIBlock and addUIBlock/prependUIBlock APIs#56827

Closed
cortinico wants to merge 2 commits into
react:mainfrom
cortinico:export-D104995161
Closed

Deprecate legacy UIBlock and addUIBlock/prependUIBlock APIs#56827
cortinico wants to merge 2 commits into
react:mainfrom
cortinico:export-D104995161

Conversation

@cortinico

Copy link
Copy Markdown
Contributor

Summary:
Deprecate UIBlock, NativeViewHierarchyManager, and the addUIBlock/prependUIBlock methods on UIManagerModule. These are legacy Paper architecture APIs that are already non-functional stubs. Libraries should migrate to UIManagerListener or View Commands.

The Fabric replacement for UIBlock already exists at com.facebook.react.fabric.interop.UIBlock and uses UIBlockViewResolver instead of NativeViewHierarchyManager.

Changelog:
[Android][Deprecated] - Deprecate UIBlock interface and UIManagerModule.addUIBlock/prependUIBlock methods. Use UIManagerListener or View Commands instead.

Differential Revision: D104995161

cortinico added 2 commits May 14, 2026 06:56
Summary:
This class was fully stubbed out as part of the Legacy Architecture removal. All public methods had empty bodies or returned null/0, meaning any OSS library still referencing it was already silently broken at runtime.

- `UIImplementation` — all methods empty stubs

Also removes the dead `getUIImplementation()` method from `UIManagerModule`, and cleans up stale Javadoc references in `JSTouchDispatcher`, `ReactViewGroup`, and `ReactInterceptingViewGroup`.

`UIBlock`, `NativeViewHierarchyManager`, `UIViewOperationQueue`, and the `addUIBlock`/`prependUIBlock` methods on `UIManagerModule` are retained and will be deprecated in a follow-up diff.

Changelog:
[Android][Removed] - Remove legacy architecture stub `UIImplementation`. This class was already non-functional (all methods were empty stubs).

Differential Revision: D104991922
Summary:
Deprecate `UIBlock`, `NativeViewHierarchyManager`, and the `addUIBlock`/`prependUIBlock` methods on `UIManagerModule`. These are legacy Paper architecture APIs that are already non-functional stubs. Libraries should migrate to `UIManagerListener` or View Commands.

The Fabric replacement for `UIBlock` already exists at `com.facebook.react.fabric.interop.UIBlock` and uses `UIBlockViewResolver` instead of `NativeViewHierarchyManager`.

Changelog:
[Android][Deprecated] - Deprecate `UIBlock` interface and `UIManagerModule.addUIBlock`/`prependUIBlock` methods. Use `UIManagerListener` or View Commands instead.

Differential Revision: D104995161
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label May 14, 2026
@react-native-bot

Copy link
Copy Markdown
Collaborator

Closing as this has been merged in 29a7691

@react-native-bot react-native-bot added the Merged This PR has been merged. label Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants