Pārlūkot izejas kodu

fix(ios) fix conference failing when proximity sensor is near

React Native links timers to the display, so they cannot run when the display is
not running. Builtin timers already take being in the background into account,
but not the proximity sensor.

Credits: https://github.com/react-native-webrtc/react-native-callkeep/issues/143

Fixes: https://github.com/jitsi/jitsi-meet/issues/9619
master
Saúl Ibarra Corretgé 3 gadus atpakaļ
vecāks
revīzija
10cc3b2b31
1 mainītis faili ar 33 papildinājumiem un 0 dzēšanām
  1. 33
    0
      patches/react-native+0.61.5-jitsi.2.patch

+ 33
- 0
patches/react-native+0.61.5-jitsi.2.patch Parādīt failu

11
                                 withDispatchGroup:(dispatch_group_t)dispatchGroup
11
                                 withDispatchGroup:(dispatch_group_t)dispatchGroup
12
                                  lazilyDiscovered:(BOOL)lazilyDiscovered
12
                                  lazilyDiscovered:(BOOL)lazilyDiscovered
13
  {
13
  {
14
+diff --git a/node_modules/react-native/React/Modules/RCTTiming.m b/node_modules/react-native/React/Modules/RCTTiming.m
15
+index 8a09022..265d7b6 100644
16
+--- a/node_modules/react-native/React/Modules/RCTTiming.m
17
++++ b/node_modules/react-native/React/Modules/RCTTiming.m
18
+@@ -130,6 +130,11 @@ - (void)setBridge:(RCTBridge *)bridge
19
+                                                object:nil];
20
+   }
21
+
22
++  [[NSNotificationCenter defaultCenter] addObserver:self
23
++                                           selector:@selector(proximityChanged)
24
++                                               name:UIDeviceProximityStateDidChangeNotification
25
++                                             object:nil];
26
++
27
+   _bridge = bridge;
28
+ }
29
+
30
+@@ -276,6 +281,16 @@ - (void)didUpdateFrame:(RCTFrameUpdate *)update
31
+   }
32
+ }
33
+
34
++-(void)proximityChanged
35
++{
36
++  BOOL near = [UIDevice currentDevice].proximityState;
37
++  if (near) {
38
++    [self appDidMoveToBackground];
39
++  } else {
40
++    [self appDidMoveToForeground];
41
++  }
42
++}
43
++
44
+ - (void)scheduleSleepTimer:(NSDate *)sleepTarget
45
+ {
46
+   @synchronized (self) {
14
 diff --git a/node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm b/node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm
47
 diff --git a/node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm b/node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm
15
 index 3cb73b5..e4a14b4 100644
48
 index 3cb73b5..e4a14b4 100644
16
 --- a/node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm
49
 --- a/node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm

Notiek ielāde…
Atcelt
Saglabāt