@100mslive/react-native-hms 1.7.2 → 2.0.0-alpha.0

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 (119) hide show
  1. package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
  2. package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
  3. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  4. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  5. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  6. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/{6.7.1/fileHashes/fileHashes.bin → 6.9/fileHashes/resourceHashesCache.bin} +0 -0
  8. package/android/.gradle/6.9/javaCompile/classAnalysis.bin +0 -0
  9. package/android/.gradle/6.9/javaCompile/jarAnalysis.bin +0 -0
  10. package/android/.gradle/6.9/javaCompile/javaCompile.lock +0 -0
  11. package/android/.gradle/6.9/javaCompile/taskHistory.bin +0 -0
  12. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  13. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  14. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  15. package/android/.gradle/checksums/checksums.lock +0 -0
  16. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  17. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  18. package/android/.idea/compiler.xml +6 -0
  19. package/android/.idea/gradle.xml +18 -0
  20. package/android/.idea/jarRepositories.xml +45 -0
  21. package/android/.idea/misc.xml +10 -0
  22. package/android/.idea/vcs.xml +6 -0
  23. package/android/build.gradle +3 -3
  24. package/android/local.properties +8 -1
  25. package/android/src/main/java/com/reactnativehmssdk/HMSAudioshareActivity.kt +1 -0
  26. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +42 -14
  27. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +113 -68
  28. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +17 -4
  29. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +46 -18
  30. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +483 -184
  31. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +551 -151
  32. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +26 -7
  33. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +32 -12
  34. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +1 -0
  35. package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +10 -6
  36. package/android/src/main/res/layout/player_view.xml +3 -2
  37. package/ios/HMSConstants.swift +1 -0
  38. package/ios/HMSDecoder.swift +18 -7
  39. package/ios/HMSHLSPlayerManager.swift +18 -2
  40. package/ios/HMSManager.m +239 -70
  41. package/ios/HMSManager.swift +24 -3
  42. package/ios/HMSRNSDK.swift +129 -126
  43. package/ios/HMSView.swift +17 -3
  44. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  45. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  46. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  47. package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  48. package/lib/commonjs/classes/HMSEncoder.js +6 -0
  49. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  50. package/lib/commonjs/classes/HMSPIPListenerActions.js +1 -0
  51. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  52. package/lib/commonjs/classes/HMSPeer.js +15 -0
  53. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  54. package/lib/commonjs/classes/HMSPeerListIterator.js +46 -0
  55. package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -0
  56. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js +2 -0
  57. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js.map +1 -0
  58. package/lib/commonjs/classes/HMSPeerUpdate.js +2 -1
  59. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  60. package/lib/commonjs/classes/HMSPeersCache.js +7 -0
  61. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  62. package/lib/commonjs/classes/HMSSDK.js +162 -29
  63. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  64. package/lib/commonjs/classes/HMSUpdateListenerActions.js +1 -0
  65. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  66. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +10 -5
  67. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  68. package/lib/commonjs/index.js.map +1 -1
  69. package/lib/commonjs/types.js +1 -0
  70. package/lib/commonjs/types.js.map +1 -1
  71. package/lib/module/classes/HMSEncoder.js +6 -0
  72. package/lib/module/classes/HMSEncoder.js.map +1 -1
  73. package/lib/module/classes/HMSPIPListenerActions.js +1 -0
  74. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  75. package/lib/module/classes/HMSPeer.js +15 -0
  76. package/lib/module/classes/HMSPeer.js.map +1 -1
  77. package/lib/module/classes/HMSPeerListIterator.js +40 -0
  78. package/lib/module/classes/HMSPeerListIterator.js.map +1 -0
  79. package/lib/module/classes/HMSPeerListIteratorOptions.js +2 -0
  80. package/lib/module/classes/HMSPeerListIteratorOptions.js.map +1 -0
  81. package/lib/module/classes/HMSPeerUpdate.js +2 -1
  82. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  83. package/lib/module/classes/HMSPeersCache.js +7 -0
  84. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  85. package/lib/module/classes/HMSSDK.js +162 -30
  86. package/lib/module/classes/HMSSDK.js.map +1 -1
  87. package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
  88. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  89. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +11 -6
  90. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  91. package/lib/module/index.js.map +1 -1
  92. package/lib/module/types.js +1 -0
  93. package/lib/module/types.js.map +1 -1
  94. package/lib/typescript/classes/HMSEncoder.d.ts +1 -0
  95. package/lib/typescript/classes/HMSPIPListenerActions.d.ts +1 -0
  96. package/lib/typescript/classes/HMSPeer.d.ts +3 -0
  97. package/lib/typescript/classes/HMSPeerListIterator.d.ts +7 -0
  98. package/lib/typescript/classes/HMSPeerListIteratorOptions.d.ts +5 -0
  99. package/lib/typescript/classes/HMSPeerUpdate.d.ts +2 -1
  100. package/lib/typescript/classes/HMSPeersCache.d.ts +1 -0
  101. package/lib/typescript/classes/HMSSDK.d.ts +46 -13
  102. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
  103. package/lib/typescript/index.d.ts +1 -1
  104. package/lib/typescript/types.d.ts +3 -1
  105. package/package.json +1 -1
  106. package/sdk-versions.json +2 -2
  107. package/src/classes/HMSEncoder.ts +9 -0
  108. package/src/classes/HMSPIPListenerActions.ts +1 -0
  109. package/src/classes/HMSPeer.ts +25 -0
  110. package/src/classes/HMSPeerListIterator.ts +40 -0
  111. package/src/classes/HMSPeerListIteratorOptions.ts +5 -0
  112. package/src/classes/HMSPeerUpdate.ts +2 -0
  113. package/src/classes/HMSPeersCache.ts +7 -0
  114. package/src/classes/HMSSDK.tsx +202 -26
  115. package/src/classes/HMSUpdateListenerActions.ts +1 -0
  116. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +15 -13
  117. package/src/index.ts +4 -1
  118. package/src/types.ts +2 -0
  119. package/android/.gradle/6.7.1/executionHistory/executionHistory.bin +0 -0
@@ -12,7 +12,6 @@ import com.facebook.react.uimanager.ThemedReactContext
12
12
  import com.facebook.react.uimanager.annotations.ReactProp
13
13
 
14
14
  class HMSSDKViewManager : SimpleViewManager<HMSView>() {
15
-
16
15
  private var reactContext: ThemedReactContext? = null
17
16
 
18
17
  override fun getName(): String {
@@ -41,14 +40,22 @@ class HMSSDKViewManager : SimpleViewManager<HMSView>() {
41
40
  }
42
41
 
43
42
  @RequiresApi(Build.VERSION_CODES.N)
44
- override fun receiveCommand(@NonNull root: HMSView, commandId: String?, args: ReadableArray?) {
43
+ override fun receiveCommand(
44
+ @NonNull root: HMSView,
45
+ commandId: String?,
46
+ args: ReadableArray?,
47
+ ) {
45
48
  when (commandId) {
46
49
  "capture" -> root.captureHmsView(args)
47
50
  }
48
51
  }
49
52
 
50
53
  @RequiresApi(Build.VERSION_CODES.N)
51
- override fun receiveCommand(@NonNull root: HMSView, commandId: Int, args: ReadableArray?) {
54
+ override fun receiveCommand(
55
+ @NonNull root: HMSView,
56
+ commandId: Int,
57
+ args: ReadableArray?,
58
+ ) {
52
59
  when (commandId) {
53
60
  1 -> root.captureHmsView(args)
54
61
  }
@@ -60,7 +67,10 @@ class HMSSDKViewManager : SimpleViewManager<HMSView>() {
60
67
  }
61
68
 
62
69
  @ReactProp(name = "data")
63
- fun setData(view: HMSView, data: ReadableMap) {
70
+ fun setData(
71
+ view: HMSView,
72
+ data: ReadableMap,
73
+ ) {
64
74
  val trackId = data.getString("trackId")
65
75
  val id = data.getString("id")
66
76
  val mirror = data.getBoolean("mirror")
@@ -72,17 +82,26 @@ class HMSSDKViewManager : SimpleViewManager<HMSView>() {
72
82
  }
73
83
 
74
84
  @ReactProp(name = "scaleType")
75
- fun setScaleType(view: HMSView, data: String?) {
85
+ fun setScaleType(
86
+ view: HMSView,
87
+ data: String?,
88
+ ) {
76
89
  view.updateScaleType(data)
77
90
  }
78
91
 
79
92
  @ReactProp(name = "setZOrderMediaOverlay")
80
- fun setZOrderMediaOverlay(view: HMSView, data: Boolean?) {
93
+ fun setZOrderMediaOverlay(
94
+ view: HMSView,
95
+ data: Boolean?,
96
+ ) {
81
97
  view.updateZOrderMediaOverlay(data)
82
98
  }
83
99
 
84
100
  @ReactProp(name = "autoSimulcast")
85
- fun setAutoSimulcast(view: HMSView, data: Boolean?) {
101
+ fun setAutoSimulcast(
102
+ view: HMSView,
103
+ data: Boolean?,
104
+ ) {
86
105
  data?.let { view.updateAutoSimulcast(it) }
87
106
  }
88
107
 
@@ -36,16 +36,21 @@ class HMSView(context: ReactContext) : FrameLayout(context) {
36
36
  hmsVideoView?.setMirror(false)
37
37
  hmsVideoView?.disableAutoSimulcastLayerSelect(disableAutoSimulcastLayerSelect)
38
38
 
39
- hmsVideoView?.addVideoViewStateChangeListener(object : VideoViewStateChangeListener {
40
- override fun onResolutionChange(newWidth: Int, newHeight: Int) {
41
- super.onResolutionChange(newWidth, newHeight)
42
- if (!jsCanApplyStyles) {
43
- val event: WritableMap = Arguments.createMap()
44
- context.getJSModule(RCTEventEmitter::class.java).receiveEvent(id, "topChange", event)
45
- jsCanApplyStyles = true
39
+ hmsVideoView?.addVideoViewStateChangeListener(
40
+ object : VideoViewStateChangeListener {
41
+ override fun onResolutionChange(
42
+ newWidth: Int,
43
+ newHeight: Int,
44
+ ) {
45
+ super.onResolutionChange(newWidth, newHeight)
46
+ if (!jsCanApplyStyles) {
47
+ val event: WritableMap = Arguments.createMap()
48
+ context.getJSModule(RCTEventEmitter::class.java).receiveEvent(id, "topChange", event)
49
+ jsCanApplyStyles = true
50
+ }
46
51
  }
47
- }
48
- })
52
+ },
53
+ )
49
54
  }
50
55
 
51
56
  @RequiresApi(Build.VERSION_CODES.N)
@@ -112,15 +117,30 @@ class HMSView(context: ReactContext) : FrameLayout(context) {
112
117
  if (id != null) {
113
118
  sdkId = id
114
119
  }
115
- val hms = hmsCollection[sdkId]?.hmsSDK
120
+ val rnSDK = hmsCollection[sdkId]
121
+ val hms = rnSDK?.hmsSDK
116
122
 
117
123
  if (trackId != null && hms != null) {
118
124
  if (mirror != null) {
119
125
  hmsVideoView?.setMirror(mirror)
120
126
  }
121
127
  updateScaleType(scaleType)
122
- // TODO: can be optimized here
123
- videoTrack = hms.getRoom()?.let { HmsUtilities.getVideoTrack(trackId, it) }
128
+
129
+ hms.getRoom()?.let { room ->
130
+ val regularVideoTrack: HMSVideoTrack? = HmsUtilities.getVideoTrack(trackId, room)
131
+
132
+ regularVideoTrack.let { fetchedTrack ->
133
+ if (fetchedTrack == null) {
134
+ rnSDK.previewForRoleVideoTrack?.let {
135
+ if (it.trackId == trackId) {
136
+ videoTrack = it
137
+ }
138
+ }
139
+ } else {
140
+ videoTrack = fetchedTrack
141
+ }
142
+ }
143
+ }
124
144
  }
125
145
  }
126
146
 
@@ -24,6 +24,7 @@ class HmsScreenshareActivity : ComponentActivity() {
24
24
  HMSManager.hmsCollection[id]?.screenshareCallback?.reject(error)
25
25
  HMSManager.hmsCollection[id]?.emitHMSError(error)
26
26
  }
27
+
27
28
  override fun onSuccess() {
28
29
  HMSManager.hmsCollection[id]?.screenshareCallback?.resolve(
29
30
  HMSManager.hmsCollection[id]?.emitHMSSuccess(),
@@ -22,14 +22,18 @@ class PipActionReceiver(
22
22
  var sdkIdForPIP: String? = null
23
23
  private var registered = false
24
24
  const val PIP_INTENT_ACTION = "PIP_INTENT_ACTION"
25
- val PIPActions = PIPActions(
26
- endMeet = PIPAction(title = "End", description = "End Meeting", requestCode = 346),
27
- localAudio = PIPAction(title = "Mic", description = "Toggle Mic", requestCode = 344),
28
- localVideo = PIPAction(title = "Camera", description = "Toggle Camera", requestCode = 345),
29
- )
25
+ val PIPActions =
26
+ PIPActions(
27
+ endMeet = PIPAction(title = "End", description = "End Meeting", requestCode = 346),
28
+ localAudio = PIPAction(title = "Mic", description = "Toggle Mic", requestCode = 344),
29
+ localVideo = PIPAction(title = "Camera", description = "Toggle Camera", requestCode = 345),
30
+ )
30
31
  }
31
32
 
32
- override fun onReceive(context: Context?, intent: Intent?) {
33
+ override fun onReceive(
34
+ context: Context?,
35
+ intent: Intent?,
36
+ ) {
33
37
  if (intent !== null) {
34
38
  if (intent.hasExtra(PIPActions.endMeet.title)) {
35
39
  return endMeeting()
@@ -2,8 +2,9 @@
2
2
 
3
3
  <androidx.media3.ui.PlayerView xmlns:android="http://schemas.android.com/apk/res/android"
4
4
  xmlns:tools="http://schemas.android.com/tools"
5
+ xmlns:app="http://schemas.android.com/apk/res-auto"
5
6
  android:id="@+id/hls_view"
6
7
  android:layout_width="match_parent"
7
- android:layout_height="wrap_content"
8
- android:layout_gravity="center"
8
+ app:resize_mode="zoom"
9
+ android:layout_height="match_parent"
9
10
  />
@@ -14,6 +14,7 @@ struct HMSConstants {
14
14
  static let ON_JOIN = "ON_JOIN"
15
15
  static let ON_ROOM_UPDATE = "ON_ROOM_UPDATE"
16
16
  static let ON_PEER_UPDATE = "3"
17
+ static let ON_PEER_LIST_UPDATED = "ON_PEER_LIST_UPDATED"
17
18
  static let ON_TRACK_UPDATE = "ON_TRACK_UPDATE"
18
19
  static let ON_ROLE_CHANGE_REQUEST = "ON_ROLE_CHANGE_REQUEST"
19
20
  static let ON_CHANGE_TRACK_STATE_REQUEST = "ON_CHANGE_TRACK_STATE_REQUEST"
@@ -21,7 +21,7 @@ class HMSDecoder: NSObject {
21
21
  switch hmsRoomUpdateType {
22
22
  case .none:
23
23
  return data
24
- case .metaDataUpdated:
24
+ case .peerCountUpdated:
25
25
  data["peerCount"] = room.peerCount
26
26
  return data
27
27
  case .hlsRecordingStateUpdated:
@@ -93,6 +93,7 @@ class HMSDecoder: NSObject {
93
93
  case .nameUpdated: return "5"
94
94
  case .metadataUpdated: return "6"
95
95
  case .networkQualityUpdated: return "7"
96
+ case .handRaiseUpdated: return "8"
96
97
  default: return nil
97
98
  }
98
99
  }
@@ -112,6 +113,9 @@ class HMSDecoder: NSObject {
112
113
  case .metadataUpdated:
113
114
  peerDict["metadata"] = peer.metadata ?? ""
114
115
  return peerDict
116
+ case .handRaiseUpdated:
117
+ peerDict["isHandRaised"] = peer.isHandRaised
118
+ return peerDict
115
119
  case .roleUpdated:
116
120
  peerDict["role"] = getHmsRole(peer.role)
117
121
  return peerDict
@@ -138,6 +142,9 @@ class HMSDecoder: NSObject {
138
142
  case .metadataUpdated:
139
143
  peerDict["metadata"] = peer.metadata ?? ""
140
144
  return peerDict
145
+ case .handRaiseUpdated:
146
+ peerDict["isHandRaised"] = peer.isHandRaised
147
+ return peerDict
141
148
  case .roleUpdated:
142
149
  peerDict["role"] = getHmsRole(peer.role)
143
150
  return peerDict
@@ -167,6 +174,7 @@ class HMSDecoder: NSObject {
167
174
  if let metadata = peer.metadata {
168
175
  data["metadata"] = metadata
169
176
  }
177
+ data["isHandRaised"] = peer.isHandRaised
170
178
 
171
179
  // joinedAt
172
180
 
@@ -352,7 +360,7 @@ class HMSDecoder: NSObject {
352
360
 
353
361
  peerDict["peerID"] = peer.peerID
354
362
  peerDict["name"] = peer.name
355
-
363
+
356
364
  // joinedAt
357
365
 
358
366
  if let audio = peer.audioTrack {
@@ -883,16 +891,19 @@ class HMSDecoder: NSObject {
883
891
  }
884
892
 
885
893
  static func getRemoteVideoStats(_ data: HMSRemoteVideoStats) -> [Any] {
886
- // [bitrate, bytesReceived, frameRate, jitter, packetsLost, packetsReceived, resolution]
887
- return [
894
+
895
+ var stats = [Any]()
896
+
897
+ stats = [
888
898
  data.bitrate,
889
- data.bytesReceived,
899
+ Double(data.bytesReceived),
890
900
  data.frameRate,
891
901
  data.jitter,
892
- data.packetsLost,
893
- data.packetsReceived,
902
+ Double(data.packetsLost),
903
+ Double(data.packetsReceived),
894
904
  HMSDecoder.getHmsVideoResolution(data.resolution)
895
905
  ]
906
+ return stats
896
907
  }
897
908
 
898
909
  static func getHmsMessageRecipient(_ recipient: HMSMessageRecipient) -> [String: Any] {
@@ -200,6 +200,9 @@ class HMSHLSPlayer: UIView {
200
200
  self.addSubview(playerViewController.view)
201
201
 
202
202
  attachPlayerPlaybackListeners()
203
+
204
+ hmsHLSPlayerViewController?.showsPlaybackControls = false
205
+ hmsHLSPlayerViewController?.allowsPictureInPicturePlayback = false
203
206
  }
204
207
 
205
208
  required init?(coder: NSCoder) {
@@ -305,12 +308,16 @@ class HMSHLSPlayer: UIView {
305
308
  sendHLSPlaybackEventToJS(HMSHLSPlayerConstants.ON_PLAYBACK_FAILURE_EVENT, data)
306
309
  }
307
310
 
308
- fileprivate func onPlaybackStateChanged(state: HMSHLSPlaybackState) {
311
+ fileprivate func onPlaybackStateChanged(state: HMSHLSPlaybackState? = nil, videoSizeChanged: Bool = false, aspectRatio: Double? = nil) {
309
312
  guard onHmsHlsPlaybackEvent != nil else { return }
310
313
 
311
314
  var data = [String: Any]()
312
315
 
313
- data["state"] = state.description
316
+ data["state"] = videoSizeChanged ? "onVideoSizeChanged" : state?.description
317
+
318
+ if let aspectRatio = aspectRatio {
319
+ data["aspectRatio"] = aspectRatio
320
+ }
314
321
 
315
322
  sendHLSPlaybackEventToJS(HMSHLSPlayerConstants.ON_PLAYBACK_STATE_CHANGE_EVENT, data)
316
323
  }
@@ -334,6 +341,15 @@ class HLSPlaybackEventController: HMSHLSPlayerDelegate {
334
341
  func onPlaybackFailure(error: Error) {
335
342
  hmsHlsPlayerDelegate?.onPlaybackFailure(error: error)
336
343
  }
344
+
345
+ func onResolutionChanged(videoSize: CGSize) {
346
+ if videoSize.width >= videoSize.height {
347
+ hmsHlsPlayerDelegate?.hmsHLSPlayerViewController?.videoGravity = .resizeAspect
348
+ } else {
349
+ hmsHlsPlayerDelegate?.hmsHLSPlayerViewController?.videoGravity = .resizeAspectFill
350
+ }
351
+ hmsHlsPlayerDelegate?.onPlaybackStateChanged(videoSizeChanged: true, aspectRatio: videoSize.width/videoSize.height)
352
+ }
337
353
  }
338
354
 
339
355
  enum HMSHLSPlayerConstants {
package/ios/HMSManager.m CHANGED
@@ -1,86 +1,255 @@
1
- #import <React/RCTEventEmitter.h>
2
1
  #import <Foundation/Foundation.h>
2
+ #import <React/RCTEventEmitter.h>
3
+
4
+ @interface RCT_EXTERN_MODULE (HMSManager, RCTEventEmitter)
3
5
 
4
- @interface RCT_EXTERN_MODULE(HMSManager, RCTEventEmitter)
6
+ RCT_EXTERN_METHOD(join : (NSDictionary)credentials)
7
+ RCT_EXTERN_METHOD(preview : (NSDictionary)credentials)
8
+ RCT_EXTERN_METHOD(previewForRole
9
+ : (NSDictionary)data
10
+ : (RCTPromiseResolveBlock)resolve
11
+ : (RCTPromiseRejectBlock)reject)
12
+ RCT_EXTERN_METHOD(cancelPreview : (NSDictionary)data
13
+ : (RCTPromiseResolveBlock)resolve
14
+ : (RCTPromiseRejectBlock)reject)
15
+ RCT_EXTERN_METHOD(setLocalMute : (NSDictionary)isMute)
16
+ RCT_EXTERN_METHOD(setLocalVideoMute : (NSDictionary)isMute)
17
+ RCT_EXTERN_METHOD(sendBroadcastMessage
18
+ : (NSDictionary)data
19
+ : (RCTPromiseResolveBlock)resolve
20
+ : (RCTPromiseRejectBlock)reject)
21
+ RCT_EXTERN_METHOD(sendGroupMessage
22
+ : (NSDictionary)data
23
+ : (RCTPromiseResolveBlock)resolve
24
+ : (RCTPromiseRejectBlock)reject)
25
+ RCT_EXTERN_METHOD(sendDirectMessage
26
+ : (NSDictionary)data
27
+ : (RCTPromiseResolveBlock)resolve
28
+ : (RCTPromiseRejectBlock)reject)
29
+ RCT_EXTERN_METHOD(setPlaybackAllowed : (NSDictionary)data)
30
+ RCT_EXTERN_METHOD(removePeer
31
+ : (NSDictionary)data
32
+ : (RCTPromiseResolveBlock)resolve
33
+ : (RCTPromiseRejectBlock)reject)
34
+ RCT_EXTERN_METHOD(endRoom
35
+ : (NSDictionary)data
36
+ : (RCTPromiseResolveBlock)resolve
37
+ : (RCTPromiseRejectBlock)reject)
5
38
 
6
- RCT_EXTERN_METHOD(join: (NSDictionary) credentials)
7
- RCT_EXTERN_METHOD(preview: (NSDictionary) credentials)
8
- RCT_EXTERN_METHOD(previewForRole: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
9
- RCT_EXTERN_METHOD(cancelPreview: (NSDictionary) data)
10
- RCT_EXTERN_METHOD(setLocalMute: (NSDictionary) isMute)
11
- RCT_EXTERN_METHOD(setLocalVideoMute: (NSDictionary) isMute)
12
- RCT_EXTERN_METHOD(sendBroadcastMessage: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
13
- RCT_EXTERN_METHOD(sendGroupMessage: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
14
- RCT_EXTERN_METHOD(sendDirectMessage: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
15
- RCT_EXTERN_METHOD(setPlaybackAllowed: (NSDictionary) data)
16
- RCT_EXTERN_METHOD(removePeer: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
17
- RCT_EXTERN_METHOD(endRoom: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
18
- RCT_EXTERN_METHOD(changeRole: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
19
- RCT_EXTERN_METHOD(changeTrackState: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
20
- RCT_EXTERN_METHOD(changeTrackStateForRoles: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
21
- RCT_EXTERN_METHOD(acceptRoleChange: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
22
- RCT_EXTERN_METHOD(isMute: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
23
- RCT_EXTERN_METHOD(getRoom: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
24
- RCT_EXTERN_METHOD(switchCamera: (NSDictionary) data)
25
- RCT_EXTERN_METHOD(setVolume: (NSDictionary) data)
26
- RCT_EXTERN_METHOD(build : (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
27
- RCT_EXTERN_METHOD(leave: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
28
- RCT_EXTERN_METHOD(setPlaybackForAllAudio: (NSDictionary) mute)
29
- RCT_EXTERN_METHOD(remoteMuteAllAudio: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
30
- RCT_EXTERN_METHOD(isPlaybackAllowed: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
31
- RCT_EXTERN_METHOD(changeMetadata: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
32
- RCT_EXTERN_METHOD(startRTMPOrRecording: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
33
- RCT_EXTERN_METHOD(stopRtmpAndRecording: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
34
- RCT_EXTERN_METHOD(startHLSStreaming: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
35
- RCT_EXTERN_METHOD(stopHLSStreaming: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
36
- RCT_EXTERN_METHOD(changeName: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
37
- RCT_EXTERN_METHOD(destroy: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
38
- RCT_EXTERN_METHOD(startScreenshare: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
39
- RCT_EXTERN_METHOD(stopScreenshare: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
40
- RCT_EXTERN_METHOD(isScreenShared: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
41
- RCT_EXTERN_METHOD(switchAudioOutputUsingIOSUI: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
42
- RCT_EXTERN_METHOD(playAudioShare: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
43
- RCT_EXTERN_METHOD(setAudioShareVolume: (NSDictionary) data)
44
- RCT_EXTERN_METHOD(stopAudioShare: (NSDictionary) data)
45
- RCT_EXTERN_METHOD(resumeAudioShare: (NSDictionary) data)
46
- RCT_EXTERN_METHOD(pauseAudioShare: (NSDictionary) data)
47
- RCT_EXTERN_METHOD(audioShareIsPlaying: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
48
- RCT_EXTERN_METHOD(audioShareCurrentTime: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
49
- RCT_EXTERN_METHOD(audioShareDuration: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
50
- RCT_EXTERN_METHOD(getLocalPeer: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
51
- RCT_EXTERN_METHOD(getRemotePeers: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
52
- RCT_EXTERN_METHOD(getRoles: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
53
- RCT_EXTERN_METHOD(enableNetworkQualityUpdates: (NSDictionary) data)
54
- RCT_EXTERN_METHOD(disableNetworkQualityUpdates: (NSDictionary) data)
55
- RCT_EXTERN_METHOD(changeRoleOfPeer: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
56
- RCT_EXTERN_METHOD(changeRoleOfPeersWithRoles: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
39
+ RCT_EXTERN_METHOD(changeTrackState
40
+ : (NSDictionary)data
41
+ : (RCTPromiseResolveBlock)resolve
42
+ : (RCTPromiseRejectBlock)reject)
43
+ RCT_EXTERN_METHOD(changeTrackStateForRoles
44
+ : (NSDictionary)data
45
+ : (RCTPromiseResolveBlock)resolve
46
+ : (RCTPromiseRejectBlock)reject)
57
47
 
58
- RCT_EXTERN__BLOCKING_SYNCHRONOUS_METHOD(getPeerProperty: (NSDictionary) data)
59
- RCT_EXTERN__BLOCKING_SYNCHRONOUS_METHOD(getRoomProperty: (NSDictionary) data)
48
+ RCT_EXTERN_METHOD(isMute
49
+ : (NSDictionary)data
50
+ : (RCTPromiseResolveBlock)resolve
51
+ : (RCTPromiseRejectBlock)reject)
52
+ RCT_EXTERN_METHOD(getRoom
53
+ : (NSDictionary)data
54
+ : (RCTPromiseResolveBlock)resolve
55
+ : (RCTPromiseRejectBlock)reject)
56
+ RCT_EXTERN_METHOD(switchCamera : (NSDictionary)data)
57
+ RCT_EXTERN_METHOD(setVolume : (NSDictionary)data)
58
+ RCT_EXTERN_METHOD(build
59
+ : (NSDictionary)data
60
+ : (RCTPromiseResolveBlock)resolve
61
+ : (RCTPromiseRejectBlock)reject)
62
+ RCT_EXTERN_METHOD(leave
63
+ : (NSDictionary)data
64
+ : (RCTPromiseResolveBlock)resolve
65
+ : (RCTPromiseRejectBlock)reject)
66
+ RCT_EXTERN_METHOD(setPlaybackForAllAudio : (NSDictionary)mute)
67
+ RCT_EXTERN_METHOD(remoteMuteAllAudio
68
+ : (NSDictionary)data
69
+ : (RCTPromiseResolveBlock)resolve
70
+ : (RCTPromiseRejectBlock)reject)
71
+ RCT_EXTERN_METHOD(isPlaybackAllowed
72
+ : (NSDictionary)data
73
+ : (RCTPromiseResolveBlock)resolve
74
+ : (RCTPromiseRejectBlock)reject)
75
+ RCT_EXTERN_METHOD(changeMetadata
76
+ : (NSDictionary)data
77
+ : (RCTPromiseResolveBlock)resolve
78
+ : (RCTPromiseRejectBlock)reject)
79
+ RCT_EXTERN_METHOD(startRTMPOrRecording
80
+ : (NSDictionary)data
81
+ : (RCTPromiseResolveBlock)resolve
82
+ : (RCTPromiseRejectBlock)reject)
83
+ RCT_EXTERN_METHOD(stopRtmpAndRecording
84
+ : (NSDictionary)data
85
+ : (RCTPromiseResolveBlock)resolve
86
+ : (RCTPromiseRejectBlock)reject)
87
+ RCT_EXTERN_METHOD(startHLSStreaming
88
+ : (NSDictionary)data
89
+ : (RCTPromiseResolveBlock)resolve
90
+ : (RCTPromiseRejectBlock)reject)
91
+ RCT_EXTERN_METHOD(stopHLSStreaming
92
+ : (NSDictionary)data
93
+ : (RCTPromiseResolveBlock)resolve
94
+ : (RCTPromiseRejectBlock)reject)
95
+ RCT_EXTERN_METHOD(changeName
96
+ : (NSDictionary)data
97
+ : (RCTPromiseResolveBlock)resolve
98
+ : (RCTPromiseRejectBlock)reject)
99
+ RCT_EXTERN_METHOD(raiseLocalPeerHand
100
+ : (NSDictionary)data
101
+ : (RCTPromiseResolveBlock)resolve
102
+ : (RCTPromiseRejectBlock)reject)
103
+ RCT_EXTERN_METHOD(lowerLocalPeerHand
104
+ : (NSDictionary)data
105
+ : (RCTPromiseResolveBlock)resolve
106
+ : (RCTPromiseRejectBlock)reject)
107
+ RCT_EXTERN_METHOD(lowerRemotePeerHand
108
+ : (NSDictionary)data
109
+ : (RCTPromiseResolveBlock)resolve
110
+ : (RCTPromiseRejectBlock)reject)
111
+ RCT_EXTERN_METHOD(destroy
112
+ : (NSDictionary)data
113
+ : (RCTPromiseResolveBlock)resolve
114
+ : (RCTPromiseRejectBlock)reject)
115
+ RCT_EXTERN_METHOD(startScreenshare
116
+ : (NSDictionary)data
117
+ : (RCTPromiseResolveBlock)resolve
118
+ : (RCTPromiseRejectBlock)reject)
119
+ RCT_EXTERN_METHOD(stopScreenshare
120
+ : (NSDictionary)data
121
+ : (RCTPromiseResolveBlock)resolve
122
+ : (RCTPromiseRejectBlock)reject)
123
+ RCT_EXTERN_METHOD(isScreenShared
124
+ : (NSDictionary)data
125
+ : (RCTPromiseResolveBlock)resolve
126
+ : (RCTPromiseRejectBlock)reject)
127
+ RCT_EXTERN_METHOD(switchAudioOutputUsingIOSUI
128
+ : (NSDictionary)data
129
+ : (RCTPromiseResolveBlock)resolve
130
+ : (RCTPromiseRejectBlock)reject)
131
+ RCT_EXTERN_METHOD(playAudioShare
132
+ : (NSDictionary)data
133
+ : (RCTPromiseResolveBlock)resolve
134
+ : (RCTPromiseRejectBlock)reject)
135
+ RCT_EXTERN_METHOD(setAudioShareVolume : (NSDictionary)data)
136
+ RCT_EXTERN_METHOD(stopAudioShare : (NSDictionary)data)
137
+ RCT_EXTERN_METHOD(resumeAudioShare : (NSDictionary)data)
138
+ RCT_EXTERN_METHOD(pauseAudioShare : (NSDictionary)data)
139
+ RCT_EXTERN_METHOD(audioShareIsPlaying
140
+ : (NSDictionary)data
141
+ : (RCTPromiseResolveBlock)resolve
142
+ : (RCTPromiseRejectBlock)reject)
143
+ RCT_EXTERN_METHOD(audioShareCurrentTime
144
+ : (NSDictionary)data
145
+ : (RCTPromiseResolveBlock)resolve
146
+ : (RCTPromiseRejectBlock)reject)
147
+ RCT_EXTERN_METHOD(audioShareDuration
148
+ : (NSDictionary)data
149
+ : (RCTPromiseResolveBlock)resolve
150
+ : (RCTPromiseRejectBlock)reject)
151
+ RCT_EXTERN_METHOD(getLocalPeer
152
+ : (NSDictionary)data
153
+ : (RCTPromiseResolveBlock)resolve
154
+ : (RCTPromiseRejectBlock)reject)
155
+ RCT_EXTERN_METHOD(getRemotePeers
156
+ : (NSDictionary)data
157
+ : (RCTPromiseResolveBlock)resolve
158
+ : (RCTPromiseRejectBlock)reject)
159
+ RCT_EXTERN_METHOD(getRoles
160
+ : (NSDictionary)data
161
+ : (RCTPromiseResolveBlock)resolve
162
+ : (RCTPromiseRejectBlock)reject)
163
+ RCT_EXTERN_METHOD(enableNetworkQualityUpdates : (NSDictionary)data)
164
+ RCT_EXTERN_METHOD(disableNetworkQualityUpdates : (NSDictionary)data)
165
+ RCT_EXTERN_METHOD(changeRoleOfPeer
166
+ : (NSDictionary)data
167
+ : (RCTPromiseResolveBlock)resolve
168
+ : (RCTPromiseRejectBlock)reject)
169
+ RCT_EXTERN_METHOD(changeRoleOfPeersWithRoles
170
+ : (NSDictionary)data
171
+ : (RCTPromiseResolveBlock)resolve
172
+ : (RCTPromiseRejectBlock)reject)
60
173
 
61
- RCT_EXTERN_METHOD(enableEvent: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
62
- RCT_EXTERN_METHOD(disableEvent: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
63
- RCT_EXTERN_METHOD(restrictData: (NSDictionary) data)
64
- RCT_EXTERN_METHOD(getAuthTokenByRoomCode: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
65
- RCT_EXTERN_METHOD(getRemoteVideoTrackFromTrackId: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
66
- RCT_EXTERN_METHOD(getRemoteAudioTrackFromTrackId: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
67
- RCT_EXTERN_METHOD(getVideoTrackLayerDefinition: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
68
- RCT_EXTERN_METHOD(getVideoTrackLayer: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
69
- RCT_EXTERN_METHOD(setVideoTrackLayer: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
174
+ RCT_EXTERN__BLOCKING_SYNCHRONOUS_METHOD(getPeerProperty : (NSDictionary)data)
175
+ RCT_EXTERN__BLOCKING_SYNCHRONOUS_METHOD(getRoomProperty : (NSDictionary)data)
176
+
177
+ RCT_EXTERN_METHOD(enableEvent
178
+ : (NSDictionary)data
179
+ : (RCTPromiseResolveBlock)resolve
180
+ : (RCTPromiseRejectBlock)reject)
181
+ RCT_EXTERN_METHOD(disableEvent
182
+ : (NSDictionary)data
183
+ : (RCTPromiseResolveBlock)resolve
184
+ : (RCTPromiseRejectBlock)reject)
185
+ RCT_EXTERN_METHOD(restrictData : (NSDictionary)data)
186
+ RCT_EXTERN_METHOD(getAuthTokenByRoomCode
187
+ : (NSDictionary)data
188
+ : (RCTPromiseResolveBlock)resolve
189
+ : (RCTPromiseRejectBlock)reject)
190
+ RCT_EXTERN_METHOD(getRemoteVideoTrackFromTrackId
191
+ : (NSDictionary)data
192
+ : (RCTPromiseResolveBlock)resolve
193
+ : (RCTPromiseRejectBlock)reject)
194
+ RCT_EXTERN_METHOD(getRemoteAudioTrackFromTrackId
195
+ : (NSDictionary)data
196
+ : (RCTPromiseResolveBlock)resolve
197
+ : (RCTPromiseRejectBlock)reject)
198
+ RCT_EXTERN_METHOD(getVideoTrackLayerDefinition
199
+ : (NSDictionary)data
200
+ : (RCTPromiseResolveBlock)resolve
201
+ : (RCTPromiseRejectBlock)reject)
202
+ RCT_EXTERN_METHOD(getVideoTrackLayer
203
+ : (NSDictionary)data
204
+ : (RCTPromiseResolveBlock)resolve
205
+ : (RCTPromiseRejectBlock)reject)
206
+ RCT_EXTERN_METHOD(setVideoTrackLayer
207
+ : (NSDictionary)data
208
+ : (RCTPromiseResolveBlock)resolve
209
+ : (RCTPromiseRejectBlock)reject)
70
210
 
71
211
  #pragma mark - Advanced Camera Controls
72
212
 
73
- RCT_EXTERN_METHOD(captureImageAtMaxSupportedResolution: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
213
+ RCT_EXTERN_METHOD(captureImageAtMaxSupportedResolution
214
+ : (NSDictionary)data
215
+ : (RCTPromiseResolveBlock)resolve
216
+ : (RCTPromiseRejectBlock)reject)
74
217
 
75
218
  #pragma mark - Session Store
76
219
 
77
- RCT_EXTERN_METHOD(getSessionMetadataForKey: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
78
- RCT_EXTERN_METHOD(setSessionMetadataForKey: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
79
- RCT_EXTERN_METHOD(addKeyChangeListener: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
80
- RCT_EXTERN_METHOD(removeKeyChangeListener: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
220
+ RCT_EXTERN_METHOD(getSessionMetadataForKey
221
+ : (NSDictionary)data
222
+ : (RCTPromiseResolveBlock)resolve
223
+ : (RCTPromiseRejectBlock)reject)
224
+ RCT_EXTERN_METHOD(setSessionMetadataForKey
225
+ : (NSDictionary)data
226
+ : (RCTPromiseResolveBlock)resolve
227
+ : (RCTPromiseRejectBlock)reject)
228
+ RCT_EXTERN_METHOD(addKeyChangeListener
229
+ : (NSDictionary)data
230
+ : (RCTPromiseResolveBlock)resolve
231
+ : (RCTPromiseRejectBlock)reject)
232
+ RCT_EXTERN_METHOD(removeKeyChangeListener
233
+ : (NSDictionary)data
234
+ : (RCTPromiseResolveBlock)resolve
235
+ : (RCTPromiseRejectBlock)reject)
81
236
 
82
237
  #pragma mark - Prebuilt
83
238
 
84
- RCT_EXTERN_METHOD(getRoomLayout: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
239
+ RCT_EXTERN_METHOD(getRoomLayout
240
+ : (NSDictionary)data
241
+ : (RCTPromiseResolveBlock)resolve
242
+ : (RCTPromiseRejectBlock)reject)
243
+
244
+ #pragma mark - Role Change
245
+
246
+ RCT_EXTERN_METHOD(changeRole
247
+ : (NSDictionary)data
248
+ : (RCTPromiseResolveBlock)resolve
249
+ : (RCTPromiseRejectBlock)reject)
250
+ RCT_EXTERN_METHOD(acceptRoleChange
251
+ : (NSDictionary)data
252
+ : (RCTPromiseResolveBlock)resolve
253
+ : (RCTPromiseRejectBlock)reject)
85
254
 
86
255
  @end