@100mslive/react-native-room-kit 1.0.5 → 1.0.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/lib/commonjs/HMSRoomSetup.js +1 -0
- package/lib/commonjs/HMSRoomSetup.js.map +1 -1
- package/lib/commonjs/components/AvatarView.js +0 -1
- package/lib/commonjs/components/AvatarView.js.map +1 -1
- package/lib/commonjs/components/BottomSheet.js +13 -3
- package/lib/commonjs/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatBanner.js +10 -3
- package/lib/commonjs/components/Chat/ChatBanner.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js +5 -1
- package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js.map +1 -1
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js +4 -1
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
- package/lib/commonjs/components/DefaultModal.js +9 -1
- package/lib/commonjs/components/DefaultModal.js.map +1 -1
- package/lib/commonjs/components/Footer.js +14 -4
- package/lib/commonjs/components/Footer.js.map +1 -1
- package/lib/commonjs/components/GridView.js +23 -9
- package/lib/commonjs/components/GridView.js.map +1 -1
- package/lib/commonjs/components/HMSHLSMessageList.js +5 -2
- package/lib/commonjs/components/HMSHLSMessageList.js.map +1 -1
- package/lib/commonjs/components/HMSKeyboardAvoidingView.android.js +42 -0
- package/lib/commonjs/components/HMSKeyboardAvoidingView.android.js.map +1 -0
- package/lib/commonjs/components/HMSManageAudioOutput.js +0 -1
- package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
- package/lib/commonjs/components/HMSNotifications.js +9 -1
- package/lib/commonjs/components/HMSNotifications.js.map +1 -1
- package/lib/commonjs/components/HMSRecordingIndicator.js +5 -4
- package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -1
- package/lib/commonjs/components/HMSTextInput.js +2 -3
- package/lib/commonjs/components/HMSTextInput.js.map +1 -1
- package/lib/commonjs/components/MeetingScreenContent.js +3 -1
- package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
- package/lib/commonjs/components/MiniView.js +12 -13
- package/lib/commonjs/components/MiniView.js.map +1 -1
- package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js +1 -0
- package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +0 -1
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/VideoView.js +0 -1
- package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -1
- package/lib/commonjs/components/Preview.js +2 -1
- package/lib/commonjs/components/Preview.js.map +1 -1
- package/lib/commonjs/components/TilesContainer.js +3 -3
- package/lib/commonjs/components/TilesContainer.js.map +1 -1
- package/lib/commonjs/hooks-util.js +20 -3
- package/lib/commonjs/hooks-util.js.map +1 -1
- package/lib/commonjs/utils/theme.js +0 -1
- package/lib/commonjs/utils/theme.js.map +1 -1
- package/lib/commonjs/utils.js +0 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/HMSRoomSetup.js +2 -1
- package/lib/module/HMSRoomSetup.js.map +1 -1
- package/lib/module/components/AvatarView.js +0 -1
- package/lib/module/components/AvatarView.js.map +1 -1
- package/lib/module/components/BottomSheet.js +13 -3
- package/lib/module/components/BottomSheet.js.map +1 -1
- package/lib/module/components/Chat/ChatBanner.js +10 -3
- package/lib/module/components/Chat/ChatBanner.js.map +1 -1
- package/lib/module/components/Chat/ChatFilterBottomSheetView.js +5 -1
- package/lib/module/components/Chat/ChatFilterBottomSheetView.js.map +1 -1
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js +4 -1
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
- package/lib/module/components/DefaultModal.js +9 -1
- package/lib/module/components/DefaultModal.js.map +1 -1
- package/lib/module/components/Footer.js +14 -5
- package/lib/module/components/Footer.js.map +1 -1
- package/lib/module/components/GridView.js +24 -10
- package/lib/module/components/GridView.js.map +1 -1
- package/lib/module/components/HMSHLSMessageList.js +5 -2
- package/lib/module/components/HMSHLSMessageList.js.map +1 -1
- package/lib/module/components/HMSKeyboardAvoidingView.android.js +34 -0
- package/lib/module/components/HMSKeyboardAvoidingView.android.js.map +1 -0
- package/lib/module/components/HMSManageAudioOutput.js +0 -1
- package/lib/module/components/HMSManageAudioOutput.js.map +1 -1
- package/lib/module/components/HMSNotifications.js +9 -2
- package/lib/module/components/HMSNotifications.js.map +1 -1
- package/lib/module/components/HMSRecordingIndicator.js +5 -4
- package/lib/module/components/HMSRecordingIndicator.js.map +1 -1
- package/lib/module/components/HMSTextInput.js +2 -3
- package/lib/module/components/HMSTextInput.js.map +1 -1
- package/lib/module/components/LeaveRoomBottomSheet.js +1 -0
- package/lib/module/components/LeaveRoomBottomSheet.js.map +1 -1
- package/lib/module/components/MeetingScreenContent.js +3 -1
- package/lib/module/components/MeetingScreenContent.js.map +1 -1
- package/lib/module/components/MiniView.js +12 -13
- package/lib/module/components/MiniView.js.map +1 -1
- package/lib/module/components/Participants/ParticipantsGroupHeader.js +1 -0
- package/lib/module/components/Participants/ParticipantsGroupHeader.js.map +1 -1
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js +0 -1
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
- package/lib/module/components/PeerVideoTile/VideoView.js +0 -1
- package/lib/module/components/PeerVideoTile/VideoView.js.map +1 -1
- package/lib/module/components/Preview.js +2 -1
- package/lib/module/components/Preview.js.map +1 -1
- package/lib/module/components/TilesContainer.js +3 -3
- package/lib/module/components/TilesContainer.js.map +1 -1
- package/lib/module/hooks-util.js +20 -3
- package/lib/module/hooks-util.js.map +1 -1
- package/lib/module/utils/theme.js +0 -1
- package/lib/module/utils/theme.js.map +1 -1
- package/lib/module/utils.js +0 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
- package/lib/typescript/components/BottomSheet.d.ts +1 -0
- package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatBanner.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatFilterBottomSheetView.d.ts.map +1 -1
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.d.ts.map +1 -1
- package/lib/typescript/components/DefaultModal.d.ts.map +1 -1
- package/lib/typescript/components/Footer.d.ts.map +1 -1
- package/lib/typescript/components/GridView.d.ts.map +1 -1
- package/lib/typescript/components/HMSHLSMessageList.d.ts.map +1 -1
- package/lib/typescript/components/HMSKeyboardAvoidingView.android.d.ts +9 -0
- package/lib/typescript/components/HMSKeyboardAvoidingView.android.d.ts.map +1 -0
- package/lib/typescript/components/HMSNotifications.d.ts.map +1 -1
- package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -1
- package/lib/typescript/components/HMSTextInput.d.ts.map +1 -1
- package/lib/typescript/components/MeetingScreenContent.d.ts.map +1 -1
- package/lib/typescript/components/MiniView.d.ts +2 -3
- package/lib/typescript/components/MiniView.d.ts.map +1 -1
- package/lib/typescript/components/TilesContainer.d.ts.map +1 -1
- package/lib/typescript/hooks-util.d.ts +1 -0
- package/lib/typescript/hooks-util.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/HMSRoomSetup.tsx +3 -0
- package/src/components/BottomSheet.tsx +43 -6
- package/src/components/Chat/ChatBanner.tsx +9 -0
- package/src/components/Chat/ChatFilterBottomSheetView.tsx +7 -1
- package/src/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.tsx +6 -1
- package/src/components/DefaultModal.tsx +12 -1
- package/src/components/Footer.tsx +17 -3
- package/src/components/GridView.tsx +27 -15
- package/src/components/HMSHLSMessageList.tsx +8 -2
- package/src/components/HMSKeyboardAvoidingView.android.tsx +49 -0
- package/src/components/HMSNotifications.tsx +11 -1
- package/src/components/HMSRecordingIndicator.tsx +11 -2
- package/src/components/HMSTextInput.tsx +1 -0
- package/src/components/MeetingScreenContent.tsx +3 -1
- package/src/components/MiniView.tsx +18 -15
- package/src/components/Preview.tsx +2 -2
- package/src/components/TilesContainer.tsx +9 -5
- package/src/hooks-util.ts +26 -0
|
@@ -11,6 +11,7 @@ import { HMSTerminalErrorNotification } from './HMSTerminalErrorNotification';
|
|
|
11
11
|
import { HMSNotification } from './HMSNotification';
|
|
12
12
|
import { AlertTriangleIcon } from '../Icons';
|
|
13
13
|
import { HMSReconnectingNotification } from './HMSReconnectingNotification';
|
|
14
|
+
import { useIsLandscapeOrientation } from '../utils/dimension';
|
|
14
15
|
|
|
15
16
|
export interface HMSNotificationsProps {}
|
|
16
17
|
|
|
@@ -23,6 +24,7 @@ export const HMSNotifications: React.FC<HMSNotificationsProps> = () => {
|
|
|
23
24
|
const isLocalScreenShared = useSelector(
|
|
24
25
|
(state: RootState) => state.hmsStates.isLocalScreenShared
|
|
25
26
|
);
|
|
27
|
+
const isLandscapeOrientation = useIsLandscapeOrientation();
|
|
26
28
|
|
|
27
29
|
// notifications is a stack, first will appear last
|
|
28
30
|
const notifications = useSelector((state: RootState) => {
|
|
@@ -81,7 +83,9 @@ export const HMSNotifications: React.FC<HMSNotificationsProps> = () => {
|
|
|
81
83
|
return (
|
|
82
84
|
<View
|
|
83
85
|
style={[
|
|
84
|
-
|
|
86
|
+
isLandscapeOrientation
|
|
87
|
+
? styles.absoluteLandscapeContainer
|
|
88
|
+
: styles.absoluteContainer,
|
|
85
89
|
{ paddingTop: (notifications.length - 1) * 16 },
|
|
86
90
|
]}
|
|
87
91
|
>
|
|
@@ -165,6 +169,12 @@ const styles = StyleSheet.create({
|
|
|
165
169
|
marginBottom: 8,
|
|
166
170
|
width: '100%',
|
|
167
171
|
},
|
|
172
|
+
absoluteLandscapeContainer: {
|
|
173
|
+
position: 'relative',
|
|
174
|
+
marginBottom: 8,
|
|
175
|
+
width: '60%',
|
|
176
|
+
alignSelf: 'center',
|
|
177
|
+
},
|
|
168
178
|
notificationWrapper: {
|
|
169
179
|
position: 'absolute',
|
|
170
180
|
width: '100%',
|
|
@@ -5,15 +5,24 @@ import { ActivityIndicator, StyleSheet } from 'react-native';
|
|
|
5
5
|
import type { RootState } from '../redux';
|
|
6
6
|
import { RecordingIcon } from '../Icons';
|
|
7
7
|
import { useHMSRoomColorPalette, useHMSRoomStyle } from '../hooks-util';
|
|
8
|
+
import { HMSRecordingState } from '@100mslive/react-native-hms';
|
|
8
9
|
|
|
9
10
|
export const HMSRecordingIndicator = () => {
|
|
10
11
|
const isRecordingOn = useSelector(
|
|
11
|
-
(state: RootState) =>
|
|
12
|
+
(state: RootState) =>
|
|
13
|
+
!!state.hmsStates.room?.browserRecordingState?.running ||
|
|
14
|
+
!!state.hmsStates.room?.serverRecordingState?.running ||
|
|
15
|
+
!!state.hmsStates.room?.hlsRecordingState?.running
|
|
12
16
|
);
|
|
13
17
|
const startingOrStoppingRecording = useSelector(
|
|
14
18
|
(state: RootState) =>
|
|
15
19
|
state.app.startingOrStoppingRecording ||
|
|
16
|
-
|
|
20
|
+
state.hmsStates.room?.browserRecordingState.state ===
|
|
21
|
+
HMSRecordingState.STARTING ||
|
|
22
|
+
state.hmsStates.room?.serverRecordingState.state ===
|
|
23
|
+
HMSRecordingState.STARTING ||
|
|
24
|
+
state.hmsStates.room?.hlsRecordingState?.state ===
|
|
25
|
+
HMSRecordingState.STARTING
|
|
17
26
|
);
|
|
18
27
|
|
|
19
28
|
const { on_surface_high: onSurfaceHighColor } = useHMSRoomColorPalette();
|
|
@@ -130,6 +130,7 @@ export const HMSTextInput: React.FC<HMSTextInputProps> = ({
|
|
|
130
130
|
selectionColor={resetProps.selectionColor ?? onSurfaceHighColor}
|
|
131
131
|
onFocus={resetProps.onFocus ?? handleInputFocus}
|
|
132
132
|
onBlur={resetProps.onBlur ?? handleInputBlur}
|
|
133
|
+
disableFullscreenUI={true}
|
|
133
134
|
/>
|
|
134
135
|
);
|
|
135
136
|
|
|
@@ -20,6 +20,7 @@ import { HMSStatusBar } from './StatusBar';
|
|
|
20
20
|
import { AnimatedFooter } from './AnimatedFooter';
|
|
21
21
|
import { HLSFooter } from './HLSFooter';
|
|
22
22
|
import { AnimatedHeader } from './AnimatedHeader';
|
|
23
|
+
import { useIsLandscapeOrientation } from '../utils/dimension';
|
|
23
24
|
// import { ReconnectionView } from './ReconnectionView';
|
|
24
25
|
|
|
25
26
|
interface MeetingScreenContentProps {
|
|
@@ -36,6 +37,7 @@ export const MeetingScreenContent: React.FC<MeetingScreenContentProps> = ({
|
|
|
36
37
|
const isPipModeActive = useSelector(
|
|
37
38
|
(state: RootState) => state.app.pipModeStatus === PipModes.ACTIVE
|
|
38
39
|
);
|
|
40
|
+
const isLandscapeOrientation = useIsLandscapeOrientation();
|
|
39
41
|
|
|
40
42
|
const toggleControls = useCallback(() => {
|
|
41
43
|
'worklet';
|
|
@@ -90,7 +92,7 @@ export const MeetingScreenContent: React.FC<MeetingScreenContentProps> = ({
|
|
|
90
92
|
<HMSStatusBar hidden={controlsHidden} barStyle={'light-content'} />
|
|
91
93
|
|
|
92
94
|
<View style={styles.reconnectionWrapper}>
|
|
93
|
-
{isPipModeActive ? null : (
|
|
95
|
+
{isPipModeActive || isLandscapeOrientation ? null : (
|
|
94
96
|
<AnimatedHeader offset={offset}>
|
|
95
97
|
<Header transparent={isHLSViewer} showControls={!isHLSViewer} />
|
|
96
98
|
</AnimatedHeader>
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { MutableRefObject } from 'react';
|
|
3
2
|
import { useDispatch, useSelector } from 'react-redux';
|
|
4
3
|
import { StyleSheet, View, LayoutAnimation } from 'react-native';
|
|
5
|
-
import type { LayoutRectangle } from 'react-native';
|
|
6
4
|
import { GestureDetector, Gesture } from 'react-native-gesture-handler';
|
|
7
5
|
import Animated, {
|
|
8
6
|
cancelAnimation,
|
|
@@ -20,6 +18,7 @@ import {
|
|
|
20
18
|
import type { RootState } from '../redux';
|
|
21
19
|
import { setInsetViewMinimized } from '../redux/actions';
|
|
22
20
|
import { isPublishingAllowed } from '../hooks-util';
|
|
21
|
+
import { useIsLandscapeOrientation } from '../utils/dimension';
|
|
23
22
|
|
|
24
23
|
const cornerOffset = {
|
|
25
24
|
x: 8, // rightX
|
|
@@ -30,13 +29,16 @@ const cornerOffset = {
|
|
|
30
29
|
|
|
31
30
|
export interface MiniViewProps
|
|
32
31
|
extends Omit<PeerVideoTileViewProps, 'peerTrackNode'> {
|
|
33
|
-
|
|
32
|
+
boundingBoxWidth: number | null;
|
|
33
|
+
boundingBoxHeight: number | null;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export const MiniView: React.FC<Omit<MiniViewProps, 'insetMode'>> = ({
|
|
37
|
-
|
|
37
|
+
boundingBoxWidth,
|
|
38
|
+
boundingBoxHeight,
|
|
38
39
|
onMoreOptionsPress,
|
|
39
40
|
}) => {
|
|
41
|
+
const isLandscapeOrientation = useIsLandscapeOrientation();
|
|
40
42
|
const isPressed = useSharedValue(false);
|
|
41
43
|
const xOffset = useSharedValue(0);
|
|
42
44
|
const yOffset = useSharedValue(0);
|
|
@@ -54,8 +56,8 @@ export const MiniView: React.FC<Omit<MiniViewProps, 'insetMode'>> = ({
|
|
|
54
56
|
usePeerMinimizedViewDimensions();
|
|
55
57
|
|
|
56
58
|
const size = {
|
|
57
|
-
width: minimized ? minimizedViewWidth : 104,
|
|
58
|
-
height: minimized ? minimizedViewHeigth : 186,
|
|
59
|
+
width: minimized ? minimizedViewWidth : (isLandscapeOrientation ? 178 : 104),
|
|
60
|
+
height: minimized ? minimizedViewHeigth : (isLandscapeOrientation ? 98 : 186),
|
|
59
61
|
};
|
|
60
62
|
|
|
61
63
|
const dimensionStyles = {
|
|
@@ -83,7 +85,8 @@ export const MiniView: React.FC<Omit<MiniViewProps, 'insetMode'>> = ({
|
|
|
83
85
|
size.height,
|
|
84
86
|
cornerOffset.x,
|
|
85
87
|
cornerOffset.topY,
|
|
86
|
-
|
|
88
|
+
boundingBoxWidth,
|
|
89
|
+
boundingBoxHeight,
|
|
87
90
|
);
|
|
88
91
|
|
|
89
92
|
const finalX = snapPointX;
|
|
@@ -130,7 +133,7 @@ export const MiniView: React.FC<Omit<MiniViewProps, 'insetMode'>> = ({
|
|
|
130
133
|
cancelAnimation(xOffset);
|
|
131
134
|
cancelAnimation(yOffset);
|
|
132
135
|
};
|
|
133
|
-
}, [minimized]);
|
|
136
|
+
}, [boundingBoxWidth, boundingBoxHeight, minimized]);
|
|
134
137
|
|
|
135
138
|
const handleMaximize = () => {
|
|
136
139
|
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
|
|
@@ -195,25 +198,25 @@ const getSnappingPoints = (
|
|
|
195
198
|
compHeight: number,
|
|
196
199
|
xCornerOffset: number,
|
|
197
200
|
yCornerOffset: number,
|
|
198
|
-
|
|
201
|
+
boundingBoxWidth: number | null,
|
|
202
|
+
boundingBoxHeight: number | null,
|
|
199
203
|
) => {
|
|
200
204
|
'worklet';
|
|
201
|
-
if (!
|
|
205
|
+
if (!boundingBoxWidth || !boundingBoxHeight) {
|
|
202
206
|
return {
|
|
203
207
|
snapPointX: 0,
|
|
204
208
|
snapPointY: 0,
|
|
205
209
|
};
|
|
206
210
|
}
|
|
207
|
-
const { height, width } = boundingBox;
|
|
208
211
|
|
|
209
212
|
return {
|
|
210
213
|
snapPointX:
|
|
211
|
-
Math.abs(currentValueX) + compWidth <
|
|
214
|
+
Math.abs(currentValueX) + compWidth < boundingBoxWidth / 2
|
|
212
215
|
? 0
|
|
213
|
-
: -
|
|
216
|
+
: -boundingBoxWidth + compWidth + xCornerOffset * 2,
|
|
214
217
|
snapPointY:
|
|
215
|
-
Math.abs(currentValueY) + compHeight <
|
|
218
|
+
Math.abs(currentValueY) + compHeight < boundingBoxHeight / 2
|
|
216
219
|
? 0
|
|
217
|
-
: -
|
|
220
|
+
: -boundingBoxHeight + compHeight + yCornerOffset * 2,
|
|
218
221
|
};
|
|
219
222
|
};
|
|
@@ -114,7 +114,7 @@ export const Preview = ({
|
|
|
114
114
|
<BackButton />
|
|
115
115
|
</SafeAreaView>
|
|
116
116
|
|
|
117
|
-
<
|
|
117
|
+
<SafeAreaView edges={['left', 'right']} style={styles.footerWrapper}>
|
|
118
118
|
<HMSPreviewNetworkQuality />
|
|
119
119
|
|
|
120
120
|
<HMSKeyboardAvoidingView
|
|
@@ -145,7 +145,7 @@ export const Preview = ({
|
|
|
145
145
|
/>
|
|
146
146
|
</View>
|
|
147
147
|
</HMSKeyboardAvoidingView>
|
|
148
|
-
</
|
|
148
|
+
</SafeAreaView>
|
|
149
149
|
</View>
|
|
150
150
|
</TouchableWithoutFeedback>
|
|
151
151
|
);
|
|
@@ -47,9 +47,13 @@ const _TilesContainer: React.FC<TilesContainerProps> = ({
|
|
|
47
47
|
screenshareTilesAvailable && peerTrackNodes.length === 1
|
|
48
48
|
? 'center'
|
|
49
49
|
: growableTileLayout
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
flexDirection: screenshareTilesAvailable
|
|
50
|
+
? 'space-between'
|
|
51
|
+
: 'center',
|
|
52
|
+
flexDirection: screenshareTilesAvailable
|
|
53
|
+
? 'row'
|
|
54
|
+
: isLandscapeOrientation
|
|
55
|
+
? 'row'
|
|
56
|
+
: 'column',
|
|
53
57
|
},
|
|
54
58
|
{ width: Dimensions.get('window').width - left - right },
|
|
55
59
|
]}
|
|
@@ -133,8 +137,8 @@ const fourTileStyle = { width: '49.5%', height: '100%' }; // Grid Layout when Wi
|
|
|
133
137
|
const fiveAndSixTileStyle = { width: '49.5%', aspectRatio: 1 }; // Grid Layout when width and Height as fixed aspectRatio
|
|
134
138
|
|
|
135
139
|
const oneTileStyleLandscape = { width: '100%', height: '100%' };
|
|
136
|
-
const twoTileStyleLandscape = { width: '
|
|
137
|
-
const threeTileStyleLandscape = { width: '33
|
|
140
|
+
const twoTileStyleLandscape = { width: '49.7222%', height: '100%' };
|
|
141
|
+
const threeTileStyleLandscape = { width: '33%', height: '100%' };
|
|
138
142
|
const fourTileStyleLandscape = { width: '50%', height: '50%' };
|
|
139
143
|
|
|
140
144
|
function computeTileWidthAndHeight(
|
package/src/hooks-util.ts
CHANGED
|
@@ -20,9 +20,12 @@ import {
|
|
|
20
20
|
HMSMessageRecipient,
|
|
21
21
|
useHMSHLSPlayerResolution,
|
|
22
22
|
useHmsViewsResolutionsState,
|
|
23
|
+
setSoftInputMode,
|
|
24
|
+
getSoftInputMode,
|
|
23
25
|
// useHMSPeerUpdates,
|
|
24
26
|
} from '@100mslive/react-native-hms';
|
|
25
27
|
import type { Chat as ChatConfig } from '@100mslive/types-prebuilt/elements/chat';
|
|
28
|
+
import { SoftInputModes } from '@100mslive/react-native-hms';
|
|
26
29
|
import type {
|
|
27
30
|
HMSPIPConfig,
|
|
28
31
|
HMSRole,
|
|
@@ -2431,3 +2434,26 @@ export const useStartRecording = () => {
|
|
|
2431
2434
|
startRecording,
|
|
2432
2435
|
};
|
|
2433
2436
|
};
|
|
2437
|
+
|
|
2438
|
+
export const useAndroidSoftInputAdjustResize = () => {
|
|
2439
|
+
const currentSoftInputRef = useRef<null | SoftInputModes>(null);
|
|
2440
|
+
|
|
2441
|
+
useEffect(() => {
|
|
2442
|
+
if (Platform.OS !== 'android') {
|
|
2443
|
+
return;
|
|
2444
|
+
}
|
|
2445
|
+
const currentSoftInputMode = getSoftInputMode();
|
|
2446
|
+
|
|
2447
|
+
if (currentSoftInputMode !== SoftInputModes.SOFT_INPUT_ADJUST_RESIZE) {
|
|
2448
|
+
currentSoftInputRef.current = currentSoftInputMode;
|
|
2449
|
+
|
|
2450
|
+
setSoftInputMode(SoftInputModes.SOFT_INPUT_ADJUST_RESIZE);
|
|
2451
|
+
|
|
2452
|
+
return () => {
|
|
2453
|
+
if (currentSoftInputRef.current !== null) {
|
|
2454
|
+
setSoftInputMode(currentSoftInputRef.current);
|
|
2455
|
+
}
|
|
2456
|
+
}
|
|
2457
|
+
}
|
|
2458
|
+
}, []);
|
|
2459
|
+
};
|