Skip to content

Commit

Permalink
Fix for multi-root apps with Modal
Browse files Browse the repository at this point in the history
Summary:
In multi-root Android React Native apps (e.g., multiple ReactFragments), if the following sequence occurs:
1. a Modal is displayed via the secondary root
2. the secondary root is destroyed
3. the app is backgrounded
4. the app is foregrounded

The LifecycleEventListener on the ReactModalHostView will fire, causing the Modal to be rehydrated in the onHostResume callback.

Removing the lifecycle event listener when the modal is detached from the window resolves the issue.

## Changelog

[Android][Fix] Fix issues with Modals and lifecycle events in multi-surface apps

Differential Revision: D64001103
  • Loading branch information
rozele authored and facebook-github-bot committed Oct 7, 2024
1 parent d2f3f06 commit 63eeab6
Showing 1 changed file with 1 addition and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public class ReactModalHostView(context: ThemedReactContext) :

protected override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
dismiss()
onDropInstance()
}

public override fun addView(child: View?, index: Int) {
Expand Down

0 comments on commit 63eeab6

Please sign in to comment.