Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
jitsi-meet/patches/react-native+0.72.7.patch

55 lines
1.8 KiB

diff --git a/node_modules/react-native/React/CoreModules/RCTTiming.mm b/node_modules/react-native/React/CoreModules/RCTTiming.mm
index e4f7e15..6f05fb3 100644
--- a/node_modules/react-native/React/CoreModules/RCTTiming.mm
+++ b/node_modules/react-native/React/CoreModules/RCTTiming.mm
@@ -127,13 +127,16 @@ RCT_EXPORT_MODULE()
{
_paused = YES;
_timers = [NSMutableDictionary new];
- _inBackground = NO;
- RCTExecuteOnMainQueue(^{
- if (!self->_inBackground && [RCTSharedApplication() applicationState] == UIApplicationStateBackground) {
- [self appDidMoveToBackground];
- }
+
+ __block BOOL initialInBackground;
+ dispatch_sync(dispatch_get_main_queue(), ^{
+ initialInBackground
+ = [UIApplication sharedApplication].applicationState == UIApplicationStateBackground
+ || [UIDevice currentDevice].proximityState;
});
+ _inBackground = initialInBackground;
+
for (NSString *name in @[
UIApplicationWillResignActiveNotification,
UIApplicationDidEnterBackgroundNotification,
@@ -151,6 +154,11 @@ RCT_EXPORT_MODULE()
name:name
object:nil];
}
+
+ [[NSNotificationCenter defaultCenter] addObserver:self
+ selector:@selector(proximityChanged)
+ name:UIDeviceProximityStateDidChangeNotification
+ object:nil];
}
- (void)dealloc
@@ -187,6 +195,16 @@ RCT_EXPORT_MODULE()
[self startTimers];
}
+- (void)proximityChanged
+{
+ BOOL isClose = [UIDevice currentDevice].proximityState;
+ if (isClose) {
+ [self appDidMoveToBackground];
+ } else {
+ [self appDidMoveToForeground];
+ }
+}
+
- (void)stopTimers
{
if (_inBackground) {