@stream-io/video-react-native-sdk 0.8.9 → 0.9.1
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/CHANGELOG.md +18 -0
- package/dist/commonjs/components/Call/RingingCallContent/CallLeftIndicator.js +21 -0
- package/dist/commonjs/components/Call/RingingCallContent/CallLeftIndicator.js.map +1 -0
- package/dist/commonjs/components/Call/RingingCallContent/CallPreparingIndicator.js +21 -0
- package/dist/commonjs/components/Call/RingingCallContent/CallPreparingIndicator.js.map +1 -0
- package/dist/commonjs/components/Call/RingingCallContent/RingingCallContent.js +15 -8
- package/dist/commonjs/components/Call/RingingCallContent/RingingCallContent.js.map +1 -1
- package/dist/commonjs/components/Call/RingingCallContent/TextBasedIndicator.js +65 -0
- package/dist/commonjs/components/Call/RingingCallContent/TextBasedIndicator.js.map +1 -0
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +6 -14
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/commonjs/hooks/useIsInPiPMode.js +9 -8
- package/dist/commonjs/hooks/useIsInPiPMode.js.map +1 -1
- package/dist/commonjs/theme/theme.js +0 -3
- package/dist/commonjs/theme/theme.js.map +1 -1
- package/dist/commonjs/translations/en.json +3 -1
- package/dist/commonjs/utils/StreamVideoRN/index.js +0 -8
- package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/components/Call/RingingCallContent/CallLeftIndicator.js +13 -0
- package/dist/module/components/Call/RingingCallContent/CallLeftIndicator.js.map +1 -0
- package/dist/module/components/Call/RingingCallContent/CallPreparingIndicator.js +13 -0
- package/dist/module/components/Call/RingingCallContent/CallPreparingIndicator.js.map +1 -0
- package/dist/module/components/Call/RingingCallContent/RingingCallContent.js +15 -8
- package/dist/module/components/Call/RingingCallContent/RingingCallContent.js.map +1 -1
- package/dist/module/components/Call/RingingCallContent/TextBasedIndicator.js +57 -0
- package/dist/module/components/Call/RingingCallContent/TextBasedIndicator.js.map +1 -0
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +6 -14
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/module/hooks/useIsInPiPMode.js +9 -8
- package/dist/module/hooks/useIsInPiPMode.js.map +1 -1
- package/dist/module/theme/theme.js +0 -3
- package/dist/module/theme/theme.js.map +1 -1
- package/dist/module/translations/en.json +3 -1
- package/dist/module/utils/StreamVideoRN/index.js +0 -8
- package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/components/Call/RingingCallContent/CallLeftIndicator.d.ts +5 -0
- package/dist/typescript/components/Call/RingingCallContent/CallLeftIndicator.d.ts.map +1 -0
- package/dist/typescript/components/Call/RingingCallContent/CallPreparingIndicator.d.ts +5 -0
- package/dist/typescript/components/Call/RingingCallContent/CallPreparingIndicator.d.ts.map +1 -0
- package/dist/typescript/components/Call/RingingCallContent/RingingCallContent.d.ts +13 -2
- package/dist/typescript/components/Call/RingingCallContent/RingingCallContent.d.ts.map +1 -1
- package/dist/typescript/components/Call/RingingCallContent/TextBasedIndicator.d.ts +7 -0
- package/dist/typescript/components/Call/RingingCallContent/TextBasedIndicator.d.ts.map +1 -0
- package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useIsInPiPMode.d.ts.map +1 -1
- package/dist/typescript/theme/theme.d.ts +0 -3
- package/dist/typescript/theme/theme.d.ts.map +1 -1
- package/dist/typescript/translations/index.d.ts +2 -0
- package/dist/typescript/translations/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/types.d.ts +3 -5
- package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/expo-config-plugin/dist/withAndroidManifest.js +5 -6
- package/expo-config-plugin/dist/withAndroidPermissions.js +1 -1
- package/package.json +2 -2
- package/src/components/Call/RingingCallContent/CallLeftIndicator.tsx +21 -0
- package/src/components/Call/RingingCallContent/CallPreparingIndicator.tsx +21 -0
- package/src/components/Call/RingingCallContent/RingingCallContent.tsx +34 -10
- package/src/components/Call/RingingCallContent/TextBasedIndicator.tsx +69 -0
- package/src/hooks/useAndroidKeepCallAliveEffect.ts +7 -14
- package/src/hooks/useIsInPiPMode.tsx +15 -10
- package/src/theme/theme.ts +0 -4
- package/src/translations/en.json +3 -1
- package/src/utils/StreamVideoRN/index.ts +0 -8
- package/src/utils/StreamVideoRN/types.ts +3 -5
- package/src/version.ts +1 -1
- package/dist/commonjs/components/Call/RingingCallContent/JoiningCallIndicator.js +0 -33
- package/dist/commonjs/components/Call/RingingCallContent/JoiningCallIndicator.js.map +0 -1
- package/dist/module/components/Call/RingingCallContent/JoiningCallIndicator.js +0 -25
- package/dist/module/components/Call/RingingCallContent/JoiningCallIndicator.js.map +0 -1
- package/dist/typescript/components/Call/RingingCallContent/JoiningCallIndicator.d.ts +0 -3
- package/dist/typescript/components/Call/RingingCallContent/JoiningCallIndicator.d.ts.map +0 -1
- package/src/components/Call/RingingCallContent/JoiningCallIndicator.tsx +0 -26
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useI18n } from '@stream-io/video-react-bindings';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import {
|
|
4
|
+
TextBasedIndicator,
|
|
5
|
+
TextBasedIndicatorProps,
|
|
6
|
+
} from './TextBasedIndicator';
|
|
7
|
+
|
|
8
|
+
export type CallPreparingIndicatorProps = Pick<
|
|
9
|
+
TextBasedIndicatorProps,
|
|
10
|
+
'onBackPress'
|
|
11
|
+
>;
|
|
12
|
+
|
|
13
|
+
export const CallPreparingIndicator = (props: CallPreparingIndicatorProps) => {
|
|
14
|
+
const { t } = useI18n();
|
|
15
|
+
return (
|
|
16
|
+
<TextBasedIndicator
|
|
17
|
+
text={t('Preparing call')}
|
|
18
|
+
onBackPress={props.onBackPress}
|
|
19
|
+
/>
|
|
20
|
+
);
|
|
21
|
+
};
|
|
@@ -15,7 +15,14 @@ import {
|
|
|
15
15
|
OutgoingCall as DefaultOutgoingCall,
|
|
16
16
|
OutgoingCallProps,
|
|
17
17
|
} from './OutgoingCall';
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
CallLeftIndicator as DefaultCallLeftIndicator,
|
|
20
|
+
CallLeftIndicatorProps,
|
|
21
|
+
} from './CallLeftIndicator';
|
|
22
|
+
import {
|
|
23
|
+
CallPreparingIndicator as DefaultCallPreparingIndicator,
|
|
24
|
+
CallPreparingIndicatorProps,
|
|
25
|
+
} from './CallPreparingIndicator';
|
|
19
26
|
import { useTheme } from '../../../contexts';
|
|
20
27
|
|
|
21
28
|
/**
|
|
@@ -39,23 +46,34 @@ export type RingingCallContentProps = {
|
|
|
39
46
|
*/
|
|
40
47
|
CallTopView?: React.ComponentType<CallTopViewProps> | null;
|
|
41
48
|
/**
|
|
42
|
-
* Prop to
|
|
49
|
+
* Prop to override the component shown when the call is left.
|
|
50
|
+
*/
|
|
51
|
+
CallLeftIndicator?: React.ComponentType<CallLeftIndicatorProps> | null;
|
|
52
|
+
/**
|
|
53
|
+
* Prop to override the component shown when the call is in idle state.
|
|
43
54
|
*/
|
|
44
|
-
|
|
55
|
+
CallPreparingIndicator?: React.ComponentType<CallPreparingIndicatorProps> | null;
|
|
45
56
|
/**
|
|
46
57
|
* Check if device is in landscape mode.
|
|
47
58
|
* This will apply the landscape mode styles to the component.
|
|
48
59
|
*/
|
|
49
60
|
landscape?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Callback to handle the back icon press event
|
|
63
|
+
* in CallLeftIndicator and CallPreparingIndicator components.
|
|
64
|
+
*/
|
|
65
|
+
onBackPress?: () => void;
|
|
50
66
|
};
|
|
51
67
|
|
|
52
68
|
const RingingCallPanel = ({
|
|
53
69
|
IncomingCall = DefaultIncomingCall,
|
|
54
70
|
OutgoingCall = DefaultOutgoingCall,
|
|
55
71
|
CallContent = DefaultCallContent,
|
|
56
|
-
JoiningCallIndicator = DefaultJoiningCallIndicator,
|
|
57
72
|
CallTopView,
|
|
58
|
-
|
|
73
|
+
CallLeftIndicator = DefaultCallLeftIndicator,
|
|
74
|
+
CallPreparingIndicator = DefaultCallPreparingIndicator,
|
|
75
|
+
landscape,
|
|
76
|
+
onBackPress,
|
|
59
77
|
}: RingingCallContentProps) => {
|
|
60
78
|
const call = useCall();
|
|
61
79
|
const isCallCreatedByMe = call?.isCreatedByMe;
|
|
@@ -72,16 +90,22 @@ const RingingCallPanel = ({
|
|
|
72
90
|
: IncomingCall && (
|
|
73
91
|
<IncomingCall CallTopView={CallTopView} landscape={landscape} />
|
|
74
92
|
);
|
|
75
|
-
case CallingState.
|
|
93
|
+
case CallingState.LEFT:
|
|
94
|
+
return (
|
|
95
|
+
CallLeftIndicator && <CallLeftIndicator onBackPress={onBackPress} />
|
|
96
|
+
);
|
|
97
|
+
case CallingState.IDLE:
|
|
98
|
+
return (
|
|
99
|
+
CallPreparingIndicator && (
|
|
100
|
+
<CallPreparingIndicator onBackPress={onBackPress} />
|
|
101
|
+
)
|
|
102
|
+
);
|
|
103
|
+
default:
|
|
76
104
|
return (
|
|
77
105
|
CallContent && (
|
|
78
106
|
<CallContent CallTopView={CallTopView} landscape={landscape} />
|
|
79
107
|
)
|
|
80
108
|
);
|
|
81
|
-
case CallingState.JOINING:
|
|
82
|
-
return JoiningCallIndicator && <JoiningCallIndicator />;
|
|
83
|
-
default:
|
|
84
|
-
return null;
|
|
85
109
|
}
|
|
86
110
|
};
|
|
87
111
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View, Text, Pressable } from 'react-native';
|
|
3
|
+
import { useTheme } from '../../../contexts/ThemeContext';
|
|
4
|
+
import { Back } from '../../../icons/Back';
|
|
5
|
+
|
|
6
|
+
export type TextBasedIndicatorProps = {
|
|
7
|
+
text: string;
|
|
8
|
+
onBackPress?: () => void;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const TextBasedIndicator = (props: TextBasedIndicatorProps) => {
|
|
12
|
+
const {
|
|
13
|
+
theme: {
|
|
14
|
+
colors,
|
|
15
|
+
typefaces,
|
|
16
|
+
variants: { iconSizes },
|
|
17
|
+
},
|
|
18
|
+
} = useTheme();
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<View style={[styles.container, { backgroundColor: colors.static_grey }]}>
|
|
22
|
+
{props.onBackPress && (
|
|
23
|
+
<View style={styles.backContainer}>
|
|
24
|
+
<Pressable
|
|
25
|
+
onPress={props.onBackPress}
|
|
26
|
+
style={({ pressed }) => [
|
|
27
|
+
{
|
|
28
|
+
opacity: pressed ? 0.2 : 1,
|
|
29
|
+
height: iconSizes.md,
|
|
30
|
+
width: iconSizes.md,
|
|
31
|
+
},
|
|
32
|
+
]}
|
|
33
|
+
>
|
|
34
|
+
<Back color={colors.static_white} />
|
|
35
|
+
</Pressable>
|
|
36
|
+
</View>
|
|
37
|
+
)}
|
|
38
|
+
<View style={styles.textContainer}>
|
|
39
|
+
<Text
|
|
40
|
+
style={[
|
|
41
|
+
styles.text,
|
|
42
|
+
{ color: colors.static_white },
|
|
43
|
+
typefaces.heading6,
|
|
44
|
+
]}
|
|
45
|
+
>
|
|
46
|
+
{props.text}
|
|
47
|
+
</Text>
|
|
48
|
+
</View>
|
|
49
|
+
</View>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const styles = StyleSheet.create({
|
|
54
|
+
container: {
|
|
55
|
+
flex: 1,
|
|
56
|
+
},
|
|
57
|
+
backContainer: {
|
|
58
|
+
padding: 8,
|
|
59
|
+
paddingTop: 16,
|
|
60
|
+
},
|
|
61
|
+
textContainer: {
|
|
62
|
+
flex: 1,
|
|
63
|
+
justifyContent: 'center',
|
|
64
|
+
alignItems: 'center',
|
|
65
|
+
},
|
|
66
|
+
text: {
|
|
67
|
+
fontSize: 24,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
@@ -5,10 +5,10 @@ import { StreamVideoRN } from '../utils';
|
|
|
5
5
|
import { Platform } from 'react-native';
|
|
6
6
|
import { CallingState, getLogger } from '@stream-io/video-client';
|
|
7
7
|
|
|
8
|
+
const isAndroid7OrBelow = Platform.OS === 'android' && Platform.Version < 26;
|
|
9
|
+
|
|
8
10
|
function setForegroundService() {
|
|
9
|
-
if (
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
11
|
+
if (!isAndroid7OrBelow) return;
|
|
12
12
|
notifee.registerForegroundService(() => {
|
|
13
13
|
return new Promise(() => {
|
|
14
14
|
const logger = getLogger(['setForegroundService method']);
|
|
@@ -18,12 +18,9 @@ function setForegroundService() {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
async function startForegroundService(call_cid: string) {
|
|
21
|
-
if (
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
21
|
+
if (!isAndroid7OrBelow) return;
|
|
24
22
|
const foregroundServiceConfig = StreamVideoRN.getConfig().foregroundService;
|
|
25
23
|
const { title, body } = foregroundServiceConfig.android.notificationTexts;
|
|
26
|
-
const channelId = foregroundServiceConfig.android.channel.id;
|
|
27
24
|
|
|
28
25
|
// request for notification permission and then start the foreground service
|
|
29
26
|
const settings = await notifee.getNotificationSettings();
|
|
@@ -35,13 +32,11 @@ async function startForegroundService(call_cid: string) {
|
|
|
35
32
|
);
|
|
36
33
|
return;
|
|
37
34
|
}
|
|
38
|
-
await notifee.createChannel(foregroundServiceConfig.android.channel);
|
|
39
35
|
await notifee.displayNotification({
|
|
40
36
|
id: call_cid,
|
|
41
37
|
title,
|
|
42
38
|
body,
|
|
43
39
|
android: {
|
|
44
|
-
channelId,
|
|
45
40
|
asForegroundService: true,
|
|
46
41
|
ongoing: true, // user cannot dismiss the notification
|
|
47
42
|
colorized: true,
|
|
@@ -54,9 +49,7 @@ async function startForegroundService(call_cid: string) {
|
|
|
54
49
|
}
|
|
55
50
|
|
|
56
51
|
async function stopForegroundService() {
|
|
57
|
-
if (
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
52
|
+
if (!isAndroid7OrBelow) return;
|
|
60
53
|
await notifee.stopForegroundService();
|
|
61
54
|
}
|
|
62
55
|
|
|
@@ -70,7 +63,7 @@ let isSetForegroundServiceRan = false;
|
|
|
70
63
|
* Additonally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
|
|
71
64
|
*/
|
|
72
65
|
export const useAndroidKeepCallAliveEffect = () => {
|
|
73
|
-
if (!isSetForegroundServiceRan &&
|
|
66
|
+
if (!isSetForegroundServiceRan && isAndroid7OrBelow) {
|
|
74
67
|
isSetForegroundServiceRan = true;
|
|
75
68
|
setForegroundService();
|
|
76
69
|
}
|
|
@@ -81,7 +74,7 @@ export const useAndroidKeepCallAliveEffect = () => {
|
|
|
81
74
|
const callingState = useCallCallingState();
|
|
82
75
|
|
|
83
76
|
useEffect((): (() => void) | undefined => {
|
|
84
|
-
if (
|
|
77
|
+
if (!isAndroid7OrBelow || !activeCallCid) {
|
|
85
78
|
return;
|
|
86
79
|
}
|
|
87
80
|
|
|
@@ -8,11 +8,15 @@ import {
|
|
|
8
8
|
|
|
9
9
|
const PIP_CHANGE_EVENT = 'StreamVideoReactNative_PIP_CHANGE_EVENT';
|
|
10
10
|
|
|
11
|
+
const isAndroid8OrAbove = Platform.OS === 'android' && Platform.Version >= 26;
|
|
12
|
+
|
|
11
13
|
export function useIsInPiPMode() {
|
|
12
|
-
const [isInPiPMode, setIsInPiPMode] = useState(
|
|
14
|
+
const [isInPiPMode, setIsInPiPMode] = useState(
|
|
15
|
+
isAndroid8OrAbove && AppState.currentState === 'background'
|
|
16
|
+
);
|
|
13
17
|
|
|
14
18
|
useEffect(() => {
|
|
15
|
-
if (
|
|
19
|
+
if (!isAndroid8OrAbove) {
|
|
16
20
|
return;
|
|
17
21
|
}
|
|
18
22
|
|
|
@@ -25,6 +29,12 @@ export function useIsInPiPMode() {
|
|
|
25
29
|
setIsInPiPMode
|
|
26
30
|
);
|
|
27
31
|
|
|
32
|
+
const setFromNativeMethod = async () => {
|
|
33
|
+
const isInPiPNativeMethod: boolean | null | undefined =
|
|
34
|
+
await NativeModules?.StreamVideoReactNative?.isInPiPMode();
|
|
35
|
+
setIsInPiPMode(!!isInPiPNativeMethod);
|
|
36
|
+
};
|
|
37
|
+
|
|
28
38
|
const subscriptionAppState = AppState.addEventListener(
|
|
29
39
|
'change',
|
|
30
40
|
(nextAppState) => {
|
|
@@ -32,17 +42,12 @@ export function useIsInPiPMode() {
|
|
|
32
42
|
setIsInPiPMode(true); // set with an assumption that its enabled so that UI disabling happens faster
|
|
33
43
|
// if PiP was not enabled anyway, then in the next code we ll set it to false and UI wont be shown anyway
|
|
34
44
|
}
|
|
35
|
-
|
|
36
|
-
// this can be faster than event emitter at times
|
|
37
|
-
// also in new arch this can be made a synchronous method
|
|
38
|
-
NativeModules?.StreamVideoReactNative?.isInPiPMode().then(
|
|
39
|
-
(isInPiPNativeMethod: boolean | null | undefined) => {
|
|
40
|
-
setIsInPiPMode(!!isInPiPNativeMethod);
|
|
41
|
-
}
|
|
42
|
-
);
|
|
45
|
+
setFromNativeMethod();
|
|
43
46
|
}
|
|
44
47
|
);
|
|
45
48
|
|
|
49
|
+
setFromNativeMethod();
|
|
50
|
+
|
|
46
51
|
return () => {
|
|
47
52
|
subscriptionPiPChange.remove();
|
|
48
53
|
subscriptionAppState.remove();
|
package/src/theme/theme.ts
CHANGED
|
@@ -160,9 +160,6 @@ export type Theme = {
|
|
|
160
160
|
bottomContainer: ViewStyle;
|
|
161
161
|
buttonGroup: ViewStyle;
|
|
162
162
|
};
|
|
163
|
-
joiningCallIndicator: {
|
|
164
|
-
container: ViewStyle;
|
|
165
|
-
};
|
|
166
163
|
outgoingCall: {
|
|
167
164
|
container: ViewStyle;
|
|
168
165
|
background: ViewStyle;
|
|
@@ -486,7 +483,6 @@ export const defaultTheme: Theme = {
|
|
|
486
483
|
deviceControlButtons: {},
|
|
487
484
|
},
|
|
488
485
|
ringingCallContent: { container: {} },
|
|
489
|
-
joiningCallIndicator: { container: {} },
|
|
490
486
|
callTopView: {
|
|
491
487
|
container: {},
|
|
492
488
|
content: {},
|
package/src/translations/en.json
CHANGED
|
@@ -21,5 +21,7 @@
|
|
|
21
21
|
"{{ userName }} is sharing their screen": "{{ userName }} is sharing their screen",
|
|
22
22
|
"You are sharing your screen": "You are sharing your screen",
|
|
23
23
|
"{{ numberOfParticipants }} participant(s) are in the call.": "{{ numberOfParticipants }} participant(s) are in the call.",
|
|
24
|
-
"You are about to join a call with id {{ callId }}.": "You are about to join a call with id {{ callId }}."
|
|
24
|
+
"You are about to join a call with id {{ callId }}.": "You are about to join a call with id {{ callId }}.",
|
|
25
|
+
"Preparing call": "Preparing call",
|
|
26
|
+
"You have left the call": "You have left the call"
|
|
25
27
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AndroidImportance } from '@notifee/react-native';
|
|
2
1
|
import { setupFirebaseHandlerAndroid } from '../push/android';
|
|
3
2
|
import { StreamVideoConfig } from './types';
|
|
4
3
|
import pushLogoutCallbacks from '../internal/pushLogoutCallback';
|
|
@@ -10,13 +9,6 @@ import newNotificationCallbacks, {
|
|
|
10
9
|
const DEFAULT_STREAM_VIDEO_CONFIG: StreamVideoConfig = {
|
|
11
10
|
foregroundService: {
|
|
12
11
|
android: {
|
|
13
|
-
channel: {
|
|
14
|
-
id: 'stream_call_foreground_service',
|
|
15
|
-
name: 'Notification Service to keep call alive',
|
|
16
|
-
lights: false,
|
|
17
|
-
vibration: false,
|
|
18
|
-
importance: AndroidImportance.DEFAULT,
|
|
19
|
-
},
|
|
20
12
|
notificationTexts: {
|
|
21
13
|
title: 'Call in progress',
|
|
22
14
|
body: 'Tap to return to the call',
|
|
@@ -113,11 +113,9 @@ export type StreamVideoConfig = {
|
|
|
113
113
|
foregroundService: {
|
|
114
114
|
android: {
|
|
115
115
|
/**
|
|
116
|
-
* The notification
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* The texts shown in the notification to keep call alive in the background for Android using a foreground service.
|
|
116
|
+
* The texts shown in the notification to keep call alive in the background
|
|
117
|
+
* for Android 24 and 25 platforms using a foreground service.
|
|
118
|
+
* On Android 26 and above, Picture in Picture mode is used to keep the call alive.
|
|
121
119
|
*/
|
|
122
120
|
notificationTexts: {
|
|
123
121
|
title: string;
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '0.
|
|
1
|
+
export const version = '0.9.1';
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.JoiningCallIndicator = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _contexts = require("../../../contexts");
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
const JoiningCallIndicator = () => {
|
|
12
|
-
const {
|
|
13
|
-
theme: {
|
|
14
|
-
colors,
|
|
15
|
-
joiningCallIndicator
|
|
16
|
-
}
|
|
17
|
-
} = (0, _contexts.useTheme)();
|
|
18
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.SafeAreaView, {
|
|
19
|
-
style: [styles.container, {
|
|
20
|
-
backgroundColor: colors.static_grey
|
|
21
|
-
}, joiningCallIndicator.container]
|
|
22
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
23
|
-
size: 'large',
|
|
24
|
-
style: _reactNative.StyleSheet.absoluteFill
|
|
25
|
-
}));
|
|
26
|
-
};
|
|
27
|
-
exports.JoiningCallIndicator = JoiningCallIndicator;
|
|
28
|
-
const styles = _reactNative.StyleSheet.create({
|
|
29
|
-
container: {
|
|
30
|
-
flex: 1
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
//# sourceMappingURL=JoiningCallIndicator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_contexts","e","__esModule","default","JoiningCallIndicator","theme","colors","joiningCallIndicator","useTheme","createElement","SafeAreaView","style","styles","container","backgroundColor","static_grey","ActivityIndicator","size","StyleSheet","absoluteFill","exports","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Call/RingingCallContent/JoiningCallIndicator.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAA6C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtC,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM;MAAEC;IAAqB;EACxC,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,oBACEZ,MAAA,CAAAO,OAAA,CAAAM,aAAA,CAACV,YAAA,CAAAW,YAAY;IACXC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAER,MAAM,CAACS;IAAY,CAAC,EACvCR,oBAAoB,CAACM,SAAS;EAC9B,gBAEFjB,MAAA,CAAAO,OAAA,CAAAM,aAAA,CAACV,YAAA,CAAAiB,iBAAiB;IAACC,IAAI,EAAE,OAAQ;IAACN,KAAK,EAAEO,uBAAU,CAACC;EAAa,CAAE,CACvD,CAAC;AAEnB,CAAC;AAACC,OAAA,CAAAhB,oBAAA,GAAAA,oBAAA;AAEF,MAAMQ,MAAM,GAAGM,uBAAU,CAACG,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ActivityIndicator, SafeAreaView, StyleSheet } from 'react-native';
|
|
3
|
-
import { useTheme } from '../../../contexts';
|
|
4
|
-
export const JoiningCallIndicator = () => {
|
|
5
|
-
const {
|
|
6
|
-
theme: {
|
|
7
|
-
colors,
|
|
8
|
-
joiningCallIndicator
|
|
9
|
-
}
|
|
10
|
-
} = useTheme();
|
|
11
|
-
return /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
12
|
-
style: [styles.container, {
|
|
13
|
-
backgroundColor: colors.static_grey
|
|
14
|
-
}, joiningCallIndicator.container]
|
|
15
|
-
}, /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
16
|
-
size: 'large',
|
|
17
|
-
style: StyleSheet.absoluteFill
|
|
18
|
-
}));
|
|
19
|
-
};
|
|
20
|
-
const styles = StyleSheet.create({
|
|
21
|
-
container: {
|
|
22
|
-
flex: 1
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=JoiningCallIndicator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","ActivityIndicator","SafeAreaView","StyleSheet","useTheme","JoiningCallIndicator","theme","colors","joiningCallIndicator","createElement","style","styles","container","backgroundColor","static_grey","size","absoluteFill","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Call/RingingCallContent/JoiningCallIndicator.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAc;AAC1E,SAASC,QAAQ,QAAQ,mBAAmB;AAE5C,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM;MAAEC;IAAqB;EACxC,CAAC,GAAGJ,QAAQ,CAAC,CAAC;EACd,oBACEJ,KAAA,CAAAS,aAAA,CAACP,YAAY;IACXQ,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAEN,MAAM,CAACO;IAAY,CAAC,EACvCN,oBAAoB,CAACI,SAAS;EAC9B,gBAEFZ,KAAA,CAAAS,aAAA,CAACR,iBAAiB;IAACc,IAAI,EAAE,OAAQ;IAACL,KAAK,EAAEP,UAAU,CAACa;EAAa,CAAE,CACvD,CAAC;AAEnB,CAAC;AAED,MAAML,MAAM,GAAGR,UAAU,CAACc,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JoiningCallIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/RingingCallContent/JoiningCallIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,oBAAoB,yBAehC,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ActivityIndicator, SafeAreaView, StyleSheet } from 'react-native';
|
|
3
|
-
import { useTheme } from '../../../contexts';
|
|
4
|
-
|
|
5
|
-
export const JoiningCallIndicator = () => {
|
|
6
|
-
const {
|
|
7
|
-
theme: { colors, joiningCallIndicator },
|
|
8
|
-
} = useTheme();
|
|
9
|
-
return (
|
|
10
|
-
<SafeAreaView
|
|
11
|
-
style={[
|
|
12
|
-
styles.container,
|
|
13
|
-
{ backgroundColor: colors.static_grey },
|
|
14
|
-
joiningCallIndicator.container,
|
|
15
|
-
]}
|
|
16
|
-
>
|
|
17
|
-
<ActivityIndicator size={'large'} style={StyleSheet.absoluteFill} />
|
|
18
|
-
</SafeAreaView>
|
|
19
|
-
);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const styles = StyleSheet.create({
|
|
23
|
-
container: {
|
|
24
|
-
flex: 1,
|
|
25
|
-
},
|
|
26
|
-
});
|