Skip to content

Commit

Permalink
fix(iOS): Change retrieving window in FullWindowOverlay (#2031)
Browse files Browse the repository at this point in the history
## Description

This PR is a follow up for the PR #1526.

Currently, in React Native there's `RCTKeyWindow()` method which goes
through each window of `RCTSharedApplication()` and selects the window
that is a key window of a given window. This is a better solution, since
we don't rely on a single `keyWindow` from RCTSharedApplication.
I've also added a support for Fabric.

I've checked how does FullWindowOverlay work with the change and it
works as usual.
Closes #1526.

## Changes

- Changed the method of retrieving window from `delegate.window` to
`RCTKeyWindow()`

## Test code and steps to reproduce

You can run `Test1844` and check if FullWindowOverlay works correctly.

## Checklist

- [X] Included code example that can be used to test this change
- [X] Ensured that CI passes

Co-authored-by: alexbumbu <alex.bumbu@gmail.com>
  • Loading branch information
tboba and alexbumbu committed Apr 11, 2024
1 parent a8bb418 commit 03dad84
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions ios/RNSFullWindowOverlay.mm
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ - (RNSFullWindowOverlayContainer *)container

- (void)show
{
UIWindow *window = RCTSharedApplication().delegate.window;
UIWindow *window = RCTKeyWindow();
[window addSubview:_container];
}

Expand Down Expand Up @@ -156,7 +156,7 @@ - (void)didMoveToSuperview
// so when the component gets recycled we need to add it back.
- (void)maybeShow
{
UIWindow *window = RCTSharedApplication().delegate.window;
UIWindow *window = RCTKeyWindow();
if (![[window subviews] containsObject:self]) {
[window addSubview:_container];
}
Expand Down

0 comments on commit 03dad84

Please sign in to comment.