@100mslive/react-native-hms 1.10.6-beta.1 → 1.10.7

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 (274) hide show
  1. package/android/build.gradle +0 -5
  2. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +90 -0
  3. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +14 -3
  4. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +4 -6
  5. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +2 -3
  6. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +26 -9
  7. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +64 -3
  8. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +9 -17
  9. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +7 -3
  10. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +3 -6
  11. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityDecoder.kt +13 -16
  12. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityHelper.kt +14 -13
  13. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSRNInteractivityCenter.kt +19 -4
  14. package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +10 -2
  15. package/ios/HMSConstants.swift +1 -0
  16. package/ios/HMSDecoder.swift +75 -0
  17. package/ios/HMSManager.m +6 -0
  18. package/ios/HMSManager.swift +11 -1
  19. package/ios/HMSRNSDK.swift +65 -0
  20. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  21. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  22. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  23. package/ios/Hmssdk.xcodeproj/xcuserdata/yogesh.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  24. package/lib/commonjs/classes/HMSAudioMixerSource.js +1 -1
  25. package/lib/commonjs/classes/HMSAudioNode.js +1 -1
  26. package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
  27. package/lib/commonjs/classes/HMSAudioSettings.js +1 -1
  28. package/lib/commonjs/classes/HMSAudioTrackSettings.js +1 -1
  29. package/lib/commonjs/classes/HMSBrowserRecordingState.js +1 -1
  30. package/lib/commonjs/classes/HMSCameraControl.js +1 -1
  31. package/lib/commonjs/classes/HMSCameraControl.js.map +1 -1
  32. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +1 -1
  33. package/lib/commonjs/classes/HMSConfig.js +1 -1
  34. package/lib/commonjs/classes/HMSEncoder.js +32 -2
  35. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  36. package/lib/commonjs/classes/HMSException.js +1 -1
  37. package/lib/commonjs/classes/HMSHLSConfig.js +1 -1
  38. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +1 -1
  39. package/lib/commonjs/classes/HMSHLSRecordingConfig.js +1 -1
  40. package/lib/commonjs/classes/HMSHLSRecordingState.js +1 -1
  41. package/lib/commonjs/classes/HMSHLSStreamingState.js +1 -1
  42. package/lib/commonjs/classes/HMSHLSVariant.js +1 -1
  43. package/lib/commonjs/classes/HMSInteractivityCenter.js +2 -2
  44. package/lib/commonjs/classes/HMSInteractivityCenter.js.map +1 -1
  45. package/lib/commonjs/classes/HMSLocalAudioStats.js +1 -1
  46. package/lib/commonjs/classes/HMSLocalAudioTrack.js +1 -1
  47. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  48. package/lib/commonjs/classes/HMSLocalPeer.js +1 -1
  49. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  50. package/lib/commonjs/classes/HMSLocalVideoStats.js +1 -1
  51. package/lib/commonjs/classes/HMSLocalVideoTrack.js +1 -1
  52. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  53. package/lib/commonjs/classes/HMSLogSettings.js +1 -1
  54. package/lib/commonjs/classes/HMSLogger.js +1 -1
  55. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  56. package/lib/commonjs/classes/HMSMessage.js +1 -1
  57. package/lib/commonjs/classes/HMSMessageRecipient.js +1 -1
  58. package/lib/commonjs/classes/HMSNativeEventEmitter.js +1 -1
  59. package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -1
  60. package/lib/commonjs/classes/HMSNativeEventListener.js +1 -1
  61. package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
  62. package/lib/commonjs/classes/HMSNetworkQuality.js +1 -1
  63. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js +2 -2
  64. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js.map +1 -1
  65. package/lib/commonjs/classes/HMSPeer.js +20 -3
  66. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  67. package/lib/commonjs/classes/HMSPeerListIterator.js +2 -2
  68. package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -1
  69. package/lib/commonjs/classes/HMSPeersCache.js +2 -2
  70. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  71. package/lib/commonjs/classes/HMSPermissions.js +3 -1
  72. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  73. package/lib/commonjs/classes/HMSPublishSettings.js +1 -1
  74. package/lib/commonjs/classes/HMSQualityLimitationReasons.js +1 -1
  75. package/lib/commonjs/classes/HMSRTCStats.js +1 -1
  76. package/lib/commonjs/classes/HMSRTCStatsReport.js +1 -1
  77. package/lib/commonjs/classes/HMSRTMPConfig.js +1 -1
  78. package/lib/commonjs/classes/HMSRemoteAudioStats.js +1 -1
  79. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +1 -1
  80. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  81. package/lib/commonjs/classes/HMSRemotePeer.js +1 -1
  82. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  83. package/lib/commonjs/classes/HMSRemoteVideoStats.js +1 -1
  84. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +1 -1
  85. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  86. package/lib/commonjs/classes/HMSRole.js +1 -1
  87. package/lib/commonjs/classes/HMSRoleChangeRequest.js +1 -1
  88. package/lib/commonjs/classes/HMSRoom.js +8 -1
  89. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  90. package/lib/commonjs/classes/HMSRoomCache.js +9 -2
  91. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
  92. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -0
  93. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  94. package/lib/commonjs/classes/HMSRtmpStreamingState.js +1 -1
  95. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +1 -1
  96. package/lib/commonjs/classes/HMSSDK.js +53 -2
  97. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  98. package/lib/commonjs/classes/HMSServerRecordingState.js +1 -1
  99. package/lib/commonjs/classes/HMSSessionStore.js +2 -2
  100. package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
  101. package/lib/commonjs/classes/HMSSimulcastLayerDefinition.js +1 -1
  102. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js +1 -1
  103. package/lib/commonjs/classes/HMSSimulcastLayerSettingsPolicy.js +1 -1
  104. package/lib/commonjs/classes/HMSSimulcastSettings.js +1 -1
  105. package/lib/commonjs/classes/HMSSimulcastSettingsPolicy.js +1 -1
  106. package/lib/commonjs/classes/HMSSpeaker.js +1 -1
  107. package/lib/commonjs/classes/HMSSubscribeDegradationPolicy.js +1 -1
  108. package/lib/commonjs/classes/HMSSubscribeSettings.js +1 -1
  109. package/lib/commonjs/classes/HMSTrack.js +1 -1
  110. package/lib/commonjs/classes/HMSTrackSettings.js +1 -1
  111. package/lib/commonjs/classes/HMSUpdateListenerActions.js +1 -0
  112. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  113. package/lib/commonjs/classes/HMSVideoResolution.js +1 -1
  114. package/lib/commonjs/classes/HMSVideoSettings.js +1 -1
  115. package/lib/commonjs/classes/HMSVideoTrack.js +1 -1
  116. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  117. package/lib/commonjs/classes/HMSVideoTrackSettings.js +1 -1
  118. package/lib/commonjs/classes/transcriptions/HMSTranscript.js +6 -0
  119. package/lib/commonjs/classes/transcriptions/HMSTranscript.js.map +1 -0
  120. package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js +2 -0
  121. package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js.map +1 -0
  122. package/lib/commonjs/classes/transcriptions/TranscriptionState.js +14 -0
  123. package/lib/commonjs/classes/transcriptions/TranscriptionState.js.map +1 -0
  124. package/lib/commonjs/classes/transcriptions/Transcriptions.js +6 -0
  125. package/lib/commonjs/classes/transcriptions/Transcriptions.js.map +1 -0
  126. package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js +12 -0
  127. package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js.map +1 -0
  128. package/lib/commonjs/classes/transcriptions/index.js +61 -0
  129. package/lib/commonjs/classes/transcriptions/index.js.map +1 -0
  130. package/lib/commonjs/classes/whiteboard/registerCallbacks.js +1 -1
  131. package/lib/commonjs/classes/whiteboard/registerCallbacks.js.map +1 -1
  132. package/lib/commonjs/hooks/useHMSPeerUpdates.js +1 -1
  133. package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
  134. package/lib/commonjs/index.js +13 -1
  135. package/lib/commonjs/index.js.map +1 -1
  136. package/lib/commonjs/modules/HMSManagerModule.js.map +1 -1
  137. package/lib/commonjs/utils/emitter/EventEmitter.js +1 -1
  138. package/lib/commonjs/utils/emitter/EventEmitter.js.map +1 -1
  139. package/lib/commonjs/utils/emitter/_EmitterSubscription.js +1 -1
  140. package/lib/commonjs/utils/emitter/_EmitterSubscription.js.map +1 -1
  141. package/lib/commonjs/utils/emitter/_EventSubscription.js +1 -1
  142. package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js +1 -1
  143. package/lib/commonjs/utils/keyboard.js +1 -1
  144. package/lib/commonjs/utils/keyboard.js.map +1 -1
  145. package/lib/commonjs/utils/notification.js +1 -1
  146. package/lib/commonjs/utils/notification.js.map +1 -1
  147. package/lib/commonjs/utils/windowController.js +1 -1
  148. package/lib/commonjs/utils/windowController.js.map +1 -1
  149. package/lib/module/classes/HMSAudioMixerSource.js +1 -1
  150. package/lib/module/classes/HMSAudioNode.js +1 -1
  151. package/lib/module/classes/HMSAudioSettings.js +1 -1
  152. package/lib/module/classes/HMSAudioTrackSettings.js +1 -1
  153. package/lib/module/classes/HMSBrowserRecordingState.js +1 -1
  154. package/lib/module/classes/HMSChangeTrackStateRequest.js +1 -1
  155. package/lib/module/classes/HMSConfig.js +1 -1
  156. package/lib/module/classes/HMSEncoder.js +31 -1
  157. package/lib/module/classes/HMSEncoder.js.map +1 -1
  158. package/lib/module/classes/HMSException.js +1 -1
  159. package/lib/module/classes/HMSHLSConfig.js +1 -1
  160. package/lib/module/classes/HMSHLSMeetingURLVariant.js +1 -1
  161. package/lib/module/classes/HMSHLSRecordingConfig.js +1 -1
  162. package/lib/module/classes/HMSHLSRecordingState.js +1 -1
  163. package/lib/module/classes/HMSHLSStreamingState.js +1 -1
  164. package/lib/module/classes/HMSHLSVariant.js +1 -1
  165. package/lib/module/classes/HMSInteractivityCenter.js +1 -1
  166. package/lib/module/classes/HMSLocalAudioStats.js +1 -1
  167. package/lib/module/classes/HMSLocalAudioTrack.js +1 -1
  168. package/lib/module/classes/HMSLocalPeer.js +1 -1
  169. package/lib/module/classes/HMSLocalVideoStats.js +1 -1
  170. package/lib/module/classes/HMSLocalVideoTrack.js +1 -1
  171. package/lib/module/classes/HMSLogSettings.js +1 -1
  172. package/lib/module/classes/HMSLogger.js +1 -1
  173. package/lib/module/classes/HMSLogger.js.map +1 -1
  174. package/lib/module/classes/HMSMessage.js +1 -1
  175. package/lib/module/classes/HMSMessageRecipient.js +1 -1
  176. package/lib/module/classes/HMSNativeEventEmitter.js +1 -1
  177. package/lib/module/classes/HMSNetworkQuality.js +1 -1
  178. package/lib/module/classes/HMSNoiseCancellationPlugin.js +1 -1
  179. package/lib/module/classes/HMSPeer.js +20 -3
  180. package/lib/module/classes/HMSPeer.js.map +1 -1
  181. package/lib/module/classes/HMSPeerListIterator.js +1 -1
  182. package/lib/module/classes/HMSPeersCache.js +1 -1
  183. package/lib/module/classes/HMSPermissions.js +3 -1
  184. package/lib/module/classes/HMSPermissions.js.map +1 -1
  185. package/lib/module/classes/HMSPublishSettings.js +1 -1
  186. package/lib/module/classes/HMSQualityLimitationReasons.js +1 -1
  187. package/lib/module/classes/HMSRTCStats.js +1 -1
  188. package/lib/module/classes/HMSRTCStatsReport.js +1 -1
  189. package/lib/module/classes/HMSRTMPConfig.js +1 -1
  190. package/lib/module/classes/HMSRemoteAudioStats.js +1 -1
  191. package/lib/module/classes/HMSRemoteAudioTrack.js +1 -1
  192. package/lib/module/classes/HMSRemotePeer.js +1 -1
  193. package/lib/module/classes/HMSRemoteVideoStats.js +1 -1
  194. package/lib/module/classes/HMSRemoteVideoTrack.js +1 -1
  195. package/lib/module/classes/HMSRole.js +1 -1
  196. package/lib/module/classes/HMSRoleChangeRequest.js +1 -1
  197. package/lib/module/classes/HMSRoom.js +8 -1
  198. package/lib/module/classes/HMSRoom.js.map +1 -1
  199. package/lib/module/classes/HMSRoomCache.js +8 -1
  200. package/lib/module/classes/HMSRoomCache.js.map +1 -1
  201. package/lib/module/classes/HMSRoomUpdate.js +1 -0
  202. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  203. package/lib/module/classes/HMSRtmpStreamingState.js +1 -1
  204. package/lib/module/classes/HMSRtmpVideoResolution.js +1 -1
  205. package/lib/module/classes/HMSSDK.js +52 -1
  206. package/lib/module/classes/HMSSDK.js.map +1 -1
  207. package/lib/module/classes/HMSServerRecordingState.js +1 -1
  208. package/lib/module/classes/HMSSessionStore.js +1 -1
  209. package/lib/module/classes/HMSSimulcastLayerDefinition.js +1 -1
  210. package/lib/module/classes/HMSSimulcastLayerSettings.js +1 -1
  211. package/lib/module/classes/HMSSimulcastLayerSettingsPolicy.js +1 -1
  212. package/lib/module/classes/HMSSimulcastSettings.js +1 -1
  213. package/lib/module/classes/HMSSimulcastSettingsPolicy.js +1 -1
  214. package/lib/module/classes/HMSSpeaker.js +1 -1
  215. package/lib/module/classes/HMSSubscribeDegradationPolicy.js +1 -1
  216. package/lib/module/classes/HMSSubscribeSettings.js +1 -1
  217. package/lib/module/classes/HMSTrack.js +1 -1
  218. package/lib/module/classes/HMSTrackSettings.js +1 -1
  219. package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
  220. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  221. package/lib/module/classes/HMSVideoResolution.js +1 -1
  222. package/lib/module/classes/HMSVideoSettings.js +1 -1
  223. package/lib/module/classes/HMSVideoTrack.js +1 -1
  224. package/lib/module/classes/HMSVideoTrackSettings.js +1 -1
  225. package/lib/module/classes/transcriptions/HMSTranscript.js +2 -0
  226. package/lib/module/classes/transcriptions/HMSTranscript.js.map +1 -0
  227. package/lib/module/classes/transcriptions/OnTranscriptionError.js +2 -0
  228. package/lib/module/classes/transcriptions/OnTranscriptionError.js.map +1 -0
  229. package/lib/module/classes/transcriptions/TranscriptionState.js +8 -0
  230. package/lib/module/classes/transcriptions/TranscriptionState.js.map +1 -0
  231. package/lib/module/classes/transcriptions/Transcriptions.js +2 -0
  232. package/lib/module/classes/transcriptions/Transcriptions.js.map +1 -0
  233. package/lib/module/classes/transcriptions/TranscriptionsMode.js +6 -0
  234. package/lib/module/classes/transcriptions/TranscriptionsMode.js.map +1 -0
  235. package/lib/module/classes/transcriptions/index.js +6 -0
  236. package/lib/module/classes/transcriptions/index.js.map +1 -0
  237. package/lib/module/index.js +1 -0
  238. package/lib/module/index.js.map +1 -1
  239. package/lib/module/modules/HMSManagerModule.js.map +1 -1
  240. package/lib/module/utils/emitter/EventEmitter.js +1 -1
  241. package/lib/module/utils/emitter/_EmitterSubscription.js +1 -1
  242. package/lib/module/utils/emitter/_EventSubscription.js +1 -1
  243. package/lib/module/utils/emitter/_EventSubscriptionVendor.js +1 -1
  244. package/lib/typescript/classes/HMSEncoder.d.ts +3 -0
  245. package/lib/typescript/classes/HMSPeer.d.ts +3 -1
  246. package/lib/typescript/classes/HMSPermissions.d.ts +7 -0
  247. package/lib/typescript/classes/HMSRoom.d.ts +2 -0
  248. package/lib/typescript/classes/HMSRoomUpdate.d.ts +2 -1
  249. package/lib/typescript/classes/HMSSDK.d.ts +4 -0
  250. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
  251. package/lib/typescript/classes/transcriptions/HMSTranscript.d.ts +8 -0
  252. package/lib/typescript/classes/transcriptions/OnTranscriptionError.d.ts +4 -0
  253. package/lib/typescript/classes/transcriptions/TranscriptionState.d.ts +6 -0
  254. package/lib/typescript/classes/transcriptions/Transcriptions.d.ts +12 -0
  255. package/lib/typescript/classes/transcriptions/TranscriptionsMode.d.ts +4 -0
  256. package/lib/typescript/classes/transcriptions/index.d.ts +5 -0
  257. package/lib/typescript/index.d.ts +1 -0
  258. package/package.json +17 -2
  259. package/sdk-versions.json +2 -2
  260. package/src/classes/HMSEncoder.ts +35 -0
  261. package/src/classes/HMSPeer.ts +29 -2
  262. package/src/classes/HMSPermissions.ts +10 -0
  263. package/src/classes/HMSRoom.ts +14 -0
  264. package/src/classes/HMSRoomCache.ts +9 -0
  265. package/src/classes/HMSRoomUpdate.ts +1 -0
  266. package/src/classes/HMSSDK.tsx +63 -0
  267. package/src/classes/HMSUpdateListenerActions.ts +1 -0
  268. package/src/classes/transcriptions/HMSTranscript.ts +13 -0
  269. package/src/classes/transcriptions/OnTranscriptionError.ts +5 -0
  270. package/src/classes/transcriptions/TranscriptionState.ts +6 -0
  271. package/src/classes/transcriptions/Transcriptions.ts +19 -0
  272. package/src/classes/transcriptions/TranscriptionsMode.ts +4 -0
  273. package/src/classes/transcriptions/index.ts +5 -0
  274. package/src/index.ts +2 -0
@@ -57,11 +57,6 @@ android {
57
57
  versionName "1.0"
58
58
  }
59
59
 
60
- buildTypes {
61
- release {
62
- minifyEnabled true
63
- }
64
- }
65
60
  lintOptions {
66
61
  disable 'GradleCompatible'
67
62
  }
@@ -14,6 +14,7 @@ import live.hms.video.sdk.models.enums.HMSPeerUpdate
14
14
  import live.hms.video.sdk.models.enums.HMSRoomUpdate
15
15
  import live.hms.video.sdk.models.role.*
16
16
  import live.hms.video.sdk.models.trackchangerequest.HMSChangeTrackStateRequest
17
+ import live.hms.video.sdk.transcripts.HmsTranscript
17
18
 
18
19
  object HMSDecoder {
19
20
  private var restrictRoleData = mutableMapOf<String, Boolean>()
@@ -83,6 +84,9 @@ object HMSDecoder {
83
84
  HMSRoomUpdate.ROOM_UNMUTED -> {
84
85
  print("ROOM_UNMUTED received")
85
86
  }
87
+ HMSRoomUpdate.TRANSCRIPTIONS_UPDATED -> {
88
+ room.putArray("transcriptions", getTranscriptionsList(hmsRoom.transcriptions))
89
+ }
86
90
  else -> {
87
91
  print("Unknown Room Update Type received")
88
92
  }
@@ -148,6 +152,8 @@ object HMSDecoder {
148
152
  }
149
153
 
150
154
  room.putBoolean("isLargeRoom", hmsRoom.isLargeRoom)
155
+
156
+ room.putArray("transcriptions", getTranscriptionsList(hmsRoom.transcriptions))
151
157
  }
152
158
  return room
153
159
  }
@@ -352,6 +358,17 @@ object HMSDecoder {
352
358
  whiteboardPermissionMap.putBoolean("write", whiteBoardPermission.write)
353
359
  }
354
360
  permissions.putMap("whiteboard", whiteboardPermissionMap)
361
+
362
+ val transcriptionsPermissionArray: WritableArray = Arguments.createArray()
363
+ hmsPermissions.transcriptions.forEach { hmsTranscriptionPermissions ->
364
+ val transcriptionsPermissions: WritableMap = Arguments.createMap()
365
+ transcriptionsPermissions.putBoolean("admin", hmsTranscriptionPermissions.admin)
366
+ hmsTranscriptionPermissions.mode?.let {
367
+ transcriptionsPermissions.putString("mode", getTranscriptionsMode(it))
368
+ }
369
+ transcriptionsPermissionArray.pushMap(transcriptionsPermissions)
370
+ }
371
+ permissions.putArray("transcriptions", transcriptionsPermissionArray)
355
372
  }
356
373
  return permissions
357
374
  }
@@ -1047,4 +1064,77 @@ object HMSDecoder {
1047
1064
 
1048
1065
  return writableMap
1049
1066
  }
1067
+
1068
+ fun getTranscriptionsList(transcriptionsList: List<Transcriptions>): WritableArray {
1069
+ val data: WritableArray = Arguments.createArray()
1070
+ transcriptionsList.forEach {
1071
+ data.pushMap(getTranscriptions(it))
1072
+ }
1073
+ return data
1074
+ }
1075
+
1076
+ fun getTranscriptions(transcriptions: Transcriptions): WritableMap {
1077
+ val data: WritableMap = Arguments.createMap()
1078
+ transcriptions.error?.let { error ->
1079
+ val errorData: WritableMap = Arguments.createMap()
1080
+ error.code?.let {
1081
+ errorData.putInt("code", it)
1082
+ }
1083
+ error.message?.let {
1084
+ errorData.putString("message", it)
1085
+ }
1086
+ data.putMap("error", errorData)
1087
+ }
1088
+ transcriptions.state?.let {
1089
+ data.putString("state", getTranscriptionsState(it))
1090
+ }
1091
+ transcriptions.mode?.let {
1092
+ data.putString("mode", getTranscriptionsMode(it))
1093
+ }
1094
+ transcriptions.startedAt?.let {
1095
+ data.putString("startedAt", it.toString())
1096
+ }
1097
+ transcriptions.initialisedAt?.let {
1098
+ data.putString("initialisedAt", it.toString())
1099
+ }
1100
+ transcriptions.stoppedAt?.let {
1101
+ data.putString("stoppedAt", it.toString())
1102
+ }
1103
+ transcriptions.updatedAt?.let {
1104
+ data.putString("updatedAt", it.toString())
1105
+ }
1106
+ return data
1107
+ }
1108
+
1109
+ fun getTranscriptionsMode(mode: TranscriptionsMode): String =
1110
+ when (mode) {
1111
+ TranscriptionsMode.CAPTION -> "CAPTION"
1112
+ TranscriptionsMode.LIVE -> "LIVE"
1113
+ }
1114
+
1115
+ fun getTranscriptionsState(state: TranscriptionState): String =
1116
+ when (state) {
1117
+ TranscriptionState.FAILED -> "FAILED"
1118
+ TranscriptionState.INITIALIZED -> "INITIALIZED"
1119
+ TranscriptionState.STARTED -> "STARTED"
1120
+ TranscriptionState.STOPPED -> "STOPPED"
1121
+ }
1122
+
1123
+ fun getHmsTranscripts(transcripts: List<HmsTranscript>): WritableArray {
1124
+ val data: WritableArray = Arguments.createArray()
1125
+ transcripts.forEach {
1126
+ data.pushMap(getHmsTranscript(it))
1127
+ }
1128
+ return data
1129
+ }
1130
+
1131
+ fun getHmsTranscript(transcript: HmsTranscript): WritableMap {
1132
+ val data: WritableMap = Arguments.createMap()
1133
+ data.putString("transcript", transcript.transcript)
1134
+ data.putString("peerId", transcript.peerId)
1135
+ data.putInt("end", transcript.end)
1136
+ data.putInt("start", transcript.start)
1137
+ data.putBoolean("isFinal", transcript.isFinal)
1138
+ return data
1139
+ }
1050
1140
  }
@@ -24,7 +24,9 @@ import live.hms.video.sdk.models.enums.HMSStreamingState
24
24
  import java.util.concurrent.TimeUnit
25
25
 
26
26
  @SuppressLint("ViewConstructor")
27
- class HMSHLSPlayer(context: ReactContext) : FrameLayout(context) {
27
+ class HMSHLSPlayer(
28
+ context: ReactContext,
29
+ ) : FrameLayout(context) {
28
30
  private var playerView: PlayerView? = null // Exoplayer View
29
31
  private var hmsHlsPlayer: HmsHlsPlayer? = null // 100ms HLS Player
30
32
  private var hmssdkInstance: HMSSDK? = null
@@ -154,7 +156,11 @@ class HMSHLSPlayer(context: ReactContext) : FrameLayout(context) {
154
156
  override fun onCues(cueGroup: CueGroup) {
155
157
  super.onCues(cueGroup)
156
158
  if (!shouldSendCaptionsToJS) return
157
- val ccText = cueGroup.cues.firstOrNull()?.text?.toString()
159
+ val ccText =
160
+ cueGroup.cues
161
+ .firstOrNull()
162
+ ?.text
163
+ ?.toString()
158
164
  sendHLSPlayerCuesEventToJS(ccText)
159
165
  }
160
166
  },
@@ -243,7 +249,12 @@ class HMSHLSPlayer(context: ReactContext) : FrameLayout(context) {
243
249
  fun getPlayerDurationDetails(requestId: Int) {
244
250
  val data: WritableMap = Arguments.createMap()
245
251
  hmsHlsPlayer?.getNativePlayer()?.let { exoPlayer ->
246
- data.putInt("rollingWindowTime", exoPlayer.seekParameters.toleranceAfterUs.div(1000).toInt())
252
+ data.putInt(
253
+ "rollingWindowTime",
254
+ exoPlayer.seekParameters.toleranceAfterUs
255
+ .div(1000)
256
+ .toInt(),
257
+ )
247
258
  data.putInt("streamDuration", exoPlayer.duration.toInt())
248
259
  }
249
260
  sendHLSDataRequestEventToJS(requestId, data)
@@ -9,9 +9,7 @@ import com.facebook.react.uimanager.annotations.ReactProp
9
9
  class HMSHLSPlayerManager : SimpleViewManager<HMSHLSPlayer>() {
10
10
  private var reactContext: ThemedReactContext? = null
11
11
 
12
- override fun getName(): String {
13
- return REACT_CLASS
14
- }
12
+ override fun getName(): String = REACT_CLASS
15
13
 
16
14
  override fun createViewInstance(reactContext: ThemedReactContext): HMSHLSPlayer {
17
15
  this.reactContext = reactContext
@@ -98,8 +96,9 @@ class HMSHLSPlayerManager : SimpleViewManager<HMSHLSPlayer>() {
98
96
  }
99
97
  }
100
98
 
101
- override fun getCommandsMap(): MutableMap<String, Int>? {
102
- return MapBuilder.builder<String, Int>()
99
+ override fun getCommandsMap(): MutableMap<String, Int>? =
100
+ MapBuilder
101
+ .builder<String, Int>()
103
102
  .put("play", 10)
104
103
  .put("stop", 20)
105
104
  .put("pause", 30)
@@ -114,7 +113,6 @@ class HMSHLSPlayerManager : SimpleViewManager<HMSHLSPlayer>() {
114
113
  .put("disableClosedCaption", 120)
115
114
  .put("getPlayerDurationDetails", 130)
116
115
  .build()
117
- }
118
116
 
119
117
  @ReactProp(name = "url")
120
118
  fun setStreamURL(
@@ -115,8 +115,8 @@ object HMSHelper {
115
115
  suspend fun getRemotePeerFromPeerId(
116
116
  peerId: String?,
117
117
  hmsSDK: HMSSDK?,
118
- ): HMSRemotePeer? {
119
- return suspendCoroutine {
118
+ ): HMSRemotePeer? =
119
+ suspendCoroutine {
120
120
  val room = hmsSDK?.getRoom()
121
121
 
122
122
  if (peerId != null && room != null) {
@@ -144,7 +144,6 @@ object HMSHelper {
144
144
  it.resume(null)
145
145
  }
146
146
  }
147
- }
148
147
 
149
148
  fun getRolesFromRoleNames(
150
149
  targetedRoles: ArrayList<String>?,
@@ -24,8 +24,10 @@ import live.hms.video.factories.noisecancellation.AvailabilityStatus
24
24
  import java.util.UUID
25
25
 
26
26
  @ReactModule(name = REACT_CLASS)
27
- class HMSManager(reactContext: ReactApplicationContext) :
28
- ReactContextBaseJavaModule(reactContext), Application.ActivityLifecycleCallbacks {
27
+ class HMSManager(
28
+ reactContext: ReactApplicationContext,
29
+ ) : ReactContextBaseJavaModule(reactContext),
30
+ Application.ActivityLifecycleCallbacks {
29
31
  companion object {
30
32
  const val REACT_CLASS = "HMSManager"
31
33
  var hmsCollection = mutableMapOf<String, HMSRNSDK>()
@@ -78,13 +80,9 @@ class HMSManager(reactContext: ReactApplicationContext) :
78
80
  }
79
81
  }
80
82
 
81
- override fun getName(): String {
82
- return "HMSManager"
83
- }
83
+ override fun getName(): String = "HMSManager"
84
84
 
85
- fun getHmsInstance(): MutableMap<String, HMSRNSDK> {
86
- return hmsCollection
87
- }
85
+ fun getHmsInstance(): MutableMap<String, HMSRNSDK> = hmsCollection
88
86
 
89
87
  private fun setupPip() {
90
88
  if (emitter == null) {
@@ -957,7 +955,8 @@ class HMSManager(reactContext: ReactApplicationContext) :
957
955
  if (config.showEndButton) {
958
956
  pipRemoteActionsList.add(
959
957
  android.app.RemoteAction(
960
- android.graphics.drawable.Icon.createWithResource(reactApplicationContext, R.drawable.ic_call_end_24),
958
+ android.graphics.drawable.Icon
959
+ .createWithResource(reactApplicationContext, R.drawable.ic_call_end_24),
961
960
  PipActionReceiver.PIPActions.endMeet.title,
962
961
  PipActionReceiver.PIPActions.endMeet.description,
963
962
  PendingIntent.getBroadcast(
@@ -1607,6 +1606,24 @@ class HMSManager(reactContext: ReactApplicationContext) :
1607
1606
  }
1608
1607
  // endregion
1609
1608
 
1609
+ // region Webrtc Transcriptions
1610
+ @ReactMethod
1611
+ fun handleRealTimeTranscription(
1612
+ data: ReadableMap,
1613
+ promise: Promise?,
1614
+ ) {
1615
+ val rnSDK =
1616
+ HMSHelper.getHms(data, hmsCollection) ?: run {
1617
+ promise?.reject(
1618
+ "6004",
1619
+ "RN HMS SDK not initialized",
1620
+ )
1621
+ return
1622
+ }
1623
+ rnSDK.handleRealTimeTranscription(data, promise)
1624
+ }
1625
+ // endregion
1626
+
1610
1627
  // region Warning on JS side
1611
1628
  @ReactMethod
1612
1629
  fun addListener(eventName: String) {
@@ -20,6 +20,7 @@ import live.hms.video.sdk.models.enums.HMSPeerUpdate
20
20
  import live.hms.video.sdk.models.enums.HMSRoomUpdate
21
21
  import live.hms.video.sdk.models.enums.HMSTrackUpdate
22
22
  import live.hms.video.sdk.models.trackchangerequest.HMSChangeTrackStateRequest
23
+ import live.hms.video.sdk.transcripts.HmsTranscripts
23
24
  import live.hms.video.sessionstore.HMSKeyChangeListener
24
25
  import live.hms.video.sessionstore.HmsSessionStore
25
26
  import live.hms.video.signal.init.*
@@ -545,6 +546,17 @@ class HMSRNSDK(
545
546
  data.putArray("removedPeers", removedPeersArray)
546
547
  delegate.emitEvent("ON_PEER_LIST_UPDATED", data)
547
548
  }
549
+
550
+ override fun onTranscripts(transcripts: HmsTranscripts) {
551
+ if (eventsEnableStatus["ON_TRANSCRIPTS"] != true) {
552
+ return
553
+ }
554
+ val data: WritableMap = Arguments.createMap()
555
+ val transcriptsArray = HMSDecoder.getHmsTranscripts(transcripts.transcripts)
556
+ data.putArray("transcripts", transcriptsArray)
557
+ data.putString("id", id)
558
+ delegate.emitEvent("ON_TRANSCRIPTS", data)
559
+ }
548
560
  },
549
561
  )
550
562
 
@@ -1801,9 +1813,7 @@ class HMSRNSDK(
1801
1813
  )
1802
1814
  }
1803
1815
 
1804
- fun getAudioMixingMode(): AudioMixingMode {
1805
- return audioMixingMode
1806
- }
1816
+ fun getAudioMixingMode(): AudioMixingMode = audioMixingMode
1807
1817
 
1808
1818
  fun setAudioMixingMode(
1809
1819
  data: ReadableMap,
@@ -1953,6 +1963,9 @@ class HMSRNSDK(
1953
1963
  "isLargeRoom" -> {
1954
1964
  data.putBoolean("isLargeRoom", hmsRoom.isLargeRoom)
1955
1965
  }
1966
+ "transcriptions" -> {
1967
+ data.putArray("transcriptions", HMSDecoder.getTranscriptionsList(hmsRoom.transcriptions))
1968
+ }
1956
1969
  }
1957
1970
 
1958
1971
  return data
@@ -2591,4 +2604,52 @@ class HMSRNSDK(
2591
2604
  },
2592
2605
  )
2593
2606
  }
2607
+
2608
+ // region Webrtc Transcription
2609
+ fun handleRealTimeTranscription(
2610
+ data: ReadableMap,
2611
+ promise: Promise?,
2612
+ ) {
2613
+ when (data.getString("action")) {
2614
+ "start" -> startRealTimeTranscription(data, promise)
2615
+ "stop" -> stopRealTimeTranscription(data, promise)
2616
+ }
2617
+ }
2618
+
2619
+ private fun startRealTimeTranscription(
2620
+ data: ReadableMap,
2621
+ promise: Promise?,
2622
+ ) {
2623
+ hmsSDK?.startRealTimeTranscription(
2624
+ TranscriptionsMode.CAPTION,
2625
+ object : HMSActionResultListener {
2626
+ override fun onError(error: HMSException) {
2627
+ promise?.reject(error.code.toString(), error.message)
2628
+ }
2629
+
2630
+ override fun onSuccess() {
2631
+ promise?.resolve(true)
2632
+ }
2633
+ },
2634
+ )
2635
+ }
2636
+
2637
+ private fun stopRealTimeTranscription(
2638
+ data: ReadableMap,
2639
+ promise: Promise?,
2640
+ ) {
2641
+ hmsSDK?.stopRealTimeTranscription(
2642
+ TranscriptionsMode.CAPTION,
2643
+ object : HMSActionResultListener {
2644
+ override fun onError(error: HMSException) {
2645
+ promise?.reject(error.code.toString(), error.message)
2646
+ }
2647
+
2648
+ override fun onSuccess() {
2649
+ promise?.resolve(true)
2650
+ }
2651
+ },
2652
+ )
2653
+ }
2654
+ // endregion Webrtc Transcription
2594
2655
  }
@@ -14,30 +14,26 @@ import com.facebook.react.uimanager.annotations.ReactProp
14
14
  class HMSSDKViewManager : SimpleViewManager<HMSView>() {
15
15
  private var reactContext: ThemedReactContext? = null
16
16
 
17
- override fun getName(): String {
18
- return REACT_CLASS
19
- }
17
+ override fun getName(): String = REACT_CLASS
20
18
 
21
19
  public override fun createViewInstance(reactContext: ThemedReactContext): HMSView {
22
20
  this.reactContext = reactContext
23
21
  return HMSView(reactContext)
24
22
  }
25
23
 
26
- override fun getExportedCustomBubblingEventTypeConstants(): MutableMap<String, Any>? {
27
- return MapBuilder.builder<String, Any>()
24
+ override fun getExportedCustomBubblingEventTypeConstants(): MutableMap<String, Any>? =
25
+ MapBuilder
26
+ .builder<String, Any>()
28
27
  .put(
29
28
  "topChange",
30
29
  MapBuilder.of("phasedRegistrationNames", MapBuilder.of("bubbled", "onChange")),
31
- )
32
- .build()
33
- }
30
+ ).build()
34
31
 
35
- override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any>? {
36
- return MapBuilder.of(
32
+ override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any>? =
33
+ MapBuilder.of(
37
34
  "captureFrame",
38
35
  MapBuilder.of("registrationName", "onDataReturned"),
39
36
  )
40
- }
41
37
 
42
38
  @RequiresApi(Build.VERSION_CODES.N)
43
39
  override fun receiveCommand(
@@ -62,9 +58,7 @@ class HMSSDKViewManager : SimpleViewManager<HMSView>() {
62
58
  }
63
59
 
64
60
  @Nullable
65
- override fun getCommandsMap(): Map<String, Int>? {
66
- return MapBuilder.of("capture", 1)
67
- }
61
+ override fun getCommandsMap(): Map<String, Int>? = MapBuilder.of("capture", 1)
68
62
 
69
63
  @ReactProp(name = "data")
70
64
  fun setData(
@@ -105,9 +99,7 @@ class HMSSDKViewManager : SimpleViewManager<HMSView>() {
105
99
  data?.let { view.updateAutoSimulcast(it) }
106
100
  }
107
101
 
108
- private fun getHms(): MutableMap<String, HMSRNSDK>? {
109
- return reactContext?.getNativeModule(HMSManager::class.java)?.getHmsInstance()
110
- }
102
+ private fun getHms(): MutableMap<String, HMSRNSDK>? = reactContext?.getNativeModule(HMSManager::class.java)?.getHmsInstance()
111
103
 
112
104
  companion object {
113
105
  const val REACT_CLASS = "HMSView"
@@ -19,7 +19,9 @@ import live.hms.videoview.VideoViewStateChangeListener
19
19
  import org.webrtc.RendererCommon
20
20
 
21
21
  @SuppressLint("ViewConstructor")
22
- class HMSView(context: ReactContext) : FrameLayout(context) {
22
+ class HMSView(
23
+ context: ReactContext,
24
+ ) : FrameLayout(context) {
23
25
  private var hmsVideoView: HMSVideoView? = null
24
26
  private var videoTrack: HMSVideoTrack? = null
25
27
  private var sdkId: String = "12345"
@@ -88,9 +90,11 @@ class HMSView(context: ReactContext) : FrameLayout(context) {
88
90
  override fun onAttachedToWindow() {
89
91
  super.onAttachedToWindow()
90
92
 
91
- videoTrack?.let { // Safe Call Operator to check if videoTrack is not null
93
+ videoTrack?.let {
94
+ // Safe Call Operator to check if videoTrack is not null
92
95
  hmsVideoView?.addTrack(it) // add the videoTrack to the hmsVideoView
93
- } ?: run { // Elvis Operator to handle the case when videoTrack is null
96
+ } ?: run {
97
+ // Elvis Operator to handle the case when videoTrack is null
94
98
  Log.e(
95
99
  "HMSView",
96
100
  "HMSView attached to window, but it's videoTrack is null",
@@ -6,11 +6,8 @@ import com.facebook.react.bridge.ReactApplicationContext
6
6
  import com.facebook.react.uimanager.ViewManager
7
7
 
8
8
  class HmssdkPackage : ReactPackage {
9
- override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
10
- return listOf(HMSManager(reactContext))
11
- }
9
+ override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> = listOf(HMSManager(reactContext))
12
10
 
13
- override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
14
- return listOf<ViewManager<*, *>>(HMSSDKViewManager(), HMSHLSPlayerManager())
15
- }
11
+ override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> =
12
+ listOf<ViewManager<*, *>>(HMSSDKViewManager(), HMSHLSPlayerManager())
16
13
  }
@@ -23,8 +23,8 @@ import live.hms.video.whiteboard.State
23
23
 
24
24
  object HMSInteractivityDecoder {
25
25
  //region poll methods
26
- fun getPollUpdateType(hmsPollUpdateType: HMSPollUpdateType): Int {
27
- return when (hmsPollUpdateType) {
26
+ fun getPollUpdateType(hmsPollUpdateType: HMSPollUpdateType): Int =
27
+ when (hmsPollUpdateType) {
28
28
  HMSPollUpdateType.started -> 0
29
29
  HMSPollUpdateType.resultsupdated -> 1
30
30
  HMSPollUpdateType.stopped -> 2
@@ -32,7 +32,6 @@ object HMSInteractivityDecoder {
32
32
  0
33
33
  }
34
34
  }
35
- }
36
35
 
37
36
  fun getPoll(poll: HmsPoll): WritableMap {
38
37
  val data = Arguments.createMap()
@@ -79,17 +78,16 @@ object HMSInteractivityDecoder {
79
78
  return data
80
79
  }
81
80
 
82
- private fun getPollStateOrdinal(pollState: HmsPollState): Int {
83
- return when (pollState) {
81
+ private fun getPollStateOrdinal(pollState: HmsPollState): Int =
82
+ when (pollState) {
84
83
  HmsPollState.CREATED -> 0
85
84
  HmsPollState.STARTED -> 1
86
85
  HmsPollState.STOPPED -> 2
87
86
  else -> 0
88
87
  }
89
- }
90
88
 
91
- private fun getPollMode(poll: HmsPoll): Int {
92
- return when (poll.mode) {
89
+ private fun getPollMode(poll: HmsPoll): Int =
90
+ when (poll.mode) {
93
91
  HmsPollUserTrackingMode.PEER_ID -> 0
94
92
  HmsPollUserTrackingMode.USER_ID -> 1
95
93
  HmsPollUserTrackingMode.USERNAME -> 2
@@ -97,7 +95,6 @@ object HMSInteractivityDecoder {
97
95
  0
98
96
  }
99
97
  }
100
- }
101
98
 
102
99
  private fun getPollQuestions(questions: List<HMSPollQuestion>): WritableArray {
103
100
  val data = Arguments.createArray()
@@ -408,13 +405,15 @@ object HMSInteractivityDecoder {
408
405
  return data
409
406
  }
410
407
 
411
- enum class JSWhiteboardState(val label: String) {
408
+ enum class JSWhiteboardState(
409
+ val label: String,
410
+ ) {
412
411
  Start("STARTED"),
413
412
  Stop("STOPPED"),
414
413
  }
415
414
 
416
- private fun getWhiteboardState(hmsWhiteboardState: State): String {
417
- return when (hmsWhiteboardState) {
415
+ private fun getWhiteboardState(hmsWhiteboardState: State): String =
416
+ when (hmsWhiteboardState) {
418
417
  State.Started -> {
419
418
  JSWhiteboardState.Start.label
420
419
  }
@@ -422,10 +421,9 @@ object HMSInteractivityDecoder {
422
421
  JSWhiteboardState.Stop.label
423
422
  }
424
423
  }
425
- }
426
424
 
427
- fun getWhiteboardUpdateType(hmsWhiteboardUpdate: HMSWhiteboardUpdate): String {
428
- return when (hmsWhiteboardUpdate) {
425
+ fun getWhiteboardUpdateType(hmsWhiteboardUpdate: HMSWhiteboardUpdate): String =
426
+ when (hmsWhiteboardUpdate) {
429
427
  is HMSWhiteboardUpdate.Start -> {
430
428
  JSWhiteboardState.Start.label
431
429
  }
@@ -433,6 +431,5 @@ object HMSInteractivityDecoder {
433
431
  JSWhiteboardState.Stop.label
434
432
  }
435
433
  }
436
- }
437
434
  //endregion
438
435
  }
@@ -66,32 +66,29 @@ object HMSInteractivityHelper {
66
66
  // endregion
67
67
 
68
68
  // region Poll Builder Helpers
69
- private fun getQuestionType(type: Int): HMSPollQuestionType {
70
- return when (type) {
69
+ private fun getQuestionType(type: Int): HMSPollQuestionType =
70
+ when (type) {
71
71
  0 -> HMSPollQuestionType.singleChoice
72
72
  1 -> HMSPollQuestionType.multiChoice
73
73
  2 -> HMSPollQuestionType.shortAnswer
74
74
  3 -> HMSPollQuestionType.longAnswer
75
75
  else -> HMSPollQuestionType.singleChoice
76
76
  }
77
- }
78
77
 
79
- private fun getUserTrackingMode(data: ReadableMap): HmsPollUserTrackingMode {
80
- return when (data.getInt("mode")) {
78
+ private fun getUserTrackingMode(data: ReadableMap): HmsPollUserTrackingMode =
79
+ when (data.getInt("mode")) {
81
80
  0 -> HmsPollUserTrackingMode.PEER_ID
82
81
  1 -> HmsPollUserTrackingMode.USER_ID
83
82
  2 -> HmsPollUserTrackingMode.USERNAME
84
83
  else -> HmsPollUserTrackingMode.PEER_ID
85
84
  }
86
- }
87
85
 
88
- fun getPollCategory(data: ReadableMap): HmsPollCategory {
89
- return when (data.getInt("type")) {
86
+ fun getPollCategory(data: ReadableMap): HmsPollCategory =
87
+ when (data.getInt("type")) {
90
88
  0 -> HmsPollCategory.POLL
91
89
  1 -> HmsPollCategory.QUIZ
92
90
  else -> HmsPollCategory.POLL
93
91
  }
94
- }
95
92
 
96
93
  private fun getRolesThatCanViewResponses(
97
94
  data: ReadableMap,
@@ -134,7 +131,8 @@ object HMSInteractivityHelper {
134
131
 
135
132
  if (title != null && options != null) {
136
133
  val questionBuilder =
137
- HMSPollQuestionBuilder.Builder(HMSPollQuestionType.singleChoice)
134
+ HMSPollQuestionBuilder
135
+ .Builder(HMSPollQuestionType.singleChoice)
138
136
  .withTitle(title)
139
137
 
140
138
  for (i in 0 until options.size) {
@@ -155,7 +153,8 @@ object HMSInteractivityHelper {
155
153
 
156
154
  if (title != null && options != null) {
157
155
  val questionBuilder =
158
- HMSPollQuestionBuilder.Builder(HMSPollQuestionType.multiChoice)
156
+ HMSPollQuestionBuilder
157
+ .Builder(HMSPollQuestionType.multiChoice)
159
158
  .withTitle(title)
160
159
 
161
160
  for (i in 0 until options.size) {
@@ -175,7 +174,8 @@ object HMSInteractivityHelper {
175
174
 
176
175
  if (title != null) {
177
176
  val questionBuilder =
178
- HMSPollQuestionBuilder.Builder(HMSPollQuestionType.shortAnswer)
177
+ HMSPollQuestionBuilder
178
+ .Builder(HMSPollQuestionType.shortAnswer)
179
179
  .withTitle(title)
180
180
  pollBuilder.addQuestion(questionBuilder.build())
181
181
  }
@@ -191,7 +191,8 @@ object HMSInteractivityHelper {
191
191
 
192
192
  if (title != null) {
193
193
  val questionBuilder =
194
- HMSPollQuestionBuilder.Builder(HMSPollQuestionType.longAnswer)
194
+ HMSPollQuestionBuilder
195
+ .Builder(HMSPollQuestionType.longAnswer)
195
196
  .withTitle(title)
196
197
  pollBuilder.addQuestion(questionBuilder.build())
197
198
  }