@stream-io/video-react-native-sdk 1.19.0 → 1.19.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 +7 -0
- package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +10 -0
- package/android/src/main/java/com/streamvideo/reactnative/util/PiPHelper.kt +18 -0
- package/dist/commonjs/components/Call/CallContent/CallContent.js +20 -0
- package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
- package/dist/commonjs/providers/StreamCall/AppStateListener.js +3 -2
- package/dist/commonjs/providers/StreamCall/AppStateListener.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/components/Call/CallContent/CallContent.js +22 -2
- package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
- package/dist/module/providers/StreamCall/AppStateListener.js +3 -2
- package/dist/module/providers/StreamCall/AppStateListener.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/components/Call/CallContent/CallContent.d.ts.map +1 -1
- package/dist/typescript/providers/StreamCall/AppStateListener.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/Call/CallContent/CallContent.tsx +39 -3
- package/src/providers/StreamCall/AppStateListener.tsx +3 -5
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [1.19.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.19.0...@stream-io/video-react-native-sdk-1.19.1) (2025-07-23)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- automatically exit android pip mode if call is left ([#1863](https://github.com/GetStream/stream-video-js/issues/1863)) ([51850f4](https://github.com/GetStream/stream-video-js/commit/51850f49bc67595a4cacb766863894483712fc75))
|
|
10
|
+
- ios pip blank local track issue ([47d8119](https://github.com/GetStream/stream-video-js/commit/47d811928f9f155b4d9f9cb23042a7556fd8414a))
|
|
11
|
+
|
|
5
12
|
## [1.19.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.18.1...@stream-io/video-react-native-sdk-1.19.0) (2025-07-18)
|
|
6
13
|
|
|
7
14
|
### Dependency Updates
|
|
@@ -115,6 +115,16 @@ class StreamVideoReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
+
@ReactMethod
|
|
119
|
+
fun exitPipMode(promise: Promise) {
|
|
120
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
121
|
+
val success = PiPHelper.exitPipMode(reactApplicationContext)
|
|
122
|
+
promise.resolve(success)
|
|
123
|
+
} else {
|
|
124
|
+
promise.resolve(false)
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
118
128
|
@ReactMethod
|
|
119
129
|
fun startThermalStatusUpdates(promise: Promise) {
|
|
120
130
|
try {
|
|
@@ -88,6 +88,24 @@ object PiPHelper {
|
|
|
88
88
|
return reactApplicationContext.currentActivity?.isInPictureInPictureMode
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
fun exitPipMode(reactApplicationContext: ReactApplicationContext): Boolean {
|
|
92
|
+
return try {
|
|
93
|
+
reactApplicationContext.currentActivity?.let { activity ->
|
|
94
|
+
if (activity.isInPictureInPictureMode) {
|
|
95
|
+
// Move the task to back to exit PiP mode and return to normal app view
|
|
96
|
+
activity.moveTaskToBack(false)
|
|
97
|
+
true
|
|
98
|
+
} else {
|
|
99
|
+
// Not in PiP mode, so nothing to do
|
|
100
|
+
false
|
|
101
|
+
}
|
|
102
|
+
} ?: false
|
|
103
|
+
} catch (e: Exception) {
|
|
104
|
+
Log.e(NAME, "Failed to exit Picture-in-Picture mode", e)
|
|
105
|
+
false
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
91
109
|
private fun getPiPParams(activity: Activity): PictureInPictureParams.Builder {
|
|
92
110
|
val currentOrientation = activity.resources.configuration.orientation
|
|
93
111
|
val aspect =
|
|
@@ -10,6 +10,7 @@ var _reactNativeIncallManager = _interopRequireDefault(require("react-native-inc
|
|
|
10
10
|
var _CallLayout = require("../CallLayout");
|
|
11
11
|
var _CallControls = require("../CallControls");
|
|
12
12
|
var _videoReactBindings = require("@stream-io/video-react-bindings");
|
|
13
|
+
var _videoClient = require("@stream-io/video-client");
|
|
13
14
|
var _constants = require("../../../constants");
|
|
14
15
|
var _hooks = require("../../../utils/hooks");
|
|
15
16
|
var _Participant = require("../../Participant");
|
|
@@ -46,6 +47,7 @@ const CallContent = ({
|
|
|
46
47
|
callContent
|
|
47
48
|
}
|
|
48
49
|
} = (0, _contexts.useTheme)();
|
|
50
|
+
const call = (0, _videoReactBindings.useCall)();
|
|
49
51
|
const {
|
|
50
52
|
useHasOngoingScreenShare,
|
|
51
53
|
useRemoteParticipants,
|
|
@@ -59,6 +61,24 @@ const CallContent = ({
|
|
|
59
61
|
const isInPiPMode = (0, _hooks2.useIsInPiPMode)();
|
|
60
62
|
const hasScreenShare = useHasOngoingScreenShare();
|
|
61
63
|
const showSpotlightLayout = hasScreenShare || layout === 'spotlight';
|
|
64
|
+
(0, _react.useEffect)(() => {
|
|
65
|
+
if (isInPiPMode && _reactNative.Platform.OS === 'android') {
|
|
66
|
+
const unsubFunc = call?.on('call.ended', () => {
|
|
67
|
+
(0, _videoClient.getLogger)(['CallContent'])('debug', `exiting PiP mode due to call.ended`);
|
|
68
|
+
_reactNative.NativeModules.StreamVideoReactNative.exitPipMode();
|
|
69
|
+
});
|
|
70
|
+
const subscription = call?.state.callingState$.subscribe(state => {
|
|
71
|
+
if (state === _videoClient.CallingState.LEFT) {
|
|
72
|
+
(0, _videoClient.getLogger)(['CallContent'])('debug', `exiting PiP mode due to callingState: LEFT`);
|
|
73
|
+
_reactNative.NativeModules.StreamVideoReactNative.exitPipMode();
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return () => {
|
|
77
|
+
unsubFunc?.();
|
|
78
|
+
subscription?.unsubscribe();
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}, [isInPiPMode, call]);
|
|
62
82
|
const showFloatingView = !showSpotlightLayout && !isInPiPMode && remoteParticipants.length > 0 && remoteParticipants.length < 3;
|
|
63
83
|
const isRemoteParticipantInFloatingView = showFloatingView && showRemoteParticipantInFloatingView && remoteParticipants.length === 1;
|
|
64
84
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeIncallManager","_interopRequireDefault","_CallLayout","_CallControls","_videoReactBindings","_constants","_hooks","_Participant","_contexts","_hooks2","_ScreenShareOverlay","_RTCViewPipIOS","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","CallContent","onHangupCallHandler","CallParticipantsList","CallControls","DefaultCallControls","FloatingParticipantView","DefaultFloatingParticipantView","ScreenShareOverlay","DefaultScreenShareOverlay","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","layout","landscape","supportedReactions","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","initialInCallManagerAudioMode","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","useState","styles","useStyles","theme","callContent","useTheme","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","useCallStateHooks","useAutoEnterPiPEffect","incallManagerModeRef","useRef","_remoteParticipants","remoteParticipants","useDebouncedValue","localParticipant","isInPiPMode","useIsInPiPMode","hasScreenShare","showSpotlightLayout","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeIncallManager","_interopRequireDefault","_CallLayout","_CallControls","_videoReactBindings","_videoClient","_constants","_hooks","_Participant","_contexts","_hooks2","_ScreenShareOverlay","_RTCViewPipIOS","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","CallContent","onHangupCallHandler","CallParticipantsList","CallControls","DefaultCallControls","FloatingParticipantView","DefaultFloatingParticipantView","ScreenShareOverlay","DefaultScreenShareOverlay","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","layout","landscape","supportedReactions","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","initialInCallManagerAudioMode","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","useState","styles","useStyles","theme","callContent","useTheme","useCall","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","useCallStateHooks","useAutoEnterPiPEffect","incallManagerModeRef","useRef","_remoteParticipants","remoteParticipants","useDebouncedValue","localParticipant","isInPiPMode","useIsInPiPMode","hasScreenShare","showSpotlightLayout","useEffect","Platform","OS","unsubFunc","on","getLogger","NativeModules","StreamVideoReactNative","exitPipMode","subscription","state","callingState$","subscribe","CallingState","LEFT","unsubscribe","showFloatingView","isRemoteParticipantInFloatingView","InCallManager","start","media","current","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","RTCViewPipIOS","includeLocalParticipantVideo","View","style","container","content","callParticipantsContainer","view","topContainer","pointerEvents","participant","onPressHandler","objectFit","CallParticipantsSpotlight","CallParticipantsGrid","exports","useMemo","StyleSheet","create","flex","paddingBottom","variants","insets","bottom","paddingLeft","left","paddingRight","right","paddingTop","top","backgroundColor","colors","sheetPrimary","absoluteFillObject","zIndex","Z_INDEX","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -50,8 +50,9 @@ const AppStateListener = () => {
|
|
|
50
50
|
const subscription = _reactNative.AppState.addEventListener('change', nextAppState => {
|
|
51
51
|
const logger = (0, _videoClient.getLogger)(['AppStateListener']);
|
|
52
52
|
if (appState.current.match(/background/) && nextAppState === 'active') {
|
|
53
|
-
if (call?.camera?.state.status === 'enabled'
|
|
54
|
-
// when device is locked and resumed, the status isnt made disabled but stays enabled
|
|
53
|
+
if (call?.camera?.state.status === 'enabled') {
|
|
54
|
+
// Android: when device is locked and resumed, the status isnt made disabled but stays enabled
|
|
55
|
+
// iOS PiP: when local track was replaced by remote track, the local track shown is blank
|
|
55
56
|
// as a workaround we stop the track and enable again if its already in enabled state
|
|
56
57
|
call?.camera?.disable(true).then(() => {
|
|
57
58
|
call?.camera?.enable();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_videoReactBindings","require","_react","_reactNative","_shouldDisableIOSLocalVideoOnBackground","_rxSubjects","_videoClient","PIP_CHANGE_EVENT","isAndroid8OrAbove","Platform","OS","Version","AppStateListener","call","useCall","appState","useRef","AppState","currentState","cameraDisabledByAppState","useEffect","disablePiP","RxUtils","getCurrentValue","disablePiPMode$","logger","getLogger","initialPipMode","isInPiPModeAndroid$","next","NativeModules","StreamVideoReactNative","isInPiPMode","then","isInPiP","eventEmitter","NativeEventEmitter","subscriptionPiPChange","addListener","remove","subscription","addEventListener","nextAppState","current","match","camera","state","status","disable","enable","resume","disableCameraIfNeeded","shouldDisableIOSLocalVideoOnBackgroundRef","exports"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/AppStateListener.tsx"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAMA,IAAAG,uCAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAIA,IAAAK,YAAA,GAAAL,OAAA;AAEA,MAAMM,gBAAgB,GAAG,yCAAyC;AAElE,MAAMC,iBAAiB,GAAGC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAID,qBAAQ,CAACE,OAAO,IAAI,EAAE;;AAE7E;AACA;AACA;AACO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,IAAI,GAAG,IAAAC,2BAAO,EAAC,CAAC;EACtB,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAACC,qBAAQ,CAACC,YAAY,CAAC;EAC9C,MAAMC,wBAAwB,GAAG,IAAAH,aAAM,EAAU,KAAK,CAAC;;EAEvD;EACA,IAAAI,gBAAS,EAAC,MAAM;IACd,IAAI,CAACZ,iBAAiB,EAAE;MACtB;IACF;IAEA,MAAMa,UAAU,GAAGC,oBAAO,CAACC,eAAe,CAACC,2BAAe,CAAC;IAC3D,MAAMC,MAAM,GAAG,IAAAC,sBAAS,EAAC,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAMC,cAAc,GAClB,CAACN,UAAU,IAAIJ,qBAAQ,CAACC,YAAY,KAAK,YAAY;IACvDU,+BAAmB,CAACC,IAAI,CAACF,cAAc,CAAC;IACxCF,MAAM,CAAC,OAAO,EAAE,mCAAmC,EAAEE,cAAc,CAAC;IAEpEG,0BAAa,EAAEC,sBAAsB,EAAEC,WAAW,CAAC,CAAC,CAACC,IAAI,CACtDC,OAAmC,IAAK;MACvCN,+BAAmB,CAACC,IAAI,CAAC,CAAC,CAACK,OAAO,CAAC;MACnCT,MAAM,CACJ,OAAO,EACP,gEAAgE,EAChE,CAAC,CAACS,OACJ,CAAC;IACH,CACF,CAAC;IAED,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CACzCN,0BAAa,CAACC,sBAChB,CAAC;IAED,MAAMM,qBAAqB,GAAGF,YAAY,CAACG,WAAW,CACpD/B,gBAAgB,EACfyB,WAAoB,IAAK;MACxBJ,+BAAmB,CAACC,IAAI,CAACG,WAAW,CAAC;IACvC,CACF,CAAC;IAED,OAAO,MAAM;MACXK,qBAAqB,CAACE,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAnB,gBAAS,EAAC,MAAM;IACd;IACA;IACA;IACA,MAAMoB,YAAY,GAAGvB,qBAAQ,CAACwB,gBAAgB,CAAC,QAAQ,EAAGC,YAAY,IAAK;MACzE,MAAMjB,MAAM,GAAG,IAAAC,sBAAS,EAAC,CAAC,kBAAkB,CAAC,CAAC;MAC9C,IAAIX,QAAQ,CAAC4B,OAAO,CAACC,KAAK,CAAC,YAAY,CAAC,IAAIF,YAAY,KAAK,QAAQ,EAAE;QACrE,
|
|
1
|
+
{"version":3,"names":["_videoReactBindings","require","_react","_reactNative","_shouldDisableIOSLocalVideoOnBackground","_rxSubjects","_videoClient","PIP_CHANGE_EVENT","isAndroid8OrAbove","Platform","OS","Version","AppStateListener","call","useCall","appState","useRef","AppState","currentState","cameraDisabledByAppState","useEffect","disablePiP","RxUtils","getCurrentValue","disablePiPMode$","logger","getLogger","initialPipMode","isInPiPModeAndroid$","next","NativeModules","StreamVideoReactNative","isInPiPMode","then","isInPiP","eventEmitter","NativeEventEmitter","subscriptionPiPChange","addListener","remove","subscription","addEventListener","nextAppState","current","match","camera","state","status","disable","enable","resume","disableCameraIfNeeded","shouldDisableIOSLocalVideoOnBackgroundRef","exports"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/AppStateListener.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/commonjs/version.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
-
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import { StyleSheet, View, NativeModules, Platform } from 'react-native';
|
|
4
4
|
import InCallManager from 'react-native-incall-manager';
|
|
5
5
|
import { CallParticipantsGrid, CallParticipantsSpotlight } from '../CallLayout';
|
|
6
6
|
import { CallControls as DefaultCallControls } from '../CallControls';
|
|
7
|
-
import { useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
7
|
+
import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
8
|
+
import { CallingState, getLogger } from '@stream-io/video-client';
|
|
8
9
|
import { Z_INDEX } from '../../../constants';
|
|
9
10
|
import { useDebouncedValue } from '../../../utils/hooks';
|
|
10
11
|
import { FloatingParticipantView as DefaultFloatingParticipantView } from '../../Participant';
|
|
@@ -38,6 +39,7 @@ export const CallContent = ({
|
|
|
38
39
|
callContent
|
|
39
40
|
}
|
|
40
41
|
} = useTheme();
|
|
42
|
+
const call = useCall();
|
|
41
43
|
const {
|
|
42
44
|
useHasOngoingScreenShare,
|
|
43
45
|
useRemoteParticipants,
|
|
@@ -51,6 +53,24 @@ export const CallContent = ({
|
|
|
51
53
|
const isInPiPMode = useIsInPiPMode();
|
|
52
54
|
const hasScreenShare = useHasOngoingScreenShare();
|
|
53
55
|
const showSpotlightLayout = hasScreenShare || layout === 'spotlight';
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
if (isInPiPMode && Platform.OS === 'android') {
|
|
58
|
+
const unsubFunc = call?.on('call.ended', () => {
|
|
59
|
+
getLogger(['CallContent'])('debug', `exiting PiP mode due to call.ended`);
|
|
60
|
+
NativeModules.StreamVideoReactNative.exitPipMode();
|
|
61
|
+
});
|
|
62
|
+
const subscription = call?.state.callingState$.subscribe(state => {
|
|
63
|
+
if (state === CallingState.LEFT) {
|
|
64
|
+
getLogger(['CallContent'])('debug', `exiting PiP mode due to callingState: LEFT`);
|
|
65
|
+
NativeModules.StreamVideoReactNative.exitPipMode();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
return () => {
|
|
69
|
+
unsubFunc?.();
|
|
70
|
+
subscription?.unsubscribe();
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}, [isInPiPMode, call]);
|
|
54
74
|
const showFloatingView = !showSpotlightLayout && !isInPiPMode && remoteParticipants.length > 0 && remoteParticipants.length < 3;
|
|
55
75
|
const isRemoteParticipantInFloatingView = showFloatingView && showRemoteParticipantInFloatingView && remoteParticipants.length === 1;
|
|
56
76
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useMemo","useRef","useState","StyleSheet","View","InCallManager","CallParticipantsGrid","CallParticipantsSpotlight","CallControls","DefaultCallControls","useCallStateHooks","Z_INDEX","useDebouncedValue","FloatingParticipantView","DefaultFloatingParticipantView","useTheme","useAutoEnterPiPEffect","useIsInPiPMode","ScreenShareOverlay","DefaultScreenShareOverlay","RTCViewPipIOS","CallContent","onHangupCallHandler","CallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","layout","landscape","supportedReactions","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","initialInCallManagerAudioMode","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","styles","useStyles","theme","callContent","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","incallManagerModeRef","_remoteParticipants","remoteParticipants","localParticipant","isInPiPMode","hasScreenShare","showSpotlightLayout","showFloatingView","length","isRemoteParticipantInFloatingView","start","media","current","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","includeLocalParticipantVideo","style","container","content","callParticipantsContainer","view","topContainer","pointerEvents","_extends","participant","onPressHandler","objectFit","create","flex","paddingBottom","variants","insets","bottom","paddingLeft","left","paddingRight","right","paddingTop","top","backgroundColor","colors","sheetPrimary","absoluteFillObject","zIndex","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACnE,
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useRef","useState","StyleSheet","View","NativeModules","Platform","InCallManager","CallParticipantsGrid","CallParticipantsSpotlight","CallControls","DefaultCallControls","useCall","useCallStateHooks","CallingState","getLogger","Z_INDEX","useDebouncedValue","FloatingParticipantView","DefaultFloatingParticipantView","useTheme","useAutoEnterPiPEffect","useIsInPiPMode","ScreenShareOverlay","DefaultScreenShareOverlay","RTCViewPipIOS","CallContent","onHangupCallHandler","CallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","layout","landscape","supportedReactions","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","initialInCallManagerAudioMode","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","styles","useStyles","theme","callContent","call","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","incallManagerModeRef","_remoteParticipants","remoteParticipants","localParticipant","isInPiPMode","hasScreenShare","showSpotlightLayout","OS","unsubFunc","on","StreamVideoReactNative","exitPipMode","subscription","state","callingState$","subscribe","LEFT","unsubscribe","showFloatingView","length","isRemoteParticipantInFloatingView","start","media","current","stop","handleFloatingViewParticipantSwitch","prevState","participantViewProps","callParticipantsGridProps","showLocalParticipant","callParticipantsSpotlightProps","landscapeStyles","flexDirection","createElement","Fragment","includeLocalParticipantVideo","style","container","content","callParticipantsContainer","view","topContainer","pointerEvents","_extends","participant","onPressHandler","objectFit","create","flex","paddingBottom","variants","insets","bottom","paddingLeft","left","paddingRight","right","paddingTop","top","backgroundColor","colors","sheetPrimary","absoluteFillObject","zIndex","IN_FRONT"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/CallContent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,8 +44,9 @@ export const AppStateListener = () => {
|
|
|
44
44
|
const subscription = AppState.addEventListener('change', nextAppState => {
|
|
45
45
|
const logger = getLogger(['AppStateListener']);
|
|
46
46
|
if (appState.current.match(/background/) && nextAppState === 'active') {
|
|
47
|
-
if (call?.camera?.state.status === 'enabled'
|
|
48
|
-
// when device is locked and resumed, the status isnt made disabled but stays enabled
|
|
47
|
+
if (call?.camera?.state.status === 'enabled') {
|
|
48
|
+
// Android: when device is locked and resumed, the status isnt made disabled but stays enabled
|
|
49
|
+
// iOS PiP: when local track was replaced by remote track, the local track shown is blank
|
|
49
50
|
// as a workaround we stop the track and enable again if its already in enabled state
|
|
50
51
|
call?.camera?.disable(true).then(() => {
|
|
51
52
|
call?.camera?.enable();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCall","useEffect","useRef","AppState","NativeEventEmitter","NativeModules","Platform","shouldDisableIOSLocalVideoOnBackgroundRef","disablePiPMode$","isInPiPModeAndroid$","getLogger","RxUtils","PIP_CHANGE_EVENT","isAndroid8OrAbove","OS","Version","AppStateListener","call","appState","currentState","cameraDisabledByAppState","disablePiP","getCurrentValue","logger","initialPipMode","next","StreamVideoReactNative","isInPiPMode","then","isInPiP","eventEmitter","subscriptionPiPChange","addListener","remove","subscription","addEventListener","nextAppState","current","match","camera","state","status","disable","enable","resume","disableCameraIfNeeded"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/AppStateListener.tsx"],"mappings":"AAAA,SAASA,OAAO,QAAQ,iCAAiC;AACzD,SAASC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QACH,cAAc;AACrB,SAASC,yCAAyC,QAAQ,6DAA6D;AACvH,SACEC,eAAe,EACfC,mBAAmB,QACd,iCAAiC;AACxC,SAASC,SAAS,EAAEC,OAAO,QAAQ,yBAAyB;AAE5D,MAAMC,gBAAgB,GAAG,yCAAyC;AAElE,MAAMC,iBAAiB,GAAGP,QAAQ,CAACQ,EAAE,KAAK,SAAS,IAAIR,QAAQ,CAACS,OAAO,IAAI,EAAE;;AAE7E;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,IAAI,GAAGjB,OAAO,CAAC,CAAC;EACtB,MAAMkB,QAAQ,GAAGhB,MAAM,CAACC,QAAQ,CAACgB,YAAY,CAAC;EAC9C,MAAMC,wBAAwB,GAAGlB,MAAM,CAAU,KAAK,CAAC;;EAEvD;EACAD,SAAS,CAAC,MAAM;IACd,IAAI,CAACY,iBAAiB,EAAE;MACtB;IACF;IAEA,MAAMQ,UAAU,GAAGV,OAAO,CAACW,eAAe,CAACd,eAAe,CAAC;IAC3D,MAAMe,MAAM,GAAGb,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAMc,cAAc,GAClB,CAACH,UAAU,IAAIlB,QAAQ,CAACgB,YAAY,KAAK,YAAY;IACvDV,mBAAmB,CAACgB,IAAI,CAACD,cAAc,CAAC;IACxCD,MAAM,CAAC,OAAO,EAAE,mCAAmC,EAAEC,cAAc,CAAC;IAEpEnB,aAAa,EAAEqB,sBAAsB,EAAEC,WAAW,CAAC,CAAC,CAACC,IAAI,CACtDC,OAAmC,IAAK;MACvCpB,mBAAmB,CAACgB,IAAI,CAAC,CAAC,CAACI,OAAO,CAAC;MACnCN,MAAM,CACJ,OAAO,EACP,gEAAgE,EAChE,CAAC,CAACM,OACJ,CAAC;IACH,CACF,CAAC;IAED,MAAMC,YAAY,GAAG,IAAI1B,kBAAkB,CACzCC,aAAa,CAACqB,sBAChB,CAAC;IAED,MAAMK,qBAAqB,GAAGD,YAAY,CAACE,WAAW,CACpDpB,gBAAgB,EACfe,WAAoB,IAAK;MACxBlB,mBAAmB,CAACgB,IAAI,CAACE,WAAW,CAAC;IACvC,CACF,CAAC;IAED,OAAO,MAAM;MACXI,qBAAqB,CAACE,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENhC,SAAS,CAAC,MAAM;IACd;IACA;IACA;IACA,MAAMiC,YAAY,GAAG/B,QAAQ,CAACgC,gBAAgB,CAAC,QAAQ,EAAGC,YAAY,IAAK;MACzE,MAAMb,MAAM,GAAGb,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;MAC9C,IAAIQ,QAAQ,CAACmB,OAAO,CAACC,KAAK,CAAC,YAAY,CAAC,IAAIF,YAAY,KAAK,QAAQ,EAAE;QACrE,
|
|
1
|
+
{"version":3,"names":["useCall","useEffect","useRef","AppState","NativeEventEmitter","NativeModules","Platform","shouldDisableIOSLocalVideoOnBackgroundRef","disablePiPMode$","isInPiPModeAndroid$","getLogger","RxUtils","PIP_CHANGE_EVENT","isAndroid8OrAbove","OS","Version","AppStateListener","call","appState","currentState","cameraDisabledByAppState","disablePiP","getCurrentValue","logger","initialPipMode","next","StreamVideoReactNative","isInPiPMode","then","isInPiP","eventEmitter","subscriptionPiPChange","addListener","remove","subscription","addEventListener","nextAppState","current","match","camera","state","status","disable","enable","resume","disableCameraIfNeeded"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/AppStateListener.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/module/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '1.19.
|
|
1
|
+
export const version = '1.19.1';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/CallContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CallContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/CallContent/CallContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAepE,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC/B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAG1C,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,yBAAyB,GAAG,6BAA6B,GAC5D,IAAI,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,GAAG;IAC5D;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC5D;;OAEG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;IACnF;;OAEG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAC7E;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;CAC1E,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,qBAAqB,EACrB,qBAAqB,CACtB,GACC,yBAAyB,GAAG;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAK1C,SAAS,CAAC,EAAE,OAAO,CAAC;IAIpB,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;OAMG;IACH,6BAA6B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACnD,CAAC;AAEJ,eAAO,MAAM,WAAW,GAAI,mXAkBzB,gBAAgB,sBA4JlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppStateListener.d.ts","sourceRoot":"","sources":["../../../../src/providers/StreamCall/AppStateListener.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"AppStateListener.d.ts","sourceRoot":"","sources":["../../../../src/providers/StreamCall/AppStateListener.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,gBAAgB,YA2H5B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.19.
|
|
1
|
+
export declare const version = "1.19.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
StyleSheet,
|
|
4
|
+
View,
|
|
5
|
+
NativeModules,
|
|
6
|
+
type ViewStyle,
|
|
7
|
+
Platform,
|
|
8
|
+
} from 'react-native';
|
|
3
9
|
import InCallManager from 'react-native-incall-manager';
|
|
4
10
|
import {
|
|
5
11
|
CallParticipantsGrid,
|
|
@@ -12,8 +18,12 @@ import {
|
|
|
12
18
|
CallControls as DefaultCallControls,
|
|
13
19
|
type HangUpCallButtonProps,
|
|
14
20
|
} from '../CallControls';
|
|
15
|
-
import { useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
16
|
-
import {
|
|
21
|
+
import { useCall, useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
22
|
+
import {
|
|
23
|
+
CallingState,
|
|
24
|
+
getLogger,
|
|
25
|
+
type StreamReaction,
|
|
26
|
+
} from '@stream-io/video-client';
|
|
17
27
|
|
|
18
28
|
import { Z_INDEX } from '../../../constants';
|
|
19
29
|
import { useDebouncedValue } from '../../../utils/hooks';
|
|
@@ -121,6 +131,7 @@ export const CallContent = ({
|
|
|
121
131
|
const {
|
|
122
132
|
theme: { callContent },
|
|
123
133
|
} = useTheme();
|
|
134
|
+
const call = useCall();
|
|
124
135
|
const {
|
|
125
136
|
useHasOngoingScreenShare,
|
|
126
137
|
useRemoteParticipants,
|
|
@@ -138,6 +149,31 @@ export const CallContent = ({
|
|
|
138
149
|
const hasScreenShare = useHasOngoingScreenShare();
|
|
139
150
|
const showSpotlightLayout = hasScreenShare || layout === 'spotlight';
|
|
140
151
|
|
|
152
|
+
useEffect(() => {
|
|
153
|
+
if (isInPiPMode && Platform.OS === 'android') {
|
|
154
|
+
const unsubFunc = call?.on('call.ended', () => {
|
|
155
|
+
getLogger(['CallContent'])(
|
|
156
|
+
'debug',
|
|
157
|
+
`exiting PiP mode due to call.ended`,
|
|
158
|
+
);
|
|
159
|
+
NativeModules.StreamVideoReactNative.exitPipMode();
|
|
160
|
+
});
|
|
161
|
+
const subscription = call?.state.callingState$.subscribe((state) => {
|
|
162
|
+
if (state === CallingState.LEFT) {
|
|
163
|
+
getLogger(['CallContent'])(
|
|
164
|
+
'debug',
|
|
165
|
+
`exiting PiP mode due to callingState: LEFT`,
|
|
166
|
+
);
|
|
167
|
+
NativeModules.StreamVideoReactNative.exitPipMode();
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
return () => {
|
|
171
|
+
unsubFunc?.();
|
|
172
|
+
subscription?.unsubscribe();
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
}, [isInPiPMode, call]);
|
|
176
|
+
|
|
141
177
|
const showFloatingView =
|
|
142
178
|
!showSpotlightLayout &&
|
|
143
179
|
!isInPiPMode &&
|
|
@@ -72,11 +72,9 @@ export const AppStateListener = () => {
|
|
|
72
72
|
const subscription = AppState.addEventListener('change', (nextAppState) => {
|
|
73
73
|
const logger = getLogger(['AppStateListener']);
|
|
74
74
|
if (appState.current.match(/background/) && nextAppState === 'active') {
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
) {
|
|
79
|
-
// when device is locked and resumed, the status isnt made disabled but stays enabled
|
|
75
|
+
if (call?.camera?.state.status === 'enabled') {
|
|
76
|
+
// Android: when device is locked and resumed, the status isnt made disabled but stays enabled
|
|
77
|
+
// iOS PiP: when local track was replaced by remote track, the local track shown is blank
|
|
80
78
|
// as a workaround we stop the track and enable again if its already in enabled state
|
|
81
79
|
call?.camera?.disable(true).then(() => {
|
|
82
80
|
call?.camera?.enable();
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '1.19.
|
|
1
|
+
export const version = '1.19.1';
|