Clear bundler banner messages after a certain delay during development. (#38355)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38355

Changelog: [General] [iOS] Clear bundler banner messages after a certain delay during development.

Reviewed By: cipolleschi

Differential Revision: D47478373

fbshipit-source-id: e171ec714fc13096adfd4811f2007ff3e37cbf38
This commit is contained in:
Deepak Jacob
2023-07-19 09:24:49 -07:00
committed by Facebook GitHub Bot
parent 256aaa15bf
commit 6eeb81a86e
@@ -83,6 +83,14 @@ RCT_EXPORT_MODULE()
dispatch_time(DISPATCH_TIME_NOW, 0.2 * NSEC_PER_SEC), dispatch_get_main_queue(), self->_initialMessageBlock);
}
- (void)hideBannerAfter:(CGFloat)delay
{
// Cancel previous hide call after the delay.
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(hide) object:nil];
// Set new hide call after a delay.
[self performSelector:@selector(hide) withObject:nil afterDelay:delay];
}
- (void)showMessage:(NSString *)message color:(UIColor *)color backgroundColor:(UIColor *)backgroundColor
{
if (!RCTDevLoadingViewGetEnabled() || _hiding) {
@@ -132,6 +140,8 @@ RCT_EXPORT_MODULE()
UIWindowScene *scene = (UIWindowScene *)RCTSharedApplication().connectedScenes.anyObject;
self->_window.windowScene = scene;
});
[self hideBannerAfter:15.0];
}
RCT_EXPORT_METHOD(showMessage