Skip to content

Deprecate legacy UIBlock and addUIBlock/prependUIBlock APIs#56827

Open
cortinico wants to merge 2 commits into
facebook:mainfrom
cortinico:export-D104995161
Open

Deprecate legacy UIBlock and addUIBlock/prependUIBlock APIs#56827
cortinico wants to merge 2 commits into
facebook: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
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 meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant