@cloudflare/realtimekit-react-native 0.1.2-staging.9 → 0.1.3-staging.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/android/src/main/AndroidManifest.xml +1 -1
  2. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/BackgroundTimer/RNBackgroundTimer.java +3 -3
  3. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/Constants.java +4 -4
  4. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/CoreModule.java +1 -1
  5. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/CorePackage.java +6 -6
  6. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/ForegroundService.java +5 -5
  7. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/NotificationHelper.java +2 -2
  8. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/RNPermissionsModule.java +2 -2
  9. package/android/src/main/java/com/{reactnativecore/DyteHelperModule.java → cloudflare/realtimekit/RTKHelperModule.java} +12 -12
  10. package/android/src/main/java/com/{reactnativecore/DyteHolder.java → cloudflare/realtimekit/RTKHolder.java} +2 -2
  11. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/incallmanager/AppRTCBluetoothManager.java +4 -4
  12. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/incallmanager/AppRTCProximitySensor.java +4 -4
  13. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/incallmanager/AppRTCUtils.java +1 -1
  14. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/incallmanager/InCallManagerModule.java +4 -4
  15. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/incallmanager/InCallProximityManager.java +3 -3
  16. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/incallmanager/InCallWakeLockUtils.java +2 -2
  17. package/android/src/main/java/com/{reactnativecore → cloudflare/realtimekit}/incallmanager/ThreadUtils.java +1 -1
  18. package/app.plugin.js +1 -1
  19. package/ios/RNInCallManager.m +26 -18
  20. package/ios/{DyteRNBackgroundTimer.h → RTKRNBackgroundTimer.h} +1 -1
  21. package/ios/{DyteRNBackgroundTimer.m → RTKRNBackgroundTimer.m} +2 -2
  22. package/ios/{DyteRNPermissionHandlerNotifications.h → RTKRNPermissionHandlerNotifications.h} +2 -2
  23. package/ios/{DyteRNPermissionHandlerNotifications.m → RTKRNPermissionHandlerNotifications.m} +3 -3
  24. package/ios/{DyteRNPermissions.h → RTKRNPermissions.h} +2 -2
  25. package/ios/{DyteRNPermissions.m → RTKRNPermissions.m} +33 -33
  26. package/ios/{DyteScreensharePickerView.h → RTKScreensharePickerView.h} +1 -1
  27. package/ios/{DyteScreensharePickerView.m → RTKScreensharePickerView.m} +2 -2
  28. package/ios/permissions/RTKRNPermissionHandlerBluetoothPeripheral.h +4 -0
  29. package/ios/permissions/{DyteRNPermissionHandlerBluetoothPeripheral.m → RTKRNPermissionHandlerBluetoothPeripheral.m} +3 -3
  30. package/ios/permissions/RTKRNPermissionHandlerCamera.h +5 -0
  31. package/ios/permissions/{DyteRNPermissionHandlerCamera.m → RTKRNPermissionHandlerCamera.m} +2 -2
  32. package/ios/permissions/RTKRNPermissionHandlerMicrophone.h +5 -0
  33. package/ios/permissions/{DyteRNPermissionHandlerMicrophone.m → RTKRNPermissionHandlerMicrophone.m} +2 -2
  34. package/ios/permissions/{DyteRNPermissionHandlerPhotoLibrary.h → RTKRNPermissionHandlerPhotoLibrary.h} +2 -2
  35. package/ios/permissions/{DyteRNPermissionHandlerPhotoLibrary.m → RTKRNPermissionHandlerPhotoLibrary.m} +2 -2
  36. package/ios/screenshare/{DyteDarwinNotificationCenter.swift → RTKDarwinNotificationCenter.swift} +4 -4
  37. package/ios/screenshare/{DyteScreenshareAtomic.swift → RTKScreenshareAtomic.swift} +1 -1
  38. package/ios/screenshare/{DyteScreenshareHandler.swift → RTKScreenshareHandler.swift} +8 -8
  39. package/ios/screenshare/{DyteScreenshareUploader.swift → RTKScreenshareUploader.swift} +6 -6
  40. package/ios/screenshare/{DyteSocketConnection.swift → RTKSocketConnection.swift} +3 -3
  41. package/lib/BackgroundHandler.js +19 -9
  42. package/lib/LocalMediaHandler.d.ts +0 -3
  43. package/lib/LocalMediaHandler.js +26 -46
  44. package/lib/PermissionHandler.js +7 -7
  45. package/lib/ReactContext.d.ts +4 -4
  46. package/lib/ReactContext.js +5 -5
  47. package/lib/ReactHooks.d.ts +1 -1
  48. package/lib/ReactHooks.js +1 -1
  49. package/package.json +1 -1
  50. package/plugin/build/{withDyte.js → withRTK.js} +1 -1
  51. package/plugin/src/{withDyte.ts → withRTK.ts} +4 -1
  52. package/plugin/tsconfig.tsbuildinfo +1 -1
  53. package/LICENSE +0 -13
  54. package/ios/permissions/DyteRNPermissionHandlerBluetoothPeripheral.h +0 -4
  55. package/ios/permissions/DyteRNPermissionHandlerCamera.h +0 -5
  56. package/ios/permissions/DyteRNPermissionHandlerMicrophone.h +0 -5
  57. /package/plugin/build/{withDyte.d.ts → withRTK.d.ts} +0 -0
@@ -1,32 +1,32 @@
1
- #import "DyteRNPermissions.h"
1
+ #import "RTKRNPermissions.h"
2
2
  #import <React/RCTLog.h>
3
3
  #import <React/RCTConvert.h>
4
- #import "DyteRNPermissionHandlerBluetoothPeripheral.h"
5
- #import "DyteRNPermissionHandlerCamera.h"
6
- #import "DyteRNPermissionHandlerMicrophone.h"
7
- #import "DyteRNPermissionHandlerPhotoLibrary.h"
8
- #import "DyteRNPermissionHandlerNotifications.h"
4
+ #import "RTKRNPermissionHandlerBluetoothPeripheral.h"
5
+ #import "RTKRNPermissionHandlerCamera.h"
6
+ #import "RTKRNPermissionHandlerMicrophone.h"
7
+ #import "RTKRNPermissionHandlerPhotoLibrary.h"
8
+ #import "RTKRNPermissionHandlerNotifications.h"
9
9
 
10
10
  static NSString* SETTING_KEY = @"@RNPermissions:Requested";
11
11
 
12
12
  @implementation RCTConvert(RNPermission)
13
13
 
14
14
  RCT_ENUM_CONVERTER(RNPermission, (@{
15
- [DyteRNPermissionHandlerBluetoothPeripheral handlerUniqueId]: @(RNPermissionBluetoothPeripheral),
16
- [DyteRNPermissionHandlerCamera handlerUniqueId]: @(RNPermissionCamera),
17
- [DyteRNPermissionHandlerMicrophone handlerUniqueId]: @(RNPermissionMicrophone),
18
- [DyteRNPermissionHandlerPhotoLibrary handlerUniqueId]: @(RNPermissionPhotoLibrary),
15
+ [RTKRNPermissionHandlerBluetoothPeripheral handlerUniqueId]: @(RNPermissionBluetoothPeripheral),
16
+ [RTKRNPermissionHandlerCamera handlerUniqueId]: @(RNPermissionCamera),
17
+ [RTKRNPermissionHandlerMicrophone handlerUniqueId]: @(RNPermissionMicrophone),
18
+ [RTKRNPermissionHandlerPhotoLibrary handlerUniqueId]: @(RNPermissionPhotoLibrary),
19
19
  }), RNPermissionUnknown, integerValue);
20
20
 
21
21
  @end
22
22
 
23
- @interface DyteRNPermissions()
23
+ @interface RTKRNPermissions()
24
24
 
25
- @property (nonatomic, strong) NSMutableDictionary<NSString *, id<DyteRNPermissionHandler>> *_Nonnull handlers;
25
+ @property (nonatomic, strong) NSMutableDictionary<NSString *, id<RTKRNPermissionHandler>> *_Nonnull handlers;
26
26
 
27
27
  @end
28
28
 
29
- @implementation DyteRNPermissions
29
+ @implementation RTKRNPermissions
30
30
 
31
31
  RCT_EXPORT_MODULE();
32
32
 
@@ -42,10 +42,10 @@ RCT_EXPORT_MODULE();
42
42
  NSMutableArray<NSString *> *available = [NSMutableArray new];
43
43
 
44
44
 
45
- [available addObject:[DyteRNPermissionHandlerBluetoothPeripheral handlerUniqueId]];
46
- [available addObject:[DyteRNPermissionHandlerCamera handlerUniqueId]];
47
- [available addObject:[DyteRNPermissionHandlerMicrophone handlerUniqueId]];
48
- [available addObject:[DyteRNPermissionHandlerPhotoLibrary handlerUniqueId]];
45
+ [available addObject:[RTKRNPermissionHandlerBluetoothPeripheral handlerUniqueId]];
46
+ [available addObject:[RTKRNPermissionHandlerCamera handlerUniqueId]];
47
+ [available addObject:[RTKRNPermissionHandlerMicrophone handlerUniqueId]];
48
+ [available addObject:[RTKRNPermissionHandlerPhotoLibrary handlerUniqueId]];
49
49
 
50
50
  #if RCT_DEV
51
51
  if ([available count] == 0) {
@@ -74,23 +74,23 @@ RCT_EXPORT_MODULE();
74
74
  #endif
75
75
  }
76
76
 
77
- - (id<DyteRNPermissionHandler> _Nullable)handlerForPermission:(RNPermission)permission {
78
- id<DyteRNPermissionHandler> handler = nil;
77
+ - (id<RTKRNPermissionHandler> _Nullable)handlerForPermission:(RNPermission)permission {
78
+ id<RTKRNPermissionHandler> handler = nil;
79
79
 
80
80
  switch (permission) {
81
81
 
82
82
  case RNPermissionBluetoothPeripheral:
83
- handler = [DyteRNPermissionHandlerBluetoothPeripheral new];
83
+ handler = [RTKRNPermissionHandlerBluetoothPeripheral new];
84
84
  break;
85
85
 
86
86
  case RNPermissionCamera:
87
- handler = [DyteRNPermissionHandlerCamera new];
87
+ handler = [RTKRNPermissionHandlerCamera new];
88
88
  break;
89
89
  case RNPermissionMicrophone:
90
- handler = [DyteRNPermissionHandlerMicrophone new];
90
+ handler = [RTKRNPermissionHandlerMicrophone new];
91
91
  break;
92
92
  case RNPermissionPhotoLibrary:
93
- handler = [DyteRNPermissionHandlerPhotoLibrary new];
93
+ handler = [RTKRNPermissionHandlerPhotoLibrary new];
94
94
  break;
95
95
  case RNPermissionUnknown:
96
96
  break; // RCTConvert prevents this case
@@ -116,7 +116,7 @@ RCT_EXPORT_MODULE();
116
116
  }
117
117
  }
118
118
 
119
- - (NSString *)lockHandler:(id<DyteRNPermissionHandler>)handler {
119
+ - (NSString *)lockHandler:(id<RTKRNPermissionHandler>)handler {
120
120
  if (_handlers == nil) {
121
121
  _handlers = [NSMutableDictionary new];
122
122
  }
@@ -172,7 +172,7 @@ RCT_REMAP_METHOD(check,
172
172
  checkWithPermission:(RNPermission)permission
173
173
  resolver:(RCTPromiseResolveBlock)resolve
174
174
  rejecter:(RCTPromiseRejectBlock)reject) {
175
- id<DyteRNPermissionHandler> handler = [self handlerForPermission:permission];
175
+ id<RTKRNPermissionHandler> handler = [self handlerForPermission:permission];
176
176
  NSString *lockId = [self lockHandler:handler];
177
177
 
178
178
  [handler checkWithResolver:^(RNPermissionStatus status) {
@@ -188,7 +188,7 @@ RCT_REMAP_METHOD(request,
188
188
  requestWithPermission:(RNPermission)permission
189
189
  resolver:(RCTPromiseResolveBlock)resolve
190
190
  rejecter:(RCTPromiseRejectBlock)reject) {
191
- id<DyteRNPermissionHandler> handler = [self handlerForPermission:permission];
191
+ id<RTKRNPermissionHandler> handler = [self handlerForPermission:permission];
192
192
  NSString *lockId = [self lockHandler:handler]; [handler requestWithResolver:^(RNPermissionStatus status) {
193
193
  resolve([self stringForStatus:status]);
194
194
  [self unlockHandler:lockId];
@@ -201,9 +201,9 @@ RCT_REMAP_METHOD(request,
201
201
  RCT_REMAP_METHOD(checkNotifications,
202
202
  checkNotificationsWithResolver:(RCTPromiseResolveBlock)resolve
203
203
  rejecter:(RCTPromiseRejectBlock)reject) {
204
- #if __has_include("DyteRNPermissionHandlerNotifications.h")
205
- DyteRNPermissionHandlerNotifications *handler = [DyteRNPermissionHandlerNotifications new];
206
- NSString *lockId = [self lockHandler:(id<DyteRNPermissionHandler>)handler];
204
+ #if __has_include("RTKRNPermissionHandlerNotifications.h")
205
+ RTKRNPermissionHandlerNotifications *handler = [RTKRNPermissionHandlerNotifications new];
206
+ NSString *lockId = [self lockHandler:(id<RTKRNPermissionHandler>)handler];
207
207
 
208
208
  [handler checkWithResolver:^(RNPermissionStatus status, NSDictionary * _Nonnull settings) {
209
209
  resolve(@{ @"status": [self stringForStatus:status], @"settings": settings });
@@ -221,9 +221,9 @@ RCT_REMAP_METHOD(requestNotifications,
221
221
  requestNotificationsWithOptions:(NSArray<NSString *> * _Nonnull)options
222
222
  resolver:(RCTPromiseResolveBlock)resolve
223
223
  rejecter:(RCTPromiseRejectBlock)reject) {
224
- #if __has_include("DyteRNPermissionHandlerNotifications.h")
225
- DyteRNPermissionHandlerNotifications *handler = [DyteRNPermissionHandlerNotifications new];
226
- NSString *lockId = [self lockHandler:(id<DyteRNPermissionHandler>)handler];
224
+ #if __has_include("RTKRNPermissionHandlerNotifications.h")
225
+ RTKRNPermissionHandlerNotifications *handler = [RTKRNPermissionHandlerNotifications new];
226
+ NSString *lockId = [self lockHandler:(id<RTKRNPermissionHandler>)handler];
227
227
 
228
228
  [handler requestWithResolver:^(RNPermissionStatus status, NSDictionary * _Nonnull settings) {
229
229
  resolve(@{ @"status": [self stringForStatus:status], @"settings": settings });
@@ -241,7 +241,7 @@ RCT_REMAP_METHOD(openLimitedPhotoLibraryPicker,
241
241
  openLimitedPhotoLibraryPickerWithResolver:(RCTPromiseResolveBlock)resolve
242
242
  rejecter:(RCTPromiseRejectBlock)reject) {
243
243
 
244
- DyteRNPermissionHandlerPhotoLibrary *handler = [DyteRNPermissionHandlerPhotoLibrary new];
244
+ RTKRNPermissionHandlerPhotoLibrary *handler = [RTKRNPermissionHandlerPhotoLibrary new];
245
245
  [handler openLimitedPhotoLibraryPickerWithResolver:resolve rejecter:reject];
246
246
  }
247
247
 
@@ -1,7 +1,7 @@
1
1
  #import <React/RCTBridgeModule.h>
2
2
  #import <ReplayKit/ReplayKit.h>
3
3
 
4
- @interface DyteScreensharePickerView : NSObject <RCTBridgeModule>
4
+ @interface RTKScreensharePickerView : NSObject <RCTBridgeModule>
5
5
 
6
6
  - (void)showScreenSharePickerView;
7
7
 
@@ -1,7 +1,7 @@
1
- #import "DyteScreensharePickerView.h"
1
+ #import "RTKScreensharePickerView.h"
2
2
  #import <React/RCTLog.h>
3
3
 
4
- @implementation DyteScreensharePickerView
4
+ @implementation RTKScreensharePickerView
5
5
 
6
6
  RCT_EXPORT_MODULE()
7
7
 
@@ -0,0 +1,4 @@
1
+ #import "RTKRNPermissions.h"
2
+ @interface RTKRNPermissionHandlerBluetoothPeripheral : NSObject<RTKRNPermissionHandler>
3
+
4
+ @end
@@ -1,8 +1,8 @@
1
- #import "DyteRNPermissionHandlerBluetoothPeripheral.h"
1
+ #import "RTKRNPermissionHandlerBluetoothPeripheral.h"
2
2
 
3
3
  @import CoreBluetooth;
4
4
 
5
- @interface DyteRNPermissionHandlerBluetoothPeripheral() <CBPeripheralManagerDelegate>
5
+ @interface RTKRNPermissionHandlerBluetoothPeripheral() <CBPeripheralManagerDelegate>
6
6
 
7
7
  @property (nonatomic, strong) CBPeripheralManager* manager;
8
8
  @property (nonatomic, strong) void (^resolve)(RNPermissionStatus status);
@@ -10,7 +10,7 @@
10
10
 
11
11
  @end
12
12
 
13
- @implementation DyteRNPermissionHandlerBluetoothPeripheral
13
+ @implementation RTKRNPermissionHandlerBluetoothPeripheral
14
14
 
15
15
  + (NSArray<NSString *> * _Nonnull)usageDescriptionKeys {
16
16
  return @[
@@ -0,0 +1,5 @@
1
+ #import "RTKRNPermissions.h"
2
+
3
+ @interface RTKRNPermissionHandlerCamera : NSObject<RTKRNPermissionHandler>
4
+
5
+ @end
@@ -1,9 +1,9 @@
1
- #import "DyteRNPermissionHandlerCamera.h"
1
+ #import "RTKRNPermissionHandlerCamera.h"
2
2
  //#import <React/RCTLog.h>
3
3
 
4
4
  @import AVFoundation;
5
5
 
6
- @implementation DyteRNPermissionHandlerCamera
6
+ @implementation RTKRNPermissionHandlerCamera
7
7
 
8
8
  + (NSArray<NSString *> * _Nonnull)usageDescriptionKeys {
9
9
  return @[@"NSCameraUsageDescription"];
@@ -0,0 +1,5 @@
1
+ #import "RTKRNPermissions.h"
2
+
3
+ @interface RTKRNPermissionHandlerMicrophone : NSObject<RTKRNPermissionHandler>
4
+
5
+ @end
@@ -1,8 +1,8 @@
1
- #import "DyteRNPermissionHandlerMicrophone.h"
1
+ #import "RTKRNPermissionHandlerMicrophone.h"
2
2
 
3
3
  @import AVFoundation;
4
4
 
5
- @implementation DyteRNPermissionHandlerMicrophone
5
+ @implementation RTKRNPermissionHandlerMicrophone
6
6
 
7
7
  + (NSArray<NSString *> * _Nonnull)usageDescriptionKeys {
8
8
  return @[@"NSMicrophoneUsageDescription"];
@@ -1,6 +1,6 @@
1
- #import "DyteRNPermissions.h"
1
+ #import "RTKRNPermissions.h"
2
2
 
3
- @interface DyteRNPermissionHandlerPhotoLibrary : NSObject<DyteRNPermissionHandler>
3
+ @interface RTKRNPermissionHandlerPhotoLibrary : NSObject<RTKRNPermissionHandler>
4
4
 
5
5
  - (void)openLimitedPhotoLibraryPickerWithResolver:(RCTPromiseResolveBlock _Nonnull)resolve
6
6
  rejecter:(RCTPromiseRejectBlock _Nonnull)reject;
@@ -1,10 +1,10 @@
1
- #import "DyteRNPermissionHandlerPhotoLibrary.h"
1
+ #import "RTKRNPermissionHandlerPhotoLibrary.h"
2
2
  #import <React/RCTUtils.h>
3
3
 
4
4
  @import Photos;
5
5
  @import PhotosUI;
6
6
 
7
- @implementation DyteRNPermissionHandlerPhotoLibrary
7
+ @implementation RTKRNPermissionHandlerPhotoLibrary
8
8
 
9
9
  + (NSArray<NSString *> * _Nonnull)usageDescriptionKeys {
10
10
  return @[@"NSPhotoLibraryUsageDescription"];
@@ -1,13 +1,13 @@
1
1
  import Foundation
2
2
 
3
- enum DyteDarwinNotification: String {
3
+ enum RTKDarwinNotification: String {
4
4
  case broadcastStarted = "iOS_BroadcastStarted"
5
5
  case broadcastStopped = "iOS_BroadcastStopped"
6
6
  }
7
7
 
8
- class DyteDarwinNotificationCenter {
8
+ class RTKDarwinNotificationCenter {
9
9
 
10
- static let shared = DyteDarwinNotificationCenter()
10
+ static let shared = RTKDarwinNotificationCenter()
11
11
 
12
12
  private let notificationCenter: CFNotificationCenter
13
13
 
@@ -15,7 +15,7 @@ class DyteDarwinNotificationCenter {
15
15
  notificationCenter = CFNotificationCenterGetDarwinNotifyCenter()
16
16
  }
17
17
 
18
- func postNotification(_ name: DyteDarwinNotification) {
18
+ func postNotification(_ name: RTKDarwinNotification) {
19
19
  CFNotificationCenterPostNotification(notificationCenter, CFNotificationName(rawValue: name.rawValue as CFString), nil, nil, true)
20
20
  }
21
21
  }
@@ -1,7 +1,7 @@
1
1
  import Foundation
2
2
 
3
3
  @propertyWrapper
4
- struct DyteScreenshareAtomic<Value> {
4
+ struct RTKScreenshareAtomic<Value> {
5
5
 
6
6
  private var value: Value
7
7
  private let lock = NSLock()
@@ -2,8 +2,8 @@ import ReplayKit
2
2
 
3
3
  open class RTKScreenshareHandler: RPBroadcastSampleHandler {
4
4
 
5
- private var clientConnection: DyteSocketConnection?
6
- private var uploader: DyteScreenshareUploader?
5
+ private var clientConnection: RTKSocketConnection?
6
+ private var uploader: RTKScreenshareUploader?
7
7
  private var frameCount: Int = 0
8
8
 
9
9
  private let appGroupIdentifier: String
@@ -19,10 +19,10 @@ open class RTKScreenshareHandler: RPBroadcastSampleHandler {
19
19
  self.appGroupIdentifier = appGroupIdentifier
20
20
  self.bundleIdentifier = bundleIdentifier
21
21
  super.init()
22
- if let connection = DyteSocketConnection(filePath: socketFilePath) {
22
+ if let connection = RTKSocketConnection(filePath: socketFilePath) {
23
23
  clientConnection = connection
24
24
  setupConnection()
25
- uploader = DyteScreenshareUploader(connection: connection, bundleIdentifier: bundleIdentifier)
25
+ uploader = RTKScreenshareUploader(connection: connection, bundleIdentifier: bundleIdentifier)
26
26
  }
27
27
  }
28
28
 
@@ -34,7 +34,7 @@ open class RTKScreenshareHandler: RPBroadcastSampleHandler {
34
34
  public override func broadcastStarted(withSetupInfo setupInfo: [String: NSObject]?) {
35
35
  // User has requested to start the broadcast. Setup info from the UI extension can be supplied but optional.
36
36
  frameCount = 0
37
- DyteDarwinNotificationCenter.shared.postNotification(.broadcastStarted)
37
+ RTKDarwinNotificationCenter.shared.postNotification(.broadcastStarted)
38
38
  openConnection()
39
39
  }
40
40
 
@@ -48,7 +48,7 @@ open class RTKScreenshareHandler: RPBroadcastSampleHandler {
48
48
 
49
49
  public override func broadcastFinished() {
50
50
  // User has requested to finish the broadcast.
51
- DyteDarwinNotificationCenter.shared.postNotification(.broadcastStopped)
51
+ RTKDarwinNotificationCenter.shared.postNotification(.broadcastStopped)
52
52
  clientConnection?.close()
53
53
  }
54
54
 
@@ -76,8 +76,8 @@ private extension RTKScreenshareHandler {
76
76
  self?.finishBroadcastWithError(error)
77
77
  } else {
78
78
  // the displayed failure message is more user friendly when using NSError instead of Error
79
- let DyteScreenSharingStopped = 10001
80
- let customError = NSError(domain: RPRecordingErrorDomain, code: DyteScreenSharingStopped, userInfo: [NSLocalizedDescriptionKey: "Screen sharing stopped"])
79
+ let RTKScreenSharingStopped = 10001
80
+ let customError = NSError(domain: RPRecordingErrorDomain, code: RTKScreenSharingStopped, userInfo: [NSLocalizedDescriptionKey: "Screen sharing stopped"])
81
81
  self?.finishBroadcastWithError(customError)
82
82
  }
83
83
  }
@@ -5,19 +5,19 @@ private enum Constants {
5
5
  static let bufferMaxLength = 10240
6
6
  }
7
7
 
8
- class DyteScreenshareUploader {
8
+ class RTKScreenshareUploader {
9
9
 
10
10
  private static var imageContext = CIContext(options: nil)
11
11
 
12
- @DyteScreenshareAtomic private var isReady = false
13
- private var connection: DyteSocketConnection
12
+ @RTKScreenshareAtomic private var isReady = false
13
+ private var connection: RTKSocketConnection
14
14
 
15
15
  private var dataToSend: Data?
16
16
  private var byteIndex = 0
17
17
 
18
18
  private let serialQueue: DispatchQueue
19
19
 
20
- init(connection: DyteSocketConnection, bundleIdentifier: String) {
20
+ init(connection: RTKSocketConnection, bundleIdentifier: String) {
21
21
  self.connection = connection
22
22
  self.serialQueue = DispatchQueue(label: bundleIdentifier)
23
23
 
@@ -42,7 +42,7 @@ class DyteScreenshareUploader {
42
42
  }
43
43
  }
44
44
 
45
- private extension DyteScreenshareUploader {
45
+ private extension RTKScreenshareUploader {
46
46
 
47
47
  func setupConnection() {
48
48
  connection.didOpen = { [weak self] in
@@ -133,7 +133,7 @@ private extension DyteScreenshareUploader {
133
133
 
134
134
  let options: [CIImageRepresentationOption: Float] = [kCGImageDestinationLossyCompressionQuality as CIImageRepresentationOption: 1.0]
135
135
 
136
- return DyteScreenshareUploader.imageContext.jpegRepresentation(of: image, colorSpace: colorSpace, options: options)
136
+ return RTKScreenshareUploader.imageContext.jpegRepresentation(of: image, colorSpace: colorSpace, options: options)
137
137
  }
138
138
  }
139
139
 
@@ -1,6 +1,6 @@
1
1
  import Foundation
2
2
 
3
- class DyteSocketConnection: NSObject {
3
+ class RTKSocketConnection: NSObject {
4
4
  var didOpen: (() -> Void)?
5
5
  var didClose: ((Error?) -> Void)?
6
6
  var streamHasSpaceAvailable: (() -> Void)?
@@ -67,7 +67,7 @@ class DyteSocketConnection: NSObject {
67
67
  }
68
68
  }
69
69
 
70
- extension DyteSocketConnection: StreamDelegate {
70
+ extension RTKSocketConnection: StreamDelegate {
71
71
 
72
72
  func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
73
73
  switch eventCode {
@@ -101,7 +101,7 @@ extension DyteSocketConnection: StreamDelegate {
101
101
  }
102
102
  }
103
103
 
104
- private extension DyteSocketConnection {
104
+ private extension RTKSocketConnection {
105
105
 
106
106
  func setupAddress() -> Bool {
107
107
  var addr = sockaddr_un()
@@ -1,6 +1,6 @@
1
1
  import { DeviceEventEmitter, NativeAppEventEmitter, NativeEventEmitter, NativeModules, Platform, } from 'react-native';
2
- const { DyteRNBackgroundTimer } = NativeModules;
3
- const Emitter = new NativeEventEmitter(DyteRNBackgroundTimer);
2
+ const { RTKRNBackgroundTimer } = NativeModules;
3
+ const Emitter = new NativeEventEmitter(RTKRNBackgroundTimer);
4
4
  class BackgroundTimer {
5
5
  constructor() {
6
6
  this.uniqueId = 0;
@@ -13,7 +13,9 @@ class BackgroundTimer {
13
13
  delete this.callbacks[id];
14
14
  }
15
15
  else {
16
- DyteRNBackgroundTimer.backgroundTimerSetTimeout(id, this.callbacks[id].timeout);
16
+ Platform.OS === 'android'
17
+ ? RTKRNBackgroundTimer.backgroundTimerSetTimeout(id, this.callbacks[id].timeout)
18
+ : RTKRNBackgroundTimer.setTimeout(id, this.callbacks[id].timeout);
17
19
  }
18
20
  callback();
19
21
  }
@@ -21,11 +23,15 @@ class BackgroundTimer {
21
23
  }
22
24
  // Original API
23
25
  start(delay = 0) {
24
- return DyteRNBackgroundTimer.start(delay);
26
+ return Platform.OS === 'android'
27
+ ? RTKRNBackgroundTimer.backgroundTimerStart(delay)
28
+ : RTKRNBackgroundTimer.start(delay);
25
29
  }
26
30
  stop() {
27
31
  Emitter.removeAllListeners('backgroundTimer.timeout');
28
- return DyteRNBackgroundTimer.stop();
32
+ return Platform.OS === 'android'
33
+ ? RTKRNBackgroundTimer.backgroundTimerStop()
34
+ : RTKRNBackgroundTimer.stop();
29
35
  }
30
36
  runBackgroundTimer(callback, delay) {
31
37
  const EventEmitter = Platform.select({
@@ -57,13 +63,15 @@ class BackgroundTimer {
57
63
  interval: false,
58
64
  timeout,
59
65
  };
60
- DyteRNBackgroundTimer.setTimeout(timeoutId, timeout);
66
+ Platform.OS === 'android'
67
+ ? RTKRNBackgroundTimer.backgroundTimerSetTimeout(timeoutId, timeout)
68
+ : RTKRNBackgroundTimer.setTimeout(timeoutId, timeout);
61
69
  return timeoutId;
62
70
  }
63
71
  clearTimeout(timeoutId) {
64
72
  if (this.callbacks[timeoutId]) {
65
73
  delete this.callbacks[timeoutId];
66
- // DyteRNBackgroundTimer.clearTimeout(timeoutId);
74
+ // RTKRNBackgroundTimer.clearTimeout(timeoutId);
67
75
  }
68
76
  }
69
77
  setInterval(callback, timeout) {
@@ -74,13 +82,15 @@ class BackgroundTimer {
74
82
  interval: true,
75
83
  timeout,
76
84
  };
77
- DyteRNBackgroundTimer.backgroundTimerSetTimeout(intervalId, timeout);
85
+ Platform.OS === 'android'
86
+ ? RTKRNBackgroundTimer.backgroundTimerSetTimeout(intervalId, timeout)
87
+ : RTKRNBackgroundTimer.setTimeout(intervalId, timeout);
78
88
  return intervalId;
79
89
  }
80
90
  clearInterval(intervalId) {
81
91
  if (this.callbacks[intervalId]) {
82
92
  delete this.callbacks[intervalId];
83
- // DyteRNBackgroundTimer.clearTimeout(intervalId);
93
+ // RTKRNBackgroundTimer.clearTimeout(intervalId);
84
94
  }
85
95
  }
86
96
  }
@@ -112,14 +112,11 @@ export default class LocalMediaHandler extends EventEmitter {
112
112
  on(event: keyof typeof MediaEvents, listener: (...args: any[]) => void): this;
113
113
  destruct(): void;
114
114
  destructMediaHandler(): Promise<void>;
115
- cleanUpTracks(): void;
116
- destructor(): void;
117
115
  removeAllTracks(): void;
118
116
  private stopAudioTrack;
119
117
  removeAudioTrack(): void;
120
118
  private stopVideoTrack;
121
119
  removeVideoTrack(): void;
122
- removeAllListeners(event?: keyof typeof MediaEvents): this;
123
120
  }
124
121
  export interface RNLocalMediaHandler {
125
122
  new (): LocalMediaHandler;
@@ -26,7 +26,7 @@ import { AppState, NativeEventEmitter, NativeModules, PermissionsAndroid, Platfo
26
26
  import BackgroundTimer from './BackgroundHandler';
27
27
  import InCallManger from './NativeAudioManager';
28
28
  import { setupPermissions } from './PermissionHandler';
29
- const { DyteHelper, BroadcastEventEmitter } = NativeModules;
29
+ const { RTKHelper, BroadcastEventEmitter } = NativeModules;
30
30
  const broadcastEmitter = new NativeEventEmitter(BroadcastEventEmitter);
31
31
  // eslint-disable-next-line no-shadow
32
32
  export var MediaEvents;
@@ -49,7 +49,7 @@ class LocalMediaHandler extends EventEmitter {
49
49
  return __awaiter(this, void 0, void 0, function* () {
50
50
  if (Platform.OS !== 'android')
51
51
  return;
52
- const val = yield DyteHelper.isForegroundServiceRunning();
52
+ const val = yield RTKHelper.isForegroundServiceRunning();
53
53
  if (!val) {
54
54
  if (Platform.Version >= 33) {
55
55
  const res = yield PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS);
@@ -58,10 +58,10 @@ class LocalMediaHandler extends EventEmitter {
58
58
  }
59
59
  }
60
60
  if (Platform.Version >= 26) {
61
- yield DyteHelper.createNotificationChannel();
61
+ yield RTKHelper.createNotificationChannel();
62
62
  }
63
63
  try {
64
- yield DyteHelper.startService();
64
+ yield RTKHelper.startService();
65
65
  }
66
66
  catch (e) {
67
67
  console.warn('Failed to start foreground service', e);
@@ -677,7 +677,7 @@ class LocalMediaHandler extends EventEmitter {
677
677
  if (this.screenShareEnabled && Platform.OS !== 'ios') {
678
678
  this.removeScreenShareTracks();
679
679
  try {
680
- yield DyteHelper.stopService();
680
+ yield RTKHelper.stopService();
681
681
  }
682
682
  catch (e) {
683
683
  console.warn('Failed to stop foreground service', e);
@@ -685,7 +685,7 @@ class LocalMediaHandler extends EventEmitter {
685
685
  return;
686
686
  }
687
687
  if (Platform.OS === 'ios' && this.screenShareEnabled) {
688
- NativeModules.DyteScreensharePickerView.showScreenSharePickerView();
688
+ NativeModules.RTKScreensharePickerView.showScreenSharePickerView();
689
689
  return;
690
690
  }
691
691
  if (Platform.OS === 'android') {
@@ -698,7 +698,7 @@ class LocalMediaHandler extends EventEmitter {
698
698
  catch (e) {
699
699
  console.warn('Failed to start screenshare', e);
700
700
  this.screenShareEnabled = false;
701
- yield DyteHelper.stopService();
701
+ yield RTKHelper.stopService();
702
702
  this._pendingScreenShare = false;
703
703
  }
704
704
  finally {
@@ -706,7 +706,7 @@ class LocalMediaHandler extends EventEmitter {
706
706
  }
707
707
  }
708
708
  if (Platform.OS === 'ios') {
709
- NativeModules.DyteScreensharePickerView.showScreenSharePickerView();
709
+ NativeModules.RTKScreensharePickerView.showScreenSharePickerView();
710
710
  }
711
711
  });
712
712
  }
@@ -805,48 +805,37 @@ class LocalMediaHandler extends EventEmitter {
805
805
  return super.on(event, listener);
806
806
  }
807
807
  destruct() {
808
- this.destructMediaHandler();
808
+ // TODO: Do not remove native broadcast listeners when going OFF_STAGE in webinar
809
+ // this.#localMediaUtils.destruct();
810
+ if (Platform.OS === 'android')
811
+ __classPrivateFieldGet(this, _LocalMediaHandler_appStateSubscription, "f").remove();
812
+ BackgroundTimer.stop();
813
+ try {
814
+ if (Platform.OS === 'android')
815
+ RTKHelper.stopService();
816
+ }
817
+ catch (_err) { }
818
+ InCallManger.stop(undefined);
819
+ // NOTE: This is a no-op, it's functions are handled in web-core
820
+ // this.destructMediaHandler();
809
821
  }
810
822
  destructMediaHandler() {
811
823
  return __awaiter(this, void 0, void 0, function* () {
812
824
  this.removeAllTracks();
813
825
  this.removeAllListeners();
814
- this.cleanUpTracks();
815
- __classPrivateFieldGet(this, _LocalMediaHandler_localMediaUtils, "f").destruct();
816
- try {
817
- if (Platform.OS === 'android')
818
- yield DyteHelper.stopService();
819
- }
820
- catch (e) {
821
- console.warn('Failed to stop foreground service', e);
822
- }
823
- InCallManger.stop(undefined);
824
826
  });
825
827
  }
826
- cleanUpTracks() {
827
- var _a, _b, _c, _d;
828
- (_a = this.audioTrack) === null || _a === void 0 ? void 0 : _a.stop();
829
- (_b = this.rawAudioTrack) === null || _b === void 0 ? void 0 : _b.stop();
830
- (_c = this.videoTrack) === null || _c === void 0 ? void 0 : _c.stop();
831
- (_d = this.rawVideoTrack) === null || _d === void 0 ? void 0 : _d.stop();
832
- this.destructor();
833
- }
834
- destructor() {
835
- if (Platform.OS === 'android')
836
- __classPrivateFieldGet(this, _LocalMediaHandler_appStateSubscription, "f").remove();
837
- broadcastEmitter.removeAllListeners('iOS_BroadcastStarted');
838
- broadcastEmitter.removeAllListeners('iOS_BroadcastStopped');
839
- BackgroundTimer.stop();
840
- }
841
828
  removeAllTracks() {
842
829
  this.removeAudioTrack();
843
830
  this.removeVideoTrack();
844
831
  this.removeScreenShareTracks();
845
832
  }
846
833
  stopAudioTrack() {
847
- var _a, _b;
848
- (_a = this.audioTrack) === null || _a === void 0 ? void 0 : _a.stop();
849
- (_b = this.audioTrack) === null || _b === void 0 ? void 0 : _b.release();
834
+ var _a, _b, _c, _d;
835
+ (_a = this.rawAudioTrack) === null || _a === void 0 ? void 0 : _a.stop();
836
+ (_b = this.audioTrack) === null || _b === void 0 ? void 0 : _b.stop();
837
+ (_c = this.rawAudioTrack) === null || _c === void 0 ? void 0 : _c.release();
838
+ (_d = this.audioTrack) === null || _d === void 0 ? void 0 : _d.release();
850
839
  this.audioEnabled = false;
851
840
  }
852
841
  removeAudioTrack() {
@@ -866,15 +855,6 @@ class LocalMediaHandler extends EventEmitter {
866
855
  this.videoTrack = undefined;
867
856
  this.rawVideoTrack = undefined;
868
857
  }
869
- removeAllListeners(event) {
870
- if (event === 'SCREENSHARE_TRACK_CHANGE' ||
871
- event === 'DEVICE_LIST_UPDATED' ||
872
- event === 'DEVICE_CHANGE' ||
873
- !event) {
874
- return null;
875
- }
876
- return super.removeAllListeners(event);
877
- }
878
858
  }
879
859
  _LocalMediaHandler_localMediaUtils = new WeakMap(), _LocalMediaHandler_appState = new WeakMap(), _LocalMediaHandler_appStateSubscription = new WeakMap(), _LocalMediaHandler_interval = new WeakMap();
880
860
  export default LocalMediaHandler;