@stream-io/video-react-native-sdk 1.21.1 → 1.22.0

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.
Files changed (214) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/android/gradle.properties +3 -3
  3. package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +10 -0
  4. package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativePackage.kt +2 -1
  5. package/android/src/main/java/com/streamvideo/reactnative/audio/AudioDeviceManager.kt +592 -0
  6. package/android/src/main/java/com/streamvideo/reactnative/audio/BluetoothManager.kt +755 -0
  7. package/android/src/main/java/com/streamvideo/reactnative/audio/utils/AudioDeviceEndpointUtils.kt +192 -0
  8. package/android/src/main/java/com/streamvideo/reactnative/audio/utils/AudioFocusUtil.kt +62 -0
  9. package/android/src/main/java/com/streamvideo/reactnative/audio/utils/AudioManagerUtil.kt +159 -0
  10. package/android/src/main/java/com/streamvideo/reactnative/audio/utils/AudioSetupStoreUtil.kt +41 -0
  11. package/android/src/main/java/com/streamvideo/reactnative/audio/utils/WebRtcAudioUtils.kt +250 -0
  12. package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +191 -0
  13. package/android/src/main/java/com/streamvideo/reactnative/model/AudioDeviceEndpoint.kt +136 -0
  14. package/android/src/main/java/org/webrtc/audio/WebRtcAudioTrackHelper.kt +12 -0
  15. package/dist/commonjs/components/Call/CallContent/CallContent.js +13 -9
  16. package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
  17. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js +9 -2
  18. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  19. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js +3 -0
  20. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  21. package/dist/commonjs/components/Livestream/HostLivestream/HostLivestream.js +10 -6
  22. package/dist/commonjs/components/Livestream/HostLivestream/HostLivestream.js.map +1 -1
  23. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLivestreamControls.js +8 -4
  24. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLivestreamControls.js.map +1 -1
  25. package/dist/commonjs/components/Livestream/LivestreamLayout/LivestreamLayout.js +26 -27
  26. package/dist/commonjs/components/Livestream/LivestreamLayout/LivestreamLayout.js.map +1 -1
  27. package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLivestream.js +10 -6
  28. package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLivestream.js.map +1 -1
  29. package/dist/commonjs/hooks/useIsInPiPMode.js +3 -3
  30. package/dist/commonjs/hooks/useIsInPiPMode.js.map +1 -1
  31. package/dist/commonjs/hooks/usePermissionNotification.js +5 -5
  32. package/dist/commonjs/hooks/usePermissionNotification.js.map +1 -1
  33. package/dist/commonjs/index.js +12 -0
  34. package/dist/commonjs/index.js.map +1 -1
  35. package/dist/commonjs/modules/call-manager/CallManager.js +113 -0
  36. package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -0
  37. package/dist/commonjs/modules/call-manager/PrevLibDetection.js +18 -0
  38. package/dist/commonjs/modules/call-manager/PrevLibDetection.js.map +1 -0
  39. package/dist/commonjs/modules/call-manager/index.js +24 -0
  40. package/dist/commonjs/modules/call-manager/index.js.map +1 -0
  41. package/dist/commonjs/modules/call-manager/native-module.d.js +4 -0
  42. package/dist/commonjs/modules/call-manager/native-module.d.js.map +1 -0
  43. package/dist/commonjs/modules/call-manager/types.js +2 -0
  44. package/dist/commonjs/modules/call-manager/types.js.map +1 -0
  45. package/dist/commonjs/providers/StreamCall/AppStateListener.js +5 -5
  46. package/dist/commonjs/providers/StreamCall/AppStateListener.js.map +1 -1
  47. package/dist/commonjs/theme/theme.js.map +1 -1
  48. package/dist/commonjs/utils/internal/rxSubjects.js +2 -2
  49. package/dist/commonjs/utils/internal/rxSubjects.js.map +1 -1
  50. package/dist/commonjs/version.js +1 -1
  51. package/dist/module/components/Call/CallContent/CallContent.js +14 -9
  52. package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
  53. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js +9 -2
  54. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  55. package/dist/module/components/Call/CallContent/RTCViewPipNative.js +3 -0
  56. package/dist/module/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  57. package/dist/module/components/Livestream/HostLivestream/HostLivestream.js +10 -5
  58. package/dist/module/components/Livestream/HostLivestream/HostLivestream.js.map +1 -1
  59. package/dist/module/components/Livestream/LivestreamControls/ViewerLivestreamControls.js +9 -4
  60. package/dist/module/components/Livestream/LivestreamControls/ViewerLivestreamControls.js.map +1 -1
  61. package/dist/module/components/Livestream/LivestreamLayout/LivestreamLayout.js +26 -27
  62. package/dist/module/components/Livestream/LivestreamLayout/LivestreamLayout.js.map +1 -1
  63. package/dist/module/components/Livestream/ViewerLivestream/ViewerLivestream.js +10 -5
  64. package/dist/module/components/Livestream/ViewerLivestream/ViewerLivestream.js.map +1 -1
  65. package/dist/module/hooks/useIsInPiPMode.js +4 -4
  66. package/dist/module/hooks/useIsInPiPMode.js.map +1 -1
  67. package/dist/module/hooks/usePermissionNotification.js +7 -6
  68. package/dist/module/hooks/usePermissionNotification.js.map +1 -1
  69. package/dist/module/icons/Back.js +1 -1
  70. package/dist/module/icons/Back.js.map +1 -1
  71. package/dist/module/icons/CameraSwitch.js +1 -1
  72. package/dist/module/icons/CameraSwitch.js.map +1 -1
  73. package/dist/module/icons/Mic.js +1 -1
  74. package/dist/module/icons/Mic.js.map +1 -1
  75. package/dist/module/icons/MicOff.js +1 -1
  76. package/dist/module/icons/MicOff.js.map +1 -1
  77. package/dist/module/icons/Phone.js +1 -1
  78. package/dist/module/icons/Phone.js.map +1 -1
  79. package/dist/module/icons/PinVertical.js +1 -1
  80. package/dist/module/icons/PinVertical.js.map +1 -1
  81. package/dist/module/icons/Reaction.js +1 -1
  82. package/dist/module/icons/Reaction.js.map +1 -1
  83. package/dist/module/icons/Spotlight.js +1 -1
  84. package/dist/module/icons/Spotlight.js.map +1 -1
  85. package/dist/module/icons/Video.js +1 -1
  86. package/dist/module/icons/Video.js.map +1 -1
  87. package/dist/module/icons/VideoSlash.js +1 -1
  88. package/dist/module/icons/VideoSlash.js.map +1 -1
  89. package/dist/module/index.js +1 -0
  90. package/dist/module/index.js.map +1 -1
  91. package/dist/module/modules/call-manager/CallManager.js +106 -0
  92. package/dist/module/modules/call-manager/CallManager.js.map +1 -0
  93. package/dist/module/modules/call-manager/PrevLibDetection.js +12 -0
  94. package/dist/module/modules/call-manager/PrevLibDetection.js.map +1 -0
  95. package/dist/module/modules/call-manager/index.js +4 -0
  96. package/dist/module/modules/call-manager/index.js.map +1 -0
  97. package/dist/module/modules/call-manager/native-module.d.js +2 -0
  98. package/dist/module/modules/call-manager/native-module.d.js.map +1 -0
  99. package/dist/module/modules/call-manager/types.js +2 -0
  100. package/dist/module/modules/call-manager/types.js.map +1 -0
  101. package/dist/module/providers/StreamCall/AppStateListener.js +6 -6
  102. package/dist/module/providers/StreamCall/AppStateListener.js.map +1 -1
  103. package/dist/module/theme/theme.js.map +1 -1
  104. package/dist/module/utils/internal/rxSubjects.js +1 -1
  105. package/dist/module/utils/internal/rxSubjects.js.map +1 -1
  106. package/dist/module/version.js +1 -1
  107. package/dist/typescript/components/Call/CallContent/CallContent.d.ts +3 -2
  108. package/dist/typescript/components/Call/CallContent/CallContent.d.ts.map +1 -1
  109. package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts +5 -0
  110. package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts.map +1 -1
  111. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts +6 -0
  112. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts.map +1 -1
  113. package/dist/typescript/components/Livestream/HostLivestream/HostLivestream.d.ts.map +1 -1
  114. package/dist/typescript/components/Livestream/LivestreamControls/ViewerLivestreamControls.d.ts.map +1 -1
  115. package/dist/typescript/components/Livestream/LivestreamLayout/LivestreamLayout.d.ts.map +1 -1
  116. package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLivestream.d.ts.map +1 -1
  117. package/dist/typescript/hooks/usePermissionNotification.d.ts.map +1 -1
  118. package/dist/typescript/icons/Back.d.ts +1 -1
  119. package/dist/typescript/icons/Back.d.ts.map +1 -1
  120. package/dist/typescript/icons/BadNetwork.d.ts +1 -1
  121. package/dist/typescript/icons/BadNetwork.d.ts.map +1 -1
  122. package/dist/typescript/icons/CameraSwitch.d.ts +1 -1
  123. package/dist/typescript/icons/CameraSwitch.d.ts.map +1 -1
  124. package/dist/typescript/icons/LivestreamControls.d.ts +1 -1
  125. package/dist/typescript/icons/LivestreamControls.d.ts.map +1 -1
  126. package/dist/typescript/icons/Lock.d.ts +1 -1
  127. package/dist/typescript/icons/Lock.d.ts.map +1 -1
  128. package/dist/typescript/icons/Maximize.d.ts +1 -1
  129. package/dist/typescript/icons/Maximize.d.ts.map +1 -1
  130. package/dist/typescript/icons/Mic.d.ts +1 -1
  131. package/dist/typescript/icons/Mic.d.ts.map +1 -1
  132. package/dist/typescript/icons/MicOff.d.ts +1 -1
  133. package/dist/typescript/icons/MicOff.d.ts.map +1 -1
  134. package/dist/typescript/icons/Phone.d.ts +1 -1
  135. package/dist/typescript/icons/Phone.d.ts.map +1 -1
  136. package/dist/typescript/icons/PhoneDown.d.ts +1 -1
  137. package/dist/typescript/icons/PhoneDown.d.ts.map +1 -1
  138. package/dist/typescript/icons/PinVertical.d.ts +1 -1
  139. package/dist/typescript/icons/PinVertical.d.ts.map +1 -1
  140. package/dist/typescript/icons/Reaction.d.ts +1 -1
  141. package/dist/typescript/icons/Reaction.d.ts.map +1 -1
  142. package/dist/typescript/icons/ScreenShare.d.ts +1 -1
  143. package/dist/typescript/icons/ScreenShare.d.ts.map +1 -1
  144. package/dist/typescript/icons/ScreenShareIndicator.d.ts +1 -1
  145. package/dist/typescript/icons/ScreenShareIndicator.d.ts.map +1 -1
  146. package/dist/typescript/icons/Spotlight.d.ts +1 -1
  147. package/dist/typescript/icons/Spotlight.d.ts.map +1 -1
  148. package/dist/typescript/icons/StopScreenShare.d.ts +1 -1
  149. package/dist/typescript/icons/StopScreenShare.d.ts.map +1 -1
  150. package/dist/typescript/icons/Video.d.ts +1 -1
  151. package/dist/typescript/icons/Video.d.ts.map +1 -1
  152. package/dist/typescript/icons/VideoSlash.d.ts +1 -1
  153. package/dist/typescript/icons/VideoSlash.d.ts.map +1 -1
  154. package/dist/typescript/index.d.ts +1 -0
  155. package/dist/typescript/index.d.ts.map +1 -1
  156. package/dist/typescript/modules/call-manager/CallManager.d.ts +67 -0
  157. package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -0
  158. package/dist/typescript/modules/call-manager/PrevLibDetection.d.ts +13 -0
  159. package/dist/typescript/modules/call-manager/PrevLibDetection.d.ts.map +1 -0
  160. package/dist/typescript/modules/call-manager/index.d.ts +4 -0
  161. package/dist/typescript/modules/call-manager/index.d.ts.map +1 -0
  162. package/dist/typescript/modules/call-manager/types.d.ts +15 -0
  163. package/dist/typescript/modules/call-manager/types.d.ts.map +1 -0
  164. package/dist/typescript/providers/StreamCall/AppStateListener.d.ts.map +1 -1
  165. package/dist/typescript/theme/theme.d.ts +1 -2
  166. package/dist/typescript/theme/theme.d.ts.map +1 -1
  167. package/dist/typescript/utils/internal/rxSubjects.d.ts +1 -1
  168. package/dist/typescript/utils/internal/rxSubjects.d.ts.map +1 -1
  169. package/dist/typescript/version.d.ts +1 -1
  170. package/ios/PictureInPicture/StreamPictureInPictureController.swift +5 -0
  171. package/ios/RTCViewPip.swift +15 -0
  172. package/ios/RTCViewPipManager.mm +1 -0
  173. package/ios/StreamInCallManager.m +26 -0
  174. package/ios/StreamInCallManager.swift +303 -0
  175. package/ios/StreamVideoReactNative-Bridging-Header.h +1 -0
  176. package/ios/StreamVideoReactNative.m +6 -5
  177. package/package.json +32 -34
  178. package/src/components/Call/CallContent/CallContent.tsx +14 -10
  179. package/src/components/Call/CallContent/RTCViewPipIOS.tsx +17 -2
  180. package/src/components/Call/CallContent/RTCViewPipNative.tsx +8 -0
  181. package/src/components/Livestream/HostLivestream/HostLivestream.tsx +8 -3
  182. package/src/components/Livestream/LivestreamControls/ViewerLivestreamControls.tsx +11 -5
  183. package/src/components/Livestream/LivestreamLayout/LivestreamLayout.tsx +38 -29
  184. package/src/components/Livestream/ViewerLivestream/ViewerLivestream.tsx +8 -3
  185. package/src/hooks/useIsInPiPMode.tsx +4 -4
  186. package/src/hooks/usePermissionNotification.tsx +7 -12
  187. package/src/icons/Back.tsx +2 -2
  188. package/src/icons/BadNetwork.tsx +1 -1
  189. package/src/icons/CameraSwitch.tsx +2 -2
  190. package/src/icons/LivestreamControls.tsx +1 -1
  191. package/src/icons/Lock.tsx +1 -1
  192. package/src/icons/Maximize.tsx +1 -1
  193. package/src/icons/Mic.tsx +2 -2
  194. package/src/icons/MicOff.tsx +2 -2
  195. package/src/icons/Phone.tsx +2 -2
  196. package/src/icons/PhoneDown.tsx +1 -1
  197. package/src/icons/PinVertical.tsx +2 -2
  198. package/src/icons/Reaction.tsx +2 -2
  199. package/src/icons/ScreenShare.tsx +1 -1
  200. package/src/icons/ScreenShareIndicator.tsx +1 -1
  201. package/src/icons/Spotlight.tsx +2 -2
  202. package/src/icons/StopScreenShare.tsx +1 -1
  203. package/src/icons/Video.tsx +2 -2
  204. package/src/icons/VideoSlash.tsx +2 -2
  205. package/src/index.ts +1 -0
  206. package/src/modules/call-manager/CallManager.ts +116 -0
  207. package/src/modules/call-manager/PrevLibDetection.ts +27 -0
  208. package/src/modules/call-manager/index.ts +5 -0
  209. package/src/modules/call-manager/native-module.d.ts +80 -0
  210. package/src/modules/call-manager/types.ts +25 -0
  211. package/src/providers/StreamCall/AppStateListener.tsx +6 -9
  212. package/src/theme/theme.ts +2 -2
  213. package/src/utils/internal/rxSubjects.ts +1 -1
  214. package/src/version.ts +1 -1
@@ -7,10 +7,7 @@ import {
7
7
  Platform,
8
8
  } from 'react-native';
9
9
  import { shouldDisableIOSLocalVideoOnBackgroundRef } from '../../utils/internal/shouldDisableIOSLocalVideoOnBackground';
10
- import {
11
- disablePiPMode$,
12
- isInPiPModeAndroid$,
13
- } from '../../utils/internal/rxSubjects';
10
+ import { disablePiPMode$, isInPiPMode$ } from '../../utils/internal/rxSubjects';
14
11
  import { getLogger, RxUtils } from '@stream-io/video-client';
15
12
 
16
13
  const PIP_CHANGE_EVENT = 'StreamVideoReactNative_PIP_CHANGE_EVENT';
@@ -35,12 +32,12 @@ export const AppStateListener = () => {
35
32
  const logger = getLogger(['AppStateListener']);
36
33
  const initialPipMode =
37
34
  !disablePiP && AppState.currentState === 'background';
38
- isInPiPModeAndroid$.next(initialPipMode);
35
+ isInPiPMode$.next(initialPipMode);
39
36
  logger('debug', 'Initial PiP mode on mount set to ', initialPipMode);
40
37
 
41
38
  NativeModules?.StreamVideoReactNative?.isInPiPMode().then(
42
39
  (isInPiP: boolean | null | undefined) => {
43
- isInPiPModeAndroid$.next(!!isInPiP);
40
+ isInPiPMode$.next(!!isInPiP);
44
41
  logger(
45
42
  'debug',
46
43
  'Initial PiP mode on mount (after asking native module) set to ',
@@ -56,7 +53,7 @@ export const AppStateListener = () => {
56
53
  const subscriptionPiPChange = eventEmitter.addListener(
57
54
  PIP_CHANGE_EVENT,
58
55
  (isInPiPMode: boolean) => {
59
- isInPiPModeAndroid$.next(isInPiPMode);
56
+ isInPiPMode$.next(isInPiPMode);
60
57
  },
61
58
  );
62
59
 
@@ -108,11 +105,11 @@ export const AppStateListener = () => {
108
105
  if (isAndroid8OrAbove) {
109
106
  // set with an assumption that its enabled so that UI disabling happens faster
110
107
  const disablePiP = RxUtils.getCurrentValue(disablePiPMode$);
111
- isInPiPModeAndroid$.next(!disablePiP);
108
+ isInPiPMode$.next(!disablePiP);
112
109
  // if PiP was not enabled anyway, then in the next code we ll set it to false and UI wont be shown anyway
113
110
  NativeModules?.StreamVideoReactNative?.isInPiPMode().then(
114
111
  (isInPiP: boolean | null | undefined) => {
115
- isInPiPModeAndroid$.next(!!isInPiP);
112
+ isInPiPMode$.next(!!isInPiP);
116
113
  if (!isInPiP) {
117
114
  if (AppState.currentState === 'active') {
118
115
  // this is to handle the case that the app became active as soon as it went to background
@@ -1,8 +1,9 @@
1
1
  import {
2
+ type ColorValue,
2
3
  type ImageStyle,
3
4
  type TextStyle,
4
5
  type ViewStyle,
5
- } from 'react-native/types';
6
+ } from 'react-native';
6
7
  import { colors } from './colors';
7
8
  import {
8
9
  type ColorScheme,
@@ -11,7 +12,6 @@ import {
11
12
  type FontTypes,
12
13
  type Insets,
13
14
  } from './types';
14
- import { type ColorValue } from 'react-native';
15
15
 
16
16
  export type Theme = {
17
17
  variants: {
@@ -1,5 +1,5 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
2
 
3
- export const isInPiPModeAndroid$ = new BehaviorSubject<boolean>(false);
3
+ export const isInPiPMode$ = new BehaviorSubject<boolean>(false);
4
4
 
5
5
  export const disablePiPMode$ = new BehaviorSubject<boolean>(false);
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.21.1';
1
+ export const version = '1.22.0';