@100mslive/react-native-hms 0.9.3 → 0.9.6
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/README.md +1 -2
- package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/reactnativehmssdk/{HmsDecoder.kt → HMSDecoder.kt} +38 -34
- package/android/src/main/java/com/reactnativehmssdk/{HmsHelper.kt → HMSHelper.kt} +113 -4
- package/android/src/main/java/com/reactnativehmssdk/{HmsModule.kt → HMSManager.kt} +51 -41
- package/android/src/main/java/com/reactnativehmssdk/{HmsSDK.kt → HMSRNSDK.kt} +170 -157
- package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +90 -0
- package/android/src/main/java/com/reactnativehmssdk/{HmsView.kt → HMSView.kt} +18 -3
- package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +17 -13
- package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +2 -2
- package/ios/{HmsDecoder.swift → HMSDecoder.swift} +26 -25
- package/ios/{HmsHelper.swift → HMSHelper.swift} +13 -7
- package/ios/{HmsManager.m → HMSManager.m} +2 -1
- package/ios/{HmsManager.swift → HMSManager.swift} +46 -38
- package/ios/{HmsSDK.swift → HMSRNSDK.swift} +127 -127
- package/ios/{HmsView.m → HMSView.m} +1 -1
- package/ios/{HmsView.swift → HMSView.swift} +9 -20
- package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +16 -7
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSException.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHelper.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js +6 -8
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +6 -8
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +19 -1
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +1 -1
- package/lib/commonjs/classes/HMSMessage.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js +6 -8
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js +6 -8
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRole.js.map +1 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js +3 -0
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomUpdate.js +1 -3
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +118 -235
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
- package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSource.js +15 -0
- package/lib/commonjs/classes/HMSTrackSource.js.map +1 -0
- package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +69 -17
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/index.js +14 -14
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSAudioCodec.js.map +1 -1
- package/lib/module/classes/HMSAudioSettings.js.map +1 -1
- package/lib/module/classes/HMSAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/module/classes/HMSCameraFacing.js.map +1 -1
- package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/module/classes/HMSConfig.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +6 -1
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSException.js.map +1 -1
- package/lib/module/classes/HMSHLSConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/module/classes/HMSHLSVariant.js.map +1 -1
- package/lib/module/classes/HMSHelper.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioTrack.js +6 -6
- package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +6 -6
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSLogLevel.js.map +1 -1
- package/lib/module/classes/HMSLogger.js +10 -0
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +1 -1
- package/lib/module/classes/HMSMessage.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSPublishSettings.js.map +1 -1
- package/lib/module/classes/HMSRTCStats.js.map +1 -1
- package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioTrack.js +6 -6
- package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSRemotePeer.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js +6 -6
- package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSRole.js.map +1 -1
- package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/module/classes/HMSRoom.js +3 -0
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomUpdate.js +1 -3
- package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +118 -235
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/module/classes/HMSSpeaker.js.map +1 -1
- package/lib/module/classes/HMSSpeakerUpdate.js.map +1 -1
- package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/module/classes/HMSTrack.js.map +1 -1
- package/lib/module/classes/HMSTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSTrackSource.js +8 -0
- package/lib/module/classes/HMSTrackSource.js.map +1 -0
- package/lib/module/classes/HMSTrackType.js.map +1 -1
- package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/module/classes/HMSVideoCodec.js.map +1 -1
- package/lib/module/classes/HMSVideoResolution.js.map +1 -1
- package/lib/module/classes/HMSVideoSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/module/classes/HmsView.js +67 -17
- package/lib/module/classes/HmsView.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
- package/lib/typescript/classes/HMSEncoder.d.ts +5 -1
- package/lib/typescript/classes/HMSLogger.d.ts +3 -0
- package/lib/typescript/classes/HMSRoom.d.ts +2 -0
- package/lib/typescript/classes/HMSRoomUpdate.d.ts +1 -3
- package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
- package/lib/typescript/classes/HMSSDK.d.ts +9 -11
- package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
- package/lib/typescript/classes/HMSTrackSource.d.ts +5 -0
- package/lib/typescript/classes/HmsView.d.ts +7 -7
- package/lib/typescript/index.d.ts +1 -1
- package/package.json +2 -2
- package/react-native-hms.podspec +2 -2
- package/src/classes/HMSBrowserRecordingState.ts +2 -2
- package/src/classes/HMSEncoder.ts +6 -9
- package/src/classes/HMSLocalAudioTrack.ts +6 -6
- package/src/classes/HMSLocalVideoTrack.ts +6 -6
- package/src/classes/HMSLogger.ts +11 -0
- package/src/classes/HMSMessage.ts +1 -1
- package/src/classes/HMSRemoteAudioTrack.ts +6 -6
- package/src/classes/HMSRemoteVideoTrack.ts +6 -6
- package/src/classes/HMSRoom.ts +3 -0
- package/src/classes/HMSRoomUpdate.ts +1 -3
- package/src/classes/HMSRtmpStreamingState.ts +2 -2
- package/src/classes/HMSSDK.tsx +57 -63
- package/src/classes/HMSServerRecordingState.ts +2 -2
- package/src/classes/HMSTrackSource.ts +5 -0
- package/src/classes/HmsView.tsx +102 -44
- package/src/index.ts +1 -1
- package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +0 -54
package/src/classes/HmsView.tsx
CHANGED
|
@@ -1,66 +1,124 @@
|
|
|
1
|
-
import React, { useState, useEffect } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import React, { useState, useEffect, useImperativeHandle, useRef } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
findNodeHandle,
|
|
4
|
+
requireNativeComponent,
|
|
5
|
+
StyleSheet,
|
|
6
|
+
UIManager,
|
|
7
|
+
ViewStyle,
|
|
8
|
+
} from 'react-native';
|
|
9
|
+
import { HMSVideoViewMode } from './HMSVideoViewMode';
|
|
4
10
|
|
|
5
11
|
interface HmsViewProps {
|
|
6
12
|
data: {
|
|
7
13
|
trackId: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
mirror?: boolean;
|
|
14
|
+
id: string;
|
|
15
|
+
mirror: boolean;
|
|
11
16
|
};
|
|
17
|
+
setZOrderMediaOverlay: boolean;
|
|
12
18
|
scaleType: HMSVideoViewMode;
|
|
13
19
|
style: ViewStyle;
|
|
14
20
|
onChange: Function;
|
|
21
|
+
onDataReturned: Function;
|
|
15
22
|
}
|
|
16
23
|
|
|
17
|
-
const
|
|
24
|
+
const HmsView = requireNativeComponent<HmsViewProps>('HMSView');
|
|
25
|
+
let _nextRequestId = 1;
|
|
26
|
+
let _requestMap = new Map();
|
|
18
27
|
|
|
19
28
|
interface HmsComponentProps {
|
|
20
29
|
trackId: string;
|
|
21
|
-
|
|
22
|
-
style: ViewStyle;
|
|
30
|
+
style?: ViewStyle;
|
|
23
31
|
mirror?: boolean;
|
|
24
|
-
scaleType
|
|
25
|
-
|
|
32
|
+
scaleType?: HMSVideoViewMode;
|
|
33
|
+
setZOrderMediaOverlay?: boolean;
|
|
34
|
+
id: string;
|
|
26
35
|
}
|
|
27
36
|
|
|
28
|
-
export const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
trackId,
|
|
39
|
-
sink,
|
|
40
|
-
id: id || null,
|
|
41
|
-
mirror: mirror || false,
|
|
42
|
-
};
|
|
37
|
+
export const HmsViewComponent = React.forwardRef<any, HmsComponentProps>(
|
|
38
|
+
(props, ref) => {
|
|
39
|
+
const {
|
|
40
|
+
trackId,
|
|
41
|
+
style = temporaryStyles.customStyle,
|
|
42
|
+
id = '12345',
|
|
43
|
+
mirror = false,
|
|
44
|
+
setZOrderMediaOverlay = false,
|
|
45
|
+
scaleType = HMSVideoViewMode.ASPECT_FILL,
|
|
46
|
+
} = props;
|
|
43
47
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
const hmsViewRef: any = useRef();
|
|
49
|
+
const [tempVal, setTempVal] = useState(0);
|
|
50
|
+
const data = {
|
|
51
|
+
trackId,
|
|
52
|
+
id,
|
|
53
|
+
mirror,
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const onChange = (values: any) => {
|
|
57
|
+
console.log(values, 'values');
|
|
58
|
+
setTimeout(() => {
|
|
59
|
+
setTempVal(1);
|
|
60
|
+
}, 2000);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const _onDataReturned = (event: {
|
|
64
|
+
nativeEvent: { requestId: any; result: any; error: any };
|
|
65
|
+
}) => {
|
|
66
|
+
// We grab the relevant data out of our event.
|
|
67
|
+
let { requestId, result, error } = event.nativeEvent;
|
|
68
|
+
// Then we get the promise we saved earlier for the given request ID.
|
|
69
|
+
let promise = _requestMap.get(requestId);
|
|
70
|
+
if (result) {
|
|
71
|
+
// If it was successful, we resolve the promise.
|
|
72
|
+
promise.resolve(result);
|
|
73
|
+
} else {
|
|
74
|
+
// Otherwise, we reject it.
|
|
75
|
+
promise.reject(error);
|
|
76
|
+
}
|
|
77
|
+
// Finally, we clean up our request map.
|
|
78
|
+
_requestMap.delete(requestId);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const capture = async () => {
|
|
82
|
+
let requestId = _nextRequestId++;
|
|
83
|
+
let requestMap = _requestMap;
|
|
84
|
+
|
|
85
|
+
// We create a promise here that will be resolved once `_onRequestDone` is
|
|
86
|
+
// called.
|
|
87
|
+
let promise = new Promise(function (resolve, reject) {
|
|
88
|
+
requestMap.set(requestId, { resolve, reject });
|
|
89
|
+
});
|
|
90
|
+
const viewManagerConfig = UIManager.getViewManagerConfig('HMSView');
|
|
91
|
+
UIManager.dispatchViewManagerCommand(
|
|
92
|
+
findNodeHandle(hmsViewRef.current),
|
|
93
|
+
viewManagerConfig.Commands.capture,
|
|
94
|
+
[requestId]
|
|
95
|
+
);
|
|
96
|
+
return promise;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
useImperativeHandle(ref, () => {
|
|
100
|
+
return {
|
|
101
|
+
capture,
|
|
102
|
+
};
|
|
103
|
+
});
|
|
50
104
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
setTempVal(0);
|
|
107
|
+
}, [tempVal]);
|
|
54
108
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
109
|
+
return (
|
|
110
|
+
<HmsView
|
|
111
|
+
ref={hmsViewRef}
|
|
112
|
+
onChange={onChange}
|
|
113
|
+
data={data}
|
|
114
|
+
style={tempVal === 0 ? style : temporaryStyles.customStyle}
|
|
115
|
+
scaleType={scaleType}
|
|
116
|
+
setZOrderMediaOverlay={setZOrderMediaOverlay}
|
|
117
|
+
onDataReturned={_onDataReturned}
|
|
118
|
+
/>
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
);
|
|
64
122
|
|
|
65
123
|
const temporaryStyles = StyleSheet.create({
|
|
66
124
|
customStyle: {
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './classes/HMSConfig';
|
|
2
2
|
export * from './classes/HMSUpdateListenerActions';
|
|
3
3
|
export * from './classes/HMSMessage';
|
|
4
|
-
export * from './classes/HmsView';
|
|
5
4
|
export * from './classes/HMSVideoTrackSettings';
|
|
6
5
|
export * from './classes/HMSVideoTrack';
|
|
7
6
|
export * from './classes/HMSVideoSettings';
|
|
@@ -9,6 +8,7 @@ export * from './classes/HMSVideoCodec';
|
|
|
9
8
|
export * from './classes/HMSTrackSettings';
|
|
10
9
|
export * from './classes/HMSTrack';
|
|
11
10
|
export * from './classes/HMSTrackType';
|
|
11
|
+
export * from './classes/HMSTrackSource';
|
|
12
12
|
export * from './classes/HMSSubscribeSettings';
|
|
13
13
|
export * from './classes/HMSSimulcastSettings';
|
|
14
14
|
export * from './classes/HMSSimulcastLayerSettings';
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
package com.reactnativehmssdk
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap
|
|
4
|
-
import com.facebook.react.common.MapBuilder
|
|
5
|
-
import com.facebook.react.uimanager.SimpleViewManager
|
|
6
|
-
import com.facebook.react.uimanager.ThemedReactContext
|
|
7
|
-
import com.facebook.react.uimanager.annotations.ReactProp
|
|
8
|
-
|
|
9
|
-
class HmssdkViewManager : SimpleViewManager<HmsView>() {
|
|
10
|
-
|
|
11
|
-
private var reactContext: ThemedReactContext? = null
|
|
12
|
-
|
|
13
|
-
override fun getName(): String {
|
|
14
|
-
return REACT_CLASS
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
public override fun createViewInstance(reactContext: ThemedReactContext): HmsView {
|
|
18
|
-
this.reactContext = reactContext
|
|
19
|
-
return HmsView(reactContext)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
override fun getExportedCustomBubblingEventTypeConstants(): MutableMap<String, Any>? {
|
|
23
|
-
return MapBuilder.builder<String, Any>()
|
|
24
|
-
.put(
|
|
25
|
-
"topChange",
|
|
26
|
-
MapBuilder.of("phasedRegistrationNames", MapBuilder.of("bubbled", "onChange"))
|
|
27
|
-
)
|
|
28
|
-
.build()
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@ReactProp(name = "data")
|
|
32
|
-
fun setData(view: HmsView, data: ReadableMap) {
|
|
33
|
-
val trackId = data.getString("trackId")
|
|
34
|
-
val id = data.getString("id")
|
|
35
|
-
val mirror = data.getBoolean("mirror")
|
|
36
|
-
val hmsCollection = getHms()
|
|
37
|
-
if (hmsCollection != null) {
|
|
38
|
-
view.setData(id, trackId, hmsCollection, mirror)
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@ReactProp(name = "scaleType")
|
|
43
|
-
fun setScaleType(view: HmsView, data: String?) {
|
|
44
|
-
view.updateScaleType(data)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
private fun getHms(): MutableMap<String, HmsSDK>? {
|
|
48
|
-
return reactContext?.getNativeModule(HmsModule::class.java)?.getHmsInstance()
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
companion object {
|
|
52
|
-
const val REACT_CLASS = "HmsView"
|
|
53
|
-
}
|
|
54
|
-
}
|