@100mslive/react-native-hms 1.10.6 → 1.10.8
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.
- package/android/build.gradle +0 -5
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +90 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +14 -3
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +4 -6
- package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +2 -3
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +54 -15
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +64 -3
- package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +9 -17
- package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +7 -3
- package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +3 -6
- package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityDecoder.kt +13 -16
- package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityHelper.kt +14 -13
- package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSRNInteractivityCenter.kt +19 -4
- package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +10 -2
- package/ios/HMSConstants.swift +2 -0
- package/ios/HMSDecoder.swift +75 -0
- package/ios/HMSManager.m +45 -0
- package/ios/HMSManager.swift +126 -1
- package/ios/HMSRNSDK.swift +335 -1
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Hmssdk.xcodeproj/xcuserdata/yogesh.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/ios/PIPMode/HMSPipModel.swift +18 -0
- package/ios/PIPMode/HMSPipView.swift +36 -0
- package/ios/PIPMode/HMSSampleBufferSwiftUIView.swift +45 -0
- package/lib/commonjs/classes/HMSAudioMixerSource.js +1 -1
- package/lib/commonjs/classes/HMSAudioNode.js +1 -1
- package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioSettings.js +1 -1
- package/lib/commonjs/classes/HMSAudioTrackSettings.js +1 -1
- package/lib/commonjs/classes/HMSBrowserRecordingState.js +1 -1
- package/lib/commonjs/classes/HMSCameraControl.js +1 -1
- package/lib/commonjs/classes/HMSCameraControl.js.map +1 -1
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +1 -1
- package/lib/commonjs/classes/HMSConfig.js +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +32 -2
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSException.js +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js +1 -1
- package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingState.js +1 -1
- package/lib/commonjs/classes/HMSHLSStreamingState.js +1 -1
- package/lib/commonjs/classes/HMSHLSVariant.js +1 -1
- package/lib/commonjs/classes/HMSInteractivityCenter.js +2 -2
- package/lib/commonjs/classes/HMSInteractivityCenter.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioStats.js +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoStats.js +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLogSettings.js +1 -1
- package/lib/commonjs/classes/HMSLogger.js +1 -1
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js +1 -1
- package/lib/commonjs/classes/HMSNativeEventEmitter.js +1 -1
- package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -1
- package/lib/commonjs/classes/HMSNativeEventListener.js +1 -1
- package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
- package/lib/commonjs/classes/HMSNetworkQuality.js +1 -1
- package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js +2 -2
- package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js.map +1 -1
- package/lib/commonjs/classes/HMSPIPConfig.js +4 -0
- package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSPeer.js +20 -3
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerListIterator.js +2 -2
- package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -1
- package/lib/commonjs/classes/HMSPeersCache.js +2 -2
- package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
- package/lib/commonjs/classes/HMSPermissions.js +3 -1
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSPublishSettings.js +1 -1
- package/lib/commonjs/classes/HMSQualityLimitationReasons.js +1 -1
- package/lib/commonjs/classes/HMSRTCStats.js +1 -1
- package/lib/commonjs/classes/HMSRTCStatsReport.js +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioStats.js +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoStats.js +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRole.js +1 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js +1 -1
- package/lib/commonjs/classes/HMSRoom.js +8 -1
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomCache.js +9 -2
- package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomUpdate.js +1 -0
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js +1 -1
- package/lib/commonjs/classes/HMSRtmpVideoResolution.js +1 -1
- package/lib/commonjs/classes/HMSSDK.js +105 -12
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js +1 -1
- package/lib/commonjs/classes/HMSSessionStore.js +2 -2
- package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerDefinition.js +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerSettings.js +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerSettingsPolicy.js +1 -1
- package/lib/commonjs/classes/HMSSimulcastSettings.js +1 -1
- package/lib/commonjs/classes/HMSSimulcastSettingsPolicy.js +1 -1
- package/lib/commonjs/classes/HMSSpeaker.js +1 -1
- package/lib/commonjs/classes/HMSSubscribeDegradationPolicy.js +1 -1
- package/lib/commonjs/classes/HMSSubscribeSettings.js +1 -1
- package/lib/commonjs/classes/HMSTrack.js +1 -1
- package/lib/commonjs/classes/HMSTrackSettings.js +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js +1 -0
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoResolution.js +1 -1
- package/lib/commonjs/classes/HMSVideoSettings.js +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js +1 -1
- package/lib/commonjs/classes/transcriptions/HMSTranscript.js +6 -0
- package/lib/commonjs/classes/transcriptions/HMSTranscript.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js +2 -0
- package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/TranscriptionState.js +14 -0
- package/lib/commonjs/classes/transcriptions/TranscriptionState.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/Transcriptions.js +6 -0
- package/lib/commonjs/classes/transcriptions/Transcriptions.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js +12 -0
- package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js.map +1 -0
- package/lib/commonjs/classes/transcriptions/index.js +61 -0
- package/lib/commonjs/classes/transcriptions/index.js.map +1 -0
- package/lib/commonjs/classes/whiteboard/registerCallbacks.js +1 -1
- package/lib/commonjs/classes/whiteboard/registerCallbacks.js.map +1 -1
- package/lib/commonjs/hooks/useHMSPeerUpdates.js +1 -1
- package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
- package/lib/commonjs/index.js +13 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/HMSManagerModule.js.map +1 -1
- package/lib/commonjs/utils/emitter/EventEmitter.js +1 -1
- package/lib/commonjs/utils/emitter/EventEmitter.js.map +1 -1
- package/lib/commonjs/utils/emitter/_EmitterSubscription.js +1 -1
- package/lib/commonjs/utils/emitter/_EmitterSubscription.js.map +1 -1
- package/lib/commonjs/utils/emitter/_EventSubscription.js +1 -1
- package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js +1 -1
- package/lib/commonjs/utils/keyboard.js +1 -1
- package/lib/commonjs/utils/keyboard.js.map +1 -1
- package/lib/commonjs/utils/notification.js +1 -1
- package/lib/commonjs/utils/notification.js.map +1 -1
- package/lib/commonjs/utils/windowController.js +1 -1
- package/lib/commonjs/utils/windowController.js.map +1 -1
- package/lib/module/classes/HMSAudioMixerSource.js +1 -1
- package/lib/module/classes/HMSAudioNode.js +1 -1
- package/lib/module/classes/HMSAudioSettings.js +1 -1
- package/lib/module/classes/HMSAudioTrackSettings.js +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js +1 -1
- package/lib/module/classes/HMSChangeTrackStateRequest.js +1 -1
- package/lib/module/classes/HMSConfig.js +1 -1
- package/lib/module/classes/HMSEncoder.js +31 -1
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSException.js +1 -1
- package/lib/module/classes/HMSHLSConfig.js +1 -1
- package/lib/module/classes/HMSHLSMeetingURLVariant.js +1 -1
- package/lib/module/classes/HMSHLSRecordingConfig.js +1 -1
- package/lib/module/classes/HMSHLSRecordingState.js +1 -1
- package/lib/module/classes/HMSHLSStreamingState.js +1 -1
- package/lib/module/classes/HMSHLSVariant.js +1 -1
- package/lib/module/classes/HMSInteractivityCenter.js +1 -1
- package/lib/module/classes/HMSLocalAudioStats.js +1 -1
- package/lib/module/classes/HMSLocalAudioTrack.js +1 -1
- package/lib/module/classes/HMSLocalPeer.js +1 -1
- package/lib/module/classes/HMSLocalVideoStats.js +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +1 -1
- package/lib/module/classes/HMSLogSettings.js +1 -1
- package/lib/module/classes/HMSLogger.js +1 -1
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +1 -1
- package/lib/module/classes/HMSMessageRecipient.js +1 -1
- package/lib/module/classes/HMSNativeEventEmitter.js +1 -1
- package/lib/module/classes/HMSNetworkQuality.js +1 -1
- package/lib/module/classes/HMSNoiseCancellationPlugin.js +1 -1
- package/lib/module/classes/HMSPIPConfig.js +1 -1
- package/lib/module/classes/HMSPIPConfig.js.map +1 -1
- package/lib/module/classes/HMSPeer.js +20 -3
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerListIterator.js +1 -1
- package/lib/module/classes/HMSPeersCache.js +1 -1
- package/lib/module/classes/HMSPermissions.js +3 -1
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSPublishSettings.js +1 -1
- package/lib/module/classes/HMSQualityLimitationReasons.js +1 -1
- package/lib/module/classes/HMSRTCStats.js +1 -1
- package/lib/module/classes/HMSRTCStatsReport.js +1 -1
- package/lib/module/classes/HMSRTMPConfig.js +1 -1
- package/lib/module/classes/HMSRemoteAudioStats.js +1 -1
- package/lib/module/classes/HMSRemoteAudioTrack.js +1 -1
- package/lib/module/classes/HMSRemotePeer.js +1 -1
- package/lib/module/classes/HMSRemoteVideoStats.js +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js +1 -1
- package/lib/module/classes/HMSRole.js +1 -1
- package/lib/module/classes/HMSRoleChangeRequest.js +1 -1
- package/lib/module/classes/HMSRoom.js +8 -1
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomCache.js +8 -1
- package/lib/module/classes/HMSRoomCache.js.map +1 -1
- package/lib/module/classes/HMSRoomUpdate.js +1 -0
- package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js +1 -1
- package/lib/module/classes/HMSRtmpVideoResolution.js +1 -1
- package/lib/module/classes/HMSSDK.js +104 -11
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js +1 -1
- package/lib/module/classes/HMSSessionStore.js +1 -1
- package/lib/module/classes/HMSSimulcastLayerDefinition.js +1 -1
- package/lib/module/classes/HMSSimulcastLayerSettings.js +1 -1
- package/lib/module/classes/HMSSimulcastLayerSettingsPolicy.js +1 -1
- package/lib/module/classes/HMSSimulcastSettings.js +1 -1
- package/lib/module/classes/HMSSimulcastSettingsPolicy.js +1 -1
- package/lib/module/classes/HMSSpeaker.js +1 -1
- package/lib/module/classes/HMSSubscribeDegradationPolicy.js +1 -1
- package/lib/module/classes/HMSSubscribeSettings.js +1 -1
- package/lib/module/classes/HMSTrack.js +1 -1
- package/lib/module/classes/HMSTrackSettings.js +1 -1
- package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
- package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/module/classes/HMSVideoResolution.js +1 -1
- package/lib/module/classes/HMSVideoSettings.js +1 -1
- package/lib/module/classes/HMSVideoTrack.js +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js +1 -1
- package/lib/module/classes/transcriptions/HMSTranscript.js +2 -0
- package/lib/module/classes/transcriptions/HMSTranscript.js.map +1 -0
- package/lib/module/classes/transcriptions/OnTranscriptionError.js +2 -0
- package/lib/module/classes/transcriptions/OnTranscriptionError.js.map +1 -0
- package/lib/module/classes/transcriptions/TranscriptionState.js +8 -0
- package/lib/module/classes/transcriptions/TranscriptionState.js.map +1 -0
- package/lib/module/classes/transcriptions/Transcriptions.js +2 -0
- package/lib/module/classes/transcriptions/Transcriptions.js.map +1 -0
- package/lib/module/classes/transcriptions/TranscriptionsMode.js +6 -0
- package/lib/module/classes/transcriptions/TranscriptionsMode.js.map +1 -0
- package/lib/module/classes/transcriptions/index.js +6 -0
- package/lib/module/classes/transcriptions/index.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/HMSManagerModule.js.map +1 -1
- package/lib/module/utils/emitter/EventEmitter.js +1 -1
- package/lib/module/utils/emitter/_EmitterSubscription.js +1 -1
- package/lib/module/utils/emitter/_EventSubscription.js +1 -1
- package/lib/module/utils/emitter/_EventSubscriptionVendor.js +1 -1
- package/lib/typescript/classes/HMSEncoder.d.ts +3 -0
- package/lib/typescript/classes/HMSPIPConfig.d.ts +3 -0
- package/lib/typescript/classes/HMSPeer.d.ts +3 -1
- package/lib/typescript/classes/HMSPermissions.d.ts +7 -0
- package/lib/typescript/classes/HMSRoom.d.ts +2 -0
- package/lib/typescript/classes/HMSRoomUpdate.d.ts +2 -1
- package/lib/typescript/classes/HMSSDK.d.ts +7 -0
- package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
- package/lib/typescript/classes/transcriptions/HMSTranscript.d.ts +8 -0
- package/lib/typescript/classes/transcriptions/OnTranscriptionError.d.ts +4 -0
- package/lib/typescript/classes/transcriptions/TranscriptionState.d.ts +6 -0
- package/lib/typescript/classes/transcriptions/Transcriptions.d.ts +12 -0
- package/lib/typescript/classes/transcriptions/TranscriptionsMode.d.ts +4 -0
- package/lib/typescript/classes/transcriptions/index.d.ts +5 -0
- package/lib/typescript/index.d.ts +1 -0
- package/package.json +1 -1
- package/sdk-versions.json +2 -2
- package/src/classes/HMSEncoder.ts +35 -0
- package/src/classes/HMSPIPConfig.ts +30 -0
- package/src/classes/HMSPeer.ts +29 -2
- package/src/classes/HMSPermissions.ts +10 -0
- package/src/classes/HMSRoom.ts +14 -0
- package/src/classes/HMSRoomCache.ts +9 -0
- package/src/classes/HMSRoomUpdate.ts +1 -0
- package/src/classes/HMSSDK.tsx +121 -21
- package/src/classes/HMSUpdateListenerActions.ts +1 -0
- package/src/classes/transcriptions/HMSTranscript.ts +13 -0
- package/src/classes/transcriptions/OnTranscriptionError.ts +5 -0
- package/src/classes/transcriptions/TranscriptionState.ts +6 -0
- package/src/classes/transcriptions/Transcriptions.ts +19 -0
- package/src/classes/transcriptions/TranscriptionsMode.ts +4 -0
- package/src/classes/transcriptions/index.ts +5 -0
- package/src/index.ts +2 -0
package/android/build.gradle
CHANGED
|
@@ -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(
|
|
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 =
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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>?,
|
|
@@ -21,11 +21,14 @@ import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
|
21
21
|
import com.reactnativehmssdk.HMSManager.Companion.REACT_CLASS
|
|
22
22
|
import live.hms.video.error.HMSException
|
|
23
23
|
import live.hms.video.factories.noisecancellation.AvailabilityStatus
|
|
24
|
+
import live.hms.video.sdk.HMSActionResultListener
|
|
24
25
|
import java.util.UUID
|
|
25
26
|
|
|
26
27
|
@ReactModule(name = REACT_CLASS)
|
|
27
|
-
class HMSManager(
|
|
28
|
-
|
|
28
|
+
class HMSManager(
|
|
29
|
+
reactContext: ReactApplicationContext,
|
|
30
|
+
) : ReactContextBaseJavaModule(reactContext),
|
|
31
|
+
Application.ActivityLifecycleCallbacks {
|
|
29
32
|
companion object {
|
|
30
33
|
const val REACT_CLASS = "HMSManager"
|
|
31
34
|
var hmsCollection = mutableMapOf<String, HMSRNSDK>()
|
|
@@ -78,13 +81,9 @@ class HMSManager(reactContext: ReactApplicationContext) :
|
|
|
78
81
|
}
|
|
79
82
|
}
|
|
80
83
|
|
|
81
|
-
override fun getName(): String
|
|
82
|
-
return "HMSManager"
|
|
83
|
-
}
|
|
84
|
+
override fun getName(): String = "HMSManager"
|
|
84
85
|
|
|
85
|
-
fun getHmsInstance(): MutableMap<String, HMSRNSDK>
|
|
86
|
-
return hmsCollection
|
|
87
|
-
}
|
|
86
|
+
fun getHmsInstance(): MutableMap<String, HMSRNSDK> = hmsCollection
|
|
88
87
|
|
|
89
88
|
private fun setupPip() {
|
|
90
89
|
if (emitter == null) {
|
|
@@ -957,7 +956,8 @@ class HMSManager(reactContext: ReactApplicationContext) :
|
|
|
957
956
|
if (config.showEndButton) {
|
|
958
957
|
pipRemoteActionsList.add(
|
|
959
958
|
android.app.RemoteAction(
|
|
960
|
-
android.graphics.drawable.Icon
|
|
959
|
+
android.graphics.drawable.Icon
|
|
960
|
+
.createWithResource(reactApplicationContext, R.drawable.ic_call_end_24),
|
|
961
961
|
PipActionReceiver.PIPActions.endMeet.title,
|
|
962
962
|
PipActionReceiver.PIPActions.endMeet.description,
|
|
963
963
|
PendingIntent.getBroadcast(
|
|
@@ -1518,8 +1518,19 @@ class HMSManager(reactContext: ReactApplicationContext) :
|
|
|
1518
1518
|
)
|
|
1519
1519
|
return
|
|
1520
1520
|
}
|
|
1521
|
-
|
|
1522
|
-
|
|
1521
|
+
|
|
1522
|
+
hmsSdk.enableNoiseCancellation(
|
|
1523
|
+
true,
|
|
1524
|
+
object : HMSActionResultListener {
|
|
1525
|
+
override fun onError(error: HMSException) {
|
|
1526
|
+
promise?.reject(error.code.toString(), error.message)
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1529
|
+
override fun onSuccess() {
|
|
1530
|
+
promise?.resolve(true)
|
|
1531
|
+
}
|
|
1532
|
+
},
|
|
1533
|
+
)
|
|
1523
1534
|
}
|
|
1524
1535
|
|
|
1525
1536
|
@ReactMethod
|
|
@@ -1543,8 +1554,18 @@ class HMSManager(reactContext: ReactApplicationContext) :
|
|
|
1543
1554
|
)
|
|
1544
1555
|
return
|
|
1545
1556
|
}
|
|
1546
|
-
hmsSdk.
|
|
1547
|
-
|
|
1557
|
+
hmsSdk.enableNoiseCancellation(
|
|
1558
|
+
false,
|
|
1559
|
+
object : HMSActionResultListener {
|
|
1560
|
+
override fun onError(error: HMSException) {
|
|
1561
|
+
promise?.reject(error.code.toString(), error.message)
|
|
1562
|
+
}
|
|
1563
|
+
|
|
1564
|
+
override fun onSuccess() {
|
|
1565
|
+
promise?.resolve(true)
|
|
1566
|
+
}
|
|
1567
|
+
},
|
|
1568
|
+
)
|
|
1548
1569
|
}
|
|
1549
1570
|
|
|
1550
1571
|
@ReactMethod
|
|
@@ -1568,7 +1589,7 @@ class HMSManager(reactContext: ReactApplicationContext) :
|
|
|
1568
1589
|
)
|
|
1569
1590
|
return
|
|
1570
1591
|
}
|
|
1571
|
-
val isEnabled = hmsSdk.
|
|
1592
|
+
val isEnabled = hmsSdk.isNoiseCancellationEnabled()
|
|
1572
1593
|
promise?.resolve(isEnabled)
|
|
1573
1594
|
}
|
|
1574
1595
|
|
|
@@ -1594,7 +1615,7 @@ class HMSManager(reactContext: ReactApplicationContext) :
|
|
|
1594
1615
|
return
|
|
1595
1616
|
}
|
|
1596
1617
|
|
|
1597
|
-
val availability: AvailabilityStatus = hmsSdk.
|
|
1618
|
+
val availability: AvailabilityStatus = hmsSdk.isNoiseCancellationSupported()
|
|
1598
1619
|
val isAvailable =
|
|
1599
1620
|
if (availability == AvailabilityStatus.Available) {
|
|
1600
1621
|
true
|
|
@@ -1607,6 +1628,24 @@ class HMSManager(reactContext: ReactApplicationContext) :
|
|
|
1607
1628
|
}
|
|
1608
1629
|
// endregion
|
|
1609
1630
|
|
|
1631
|
+
// region Webrtc Transcriptions
|
|
1632
|
+
@ReactMethod
|
|
1633
|
+
fun handleRealTimeTranscription(
|
|
1634
|
+
data: ReadableMap,
|
|
1635
|
+
promise: Promise?,
|
|
1636
|
+
) {
|
|
1637
|
+
val rnSDK =
|
|
1638
|
+
HMSHelper.getHms(data, hmsCollection) ?: run {
|
|
1639
|
+
promise?.reject(
|
|
1640
|
+
"6004",
|
|
1641
|
+
"RN HMS SDK not initialized",
|
|
1642
|
+
)
|
|
1643
|
+
return
|
|
1644
|
+
}
|
|
1645
|
+
rnSDK.handleRealTimeTranscription(data, promise)
|
|
1646
|
+
}
|
|
1647
|
+
// endregion
|
|
1648
|
+
|
|
1610
1649
|
// region Warning on JS side
|
|
1611
1650
|
@ReactMethod
|
|
1612
1651
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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 {
|
|
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 {
|
|
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
|
-
|
|
15
|
-
}
|
|
11
|
+
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> =
|
|
12
|
+
listOf<ViewManager<*, *>>(HMSSDKViewManager(), HMSHLSPlayerManager())
|
|
16
13
|
}
|
package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityDecoder.kt
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|