Skip to content

Remove obsolete Android UIManager surface APIs - #59045

Open
javache wants to merge 3 commits into
react:mainfrom
javache:export-D124983537
Open

javache wants to merge 3 commits into
react:mainfrom
javache:export-D124983537

Conversation

@javache

@javache javache commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Summary:
The legacy bridge can no longer be initialized, and the native bridge+Fabric surface path was removed by the parent diff. Remove the corresponding View-based lifecycle APIs from UIManager, FabricUIManager, and UIManagerModule, along with their throwing implementations and unreachable ReactInstanceManager call paths. The supported SurfaceHandlerBinding lifecycle remains unchanged.

Changelog:
[Android][Breaking] - Remove legacy View-based surface lifecycle methods from UIManager, FabricUIManager, and UIManagerModule.

Reviewed By: christophpurrer

Differential Revision: D124983537

Summary:

The View-based `UIManager` lifecycle predates `ReactHost` and `ReactSurface` and is no longer used by the supported architecture. Deprecate these methods before their planned removal and point callers to `ReactHost.createSurface(...)` and `ReactSurface.start()` or `stop()`.

Changelog:
[Android][Deprecated] - Deprecate the legacy View-based surface lifecycle methods in `UIManager`.

Reviewed By: christophpurrer

Differential Revision: D124990160
Summary:

ReactInstanceManager can no longer initialise the legacy bridge, so the bridge+Fabric surface lifecycle JNI entry points are unreachable. Remove those methods while retaining the existing UIManager signatures as explicit unsupported/no-op compatibility overrides, and simplify native surface tracking to weak Java-owned SurfaceHandlers.

Changelog: [Internal]

Reviewed By: christophpurrer

Differential Revision: D124979204
Summary:
The legacy bridge can no longer be initialized, and the native bridge+Fabric surface path was removed by the parent diff. Remove the corresponding View-based lifecycle APIs from `UIManager`, `FabricUIManager`, and `UIManagerModule`, along with their throwing implementations and unreachable `ReactInstanceManager` call paths. The supported `SurfaceHandlerBinding` lifecycle remains unchanged.

Changelog:
[Android][Breaking] - Remove legacy View-based surface lifecycle methods from `UIManager`, `FabricUIManager`, and `UIManagerModule`.

Reviewed By: christophpurrer

Differential Revision: D124983537
@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 Oct 13, 2026
@meta-codesync

meta-codesync Bot commented Oct 13, 2026

Copy link
Copy Markdown

@javache has exported this pull request. If you are a Meta employee, you can view the originating Diff in D124983537.

This branch has not been deployed

No deployments
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. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant