@stream-io/video-react-native-sdk 1.29.4-beta.0 → 1.30.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 (276) hide show
  1. package/CHANGELOG.md +3162 -0
  2. package/android/src/main/AndroidManifest.xml +1 -8
  3. package/android/src/main/AndroidManifestNew.xml +0 -11
  4. package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +5 -42
  5. package/android/src/main/java/com/streamvideo/reactnative/audio/utils/WebRtcAudioUtils.kt +6 -70
  6. package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +4 -6
  7. package/android/src/main/java/com/streamvideo/reactnative/util/CallAliveServiceChecker.kt +95 -0
  8. package/dist/commonjs/components/Call/CallContent/CallContent.js +13 -7
  9. package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
  10. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js +50 -14
  11. package/dist/commonjs/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  12. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js +27 -0
  13. package/dist/commonjs/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  14. package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js +19 -10
  15. package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
  16. package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js +12 -9
  17. package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
  18. package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js +19 -4
  19. package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
  20. package/dist/commonjs/hooks/push/index.js +2 -0
  21. package/dist/commonjs/hooks/push/index.js.map +1 -1
  22. package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +160 -0
  23. package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -0
  24. package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +31 -18
  25. package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
  26. package/dist/commonjs/hooks/push/useProcessPushCallEffect.js +67 -0
  27. package/dist/commonjs/hooks/push/useProcessPushCallEffect.js.map +1 -0
  28. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +97 -64
  29. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  30. package/dist/commonjs/index.js +0 -1
  31. package/dist/commonjs/index.js.map +1 -1
  32. package/dist/commonjs/modules/call-manager/CallManager.js +0 -26
  33. package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
  34. package/dist/commonjs/providers/StreamCall/index.js +6 -6
  35. package/dist/commonjs/providers/StreamCall/index.js.map +1 -1
  36. package/dist/commonjs/utils/StreamVideoRN/index.js +21 -33
  37. package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
  38. package/dist/commonjs/utils/hooks/index.js +0 -11
  39. package/dist/commonjs/utils/hooks/index.js.map +1 -1
  40. package/dist/commonjs/utils/internal/registerSDKGlobals.js +3 -52
  41. package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
  42. package/dist/commonjs/utils/push/android.js +202 -151
  43. package/dist/commonjs/utils/push/android.js.map +1 -1
  44. package/dist/commonjs/utils/push/internal/ios.js +34 -17
  45. package/dist/commonjs/utils/push/internal/ios.js.map +1 -1
  46. package/dist/commonjs/utils/push/internal/rxSubjects.js +45 -1
  47. package/dist/commonjs/utils/push/internal/rxSubjects.js.map +1 -1
  48. package/dist/commonjs/utils/push/internal/utils.js +20 -32
  49. package/dist/commonjs/utils/push/internal/utils.js.map +1 -1
  50. package/dist/commonjs/utils/push/ios.js.map +1 -1
  51. package/dist/commonjs/utils/push/libs/callkeep.js +17 -0
  52. package/dist/commonjs/utils/push/libs/callkeep.js.map +1 -0
  53. package/dist/commonjs/utils/push/libs/index.js +19 -8
  54. package/dist/commonjs/utils/push/libs/index.js.map +1 -1
  55. package/dist/commonjs/utils/push/libs/notifee/index.js +19 -0
  56. package/dist/commonjs/utils/push/libs/notifee/index.js.map +1 -1
  57. package/dist/commonjs/utils/push/libs/voipPushNotification.js +17 -0
  58. package/dist/commonjs/utils/push/libs/voipPushNotification.js.map +1 -0
  59. package/dist/commonjs/utils/push/setupIosCallKeepEvents.js +205 -0
  60. package/dist/commonjs/utils/push/setupIosCallKeepEvents.js.map +1 -0
  61. package/dist/commonjs/utils/push/setupIosVoipPushEvents.js +6 -7
  62. package/dist/commonjs/utils/push/setupIosVoipPushEvents.js.map +1 -1
  63. package/dist/commonjs/version.js +1 -1
  64. package/dist/commonjs/version.js.map +1 -1
  65. package/dist/module/components/Call/CallContent/CallContent.js +10 -4
  66. package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
  67. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js +52 -16
  68. package/dist/module/components/Call/CallContent/RTCViewPipIOS.js.map +1 -1
  69. package/dist/module/components/Call/CallContent/RTCViewPipNative.js +27 -0
  70. package/dist/module/components/Call/CallContent/RTCViewPipNative.js.map +1 -1
  71. package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js +19 -10
  72. package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
  73. package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js +15 -12
  74. package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
  75. package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js +20 -5
  76. package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
  77. package/dist/module/hooks/push/index.js +2 -0
  78. package/dist/module/hooks/push/index.js.map +1 -1
  79. package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +153 -0
  80. package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +1 -0
  81. package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +31 -18
  82. package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
  83. package/dist/module/hooks/push/useProcessPushCallEffect.js +60 -0
  84. package/dist/module/hooks/push/useProcessPushCallEffect.js.map +1 -0
  85. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +99 -66
  86. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  87. package/dist/module/index.js +0 -1
  88. package/dist/module/index.js.map +1 -1
  89. package/dist/module/modules/call-manager/CallManager.js +0 -26
  90. package/dist/module/modules/call-manager/CallManager.js.map +1 -1
  91. package/dist/module/providers/StreamCall/index.js +6 -6
  92. package/dist/module/providers/StreamCall/index.js.map +1 -1
  93. package/dist/module/utils/StreamVideoRN/index.js +21 -33
  94. package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
  95. package/dist/module/utils/hooks/index.js +0 -1
  96. package/dist/module/utils/hooks/index.js.map +1 -1
  97. package/dist/module/utils/internal/registerSDKGlobals.js +3 -52
  98. package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
  99. package/dist/module/utils/push/android.js +204 -153
  100. package/dist/module/utils/push/android.js.map +1 -1
  101. package/dist/module/utils/push/internal/ios.js +34 -17
  102. package/dist/module/utils/push/internal/ios.js.map +1 -1
  103. package/dist/module/utils/push/internal/rxSubjects.js +44 -0
  104. package/dist/module/utils/push/internal/rxSubjects.js.map +1 -1
  105. package/dist/module/utils/push/internal/utils.js +19 -29
  106. package/dist/module/utils/push/internal/utils.js.map +1 -1
  107. package/dist/module/utils/push/ios.js.map +1 -1
  108. package/dist/module/utils/push/libs/callkeep.js +11 -0
  109. package/dist/module/utils/push/libs/callkeep.js.map +1 -0
  110. package/dist/module/utils/push/libs/index.js +2 -1
  111. package/dist/module/utils/push/libs/index.js.map +1 -1
  112. package/dist/module/utils/push/libs/notifee/index.js +18 -0
  113. package/dist/module/utils/push/libs/notifee/index.js.map +1 -1
  114. package/dist/module/utils/push/libs/voipPushNotification.js +11 -0
  115. package/dist/module/utils/push/libs/voipPushNotification.js.map +1 -0
  116. package/dist/module/utils/push/setupIosCallKeepEvents.js +199 -0
  117. package/dist/module/utils/push/setupIosCallKeepEvents.js.map +1 -0
  118. package/dist/module/utils/push/setupIosVoipPushEvents.js +6 -7
  119. package/dist/module/utils/push/setupIosVoipPushEvents.js.map +1 -1
  120. package/dist/module/version.js +1 -1
  121. package/dist/module/version.js.map +1 -1
  122. package/dist/typescript/components/Call/CallContent/CallContent.d.ts.map +1 -1
  123. package/dist/typescript/components/Call/CallContent/RTCViewPipIOS.d.ts.map +1 -1
  124. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts +18 -0
  125. package/dist/typescript/components/Call/CallContent/RTCViewPipNative.d.ts.map +1 -1
  126. package/dist/typescript/components/Call/CallLayout/CallParticipantsGrid.d.ts.map +1 -1
  127. package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts.map +1 -1
  128. package/dist/typescript/components/Call/CallParticipantsList/CallParticipantsList.d.ts.map +1 -1
  129. package/dist/typescript/hooks/push/index.d.ts.map +1 -1
  130. package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts +5 -0
  131. package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts.map +1 -0
  132. package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
  133. package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts +8 -0
  134. package/dist/typescript/hooks/push/useProcessPushCallEffect.d.ts.map +1 -0
  135. package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
  136. package/dist/typescript/index.d.ts +0 -1
  137. package/dist/typescript/index.d.ts.map +1 -1
  138. package/dist/typescript/modules/call-manager/CallManager.d.ts +0 -5
  139. package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
  140. package/dist/typescript/utils/StreamVideoRN/index.d.ts +2 -20
  141. package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
  142. package/dist/typescript/utils/StreamVideoRN/types.d.ts +29 -54
  143. package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
  144. package/dist/typescript/utils/hooks/index.d.ts +0 -1
  145. package/dist/typescript/utils/hooks/index.d.ts.map +1 -1
  146. package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
  147. package/dist/typescript/utils/push/android.d.ts +2 -1
  148. package/dist/typescript/utils/push/android.d.ts.map +1 -1
  149. package/dist/typescript/utils/push/internal/ios.d.ts.map +1 -1
  150. package/dist/typescript/utils/push/internal/rxSubjects.d.ts +33 -0
  151. package/dist/typescript/utils/push/internal/rxSubjects.d.ts.map +1 -1
  152. package/dist/typescript/utils/push/internal/utils.d.ts +1 -8
  153. package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
  154. package/dist/typescript/utils/push/ios.d.ts +2 -1
  155. package/dist/typescript/utils/push/ios.d.ts.map +1 -1
  156. package/dist/typescript/utils/push/libs/callkeep.d.ts +3 -0
  157. package/dist/typescript/utils/push/libs/callkeep.d.ts.map +1 -0
  158. package/dist/typescript/utils/push/libs/index.d.ts +2 -1
  159. package/dist/typescript/utils/push/libs/index.d.ts.map +1 -1
  160. package/dist/typescript/utils/push/libs/notifee/index.d.ts +1 -0
  161. package/dist/typescript/utils/push/libs/notifee/index.d.ts.map +1 -1
  162. package/dist/typescript/utils/push/libs/voipPushNotification.d.ts +3 -0
  163. package/dist/typescript/utils/push/libs/voipPushNotification.d.ts.map +1 -0
  164. package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts +6 -0
  165. package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts.map +1 -0
  166. package/dist/typescript/utils/push/setupIosVoipPushEvents.d.ts.map +1 -1
  167. package/dist/typescript/version.d.ts +1 -1
  168. package/dist/typescript/version.d.ts.map +1 -1
  169. package/expo-config-plugin/dist/withAndroidManifest.js +33 -1
  170. package/expo-config-plugin/dist/withAndroidPermissions.js +7 -2
  171. package/expo-config-plugin/dist/withAppDelegate.js +197 -19
  172. package/expo-config-plugin/dist/withMainActivity.js +1 -1
  173. package/expo-config-plugin/dist/withiOSInfoPlist.js +3 -2
  174. package/ios/PictureInPicture/PictureInPictureAvatarView.swift +273 -0
  175. package/ios/PictureInPicture/PictureInPictureConnectionQualityIndicator.swift +162 -0
  176. package/ios/PictureInPicture/PictureInPictureContent.swift +173 -0
  177. package/ios/PictureInPicture/PictureInPictureContentState.swift +123 -0
  178. package/ios/PictureInPicture/PictureInPictureDelegateProxy.swift +89 -0
  179. package/ios/PictureInPicture/PictureInPictureEnforcedStopAdapter.swift +166 -0
  180. package/ios/PictureInPicture/PictureInPictureLogger.swift +16 -0
  181. package/ios/PictureInPicture/PictureInPictureParticipantOverlayView.swift +217 -0
  182. package/ios/PictureInPicture/PictureInPictureReconnectionView.swift +193 -0
  183. package/ios/PictureInPicture/StreamAVPictureInPictureVideoCallViewController.swift +125 -7
  184. package/ios/PictureInPicture/StreamPictureInPictureController.swift +237 -63
  185. package/ios/PictureInPicture/StreamPictureInPictureControllerProtocol.swift +30 -0
  186. package/ios/PictureInPicture/StreamPictureInPictureVideoRenderer.swift +384 -12
  187. package/ios/RTCViewPip.swift +187 -21
  188. package/ios/RTCViewPipManager.mm +9 -0
  189. package/ios/RTCViewPipManager.swift +3 -3
  190. package/ios/StreamInCallManager.m +0 -2
  191. package/ios/StreamInCallManager.swift +7 -19
  192. package/ios/StreamVideoReactNative.h +4 -7
  193. package/ios/StreamVideoReactNative.m +82 -189
  194. package/package.json +19 -14
  195. package/src/components/Call/CallContent/CallContent.tsx +16 -8
  196. package/src/components/Call/CallContent/RTCViewPipIOS.tsx +81 -15
  197. package/src/components/Call/CallContent/RTCViewPipNative.tsx +36 -0
  198. package/src/components/Call/CallLayout/CallParticipantsGrid.tsx +28 -14
  199. package/src/components/Call/CallLayout/CallParticipantsSpotlight.tsx +19 -10
  200. package/src/components/Call/CallParticipantsList/CallParticipantsList.tsx +20 -5
  201. package/src/hooks/push/index.ts +2 -0
  202. package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +235 -0
  203. package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +34 -21
  204. package/src/hooks/push/useProcessPushCallEffect.ts +108 -0
  205. package/src/hooks/useAndroidKeepCallAliveEffect.ts +120 -94
  206. package/src/index.ts +0 -1
  207. package/src/modules/call-manager/CallManager.ts +0 -36
  208. package/src/modules/call-manager/native-module.d.ts +0 -7
  209. package/src/providers/StreamCall/index.tsx +6 -6
  210. package/src/utils/StreamVideoRN/index.ts +30 -40
  211. package/src/utils/StreamVideoRN/types.ts +29 -56
  212. package/src/utils/hooks/index.ts +0 -1
  213. package/src/utils/internal/registerSDKGlobals.ts +4 -47
  214. package/src/utils/push/android.ts +309 -227
  215. package/src/utils/push/internal/ios.ts +44 -28
  216. package/src/utils/push/internal/rxSubjects.ts +61 -0
  217. package/src/utils/push/internal/utils.ts +26 -45
  218. package/src/utils/push/ios.ts +6 -1
  219. package/src/utils/push/libs/callkeep.ts +16 -0
  220. package/src/utils/push/libs/index.ts +2 -1
  221. package/src/utils/push/libs/notifee/index.ts +27 -0
  222. package/src/utils/push/libs/voipPushNotification.ts +17 -0
  223. package/src/utils/push/setupIosCallKeepEvents.ts +252 -0
  224. package/src/utils/push/setupIosVoipPushEvents.ts +7 -11
  225. package/src/version.ts +1 -1
  226. package/android/src/main/java/com/streamvideo/reactnative/keepalive/KeepAliveNotification.kt +0 -83
  227. package/android/src/main/java/com/streamvideo/reactnative/keepalive/StreamCallKeepAliveHeadlessService.kt +0 -149
  228. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +0 -121
  229. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +0 -1
  230. package/dist/commonjs/utils/hooks/useDebouncedValue.js +0 -24
  231. package/dist/commonjs/utils/hooks/useDebouncedValue.js.map +0 -1
  232. package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js +0 -58
  233. package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js.map +0 -1
  234. package/dist/commonjs/utils/internal/callingx/callingx.js +0 -109
  235. package/dist/commonjs/utils/internal/callingx/callingx.js.map +0 -1
  236. package/dist/commonjs/utils/keepCallAliveHeadlessTask.js +0 -48
  237. package/dist/commonjs/utils/keepCallAliveHeadlessTask.js.map +0 -1
  238. package/dist/commonjs/utils/push/libs/callingx.js +0 -75
  239. package/dist/commonjs/utils/push/libs/callingx.js.map +0 -1
  240. package/dist/commonjs/utils/push/setupCallingExpEvents.js +0 -108
  241. package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +0 -1
  242. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +0 -114
  243. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +0 -1
  244. package/dist/module/utils/hooks/useDebouncedValue.js +0 -19
  245. package/dist/module/utils/hooks/useDebouncedValue.js.map +0 -1
  246. package/dist/module/utils/internal/callingx/audioSessionPromise.js +0 -51
  247. package/dist/module/utils/internal/callingx/audioSessionPromise.js.map +0 -1
  248. package/dist/module/utils/internal/callingx/callingx.js +0 -100
  249. package/dist/module/utils/internal/callingx/callingx.js.map +0 -1
  250. package/dist/module/utils/keepCallAliveHeadlessTask.js +0 -42
  251. package/dist/module/utils/keepCallAliveHeadlessTask.js.map +0 -1
  252. package/dist/module/utils/push/libs/callingx.js +0 -67
  253. package/dist/module/utils/push/libs/callingx.js.map +0 -1
  254. package/dist/module/utils/push/setupCallingExpEvents.js +0 -102
  255. package/dist/module/utils/push/setupCallingExpEvents.js.map +0 -1
  256. package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts +0 -5
  257. package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +0 -1
  258. package/dist/typescript/utils/hooks/useDebouncedValue.d.ts +0 -8
  259. package/dist/typescript/utils/hooks/useDebouncedValue.d.ts.map +0 -1
  260. package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts +0 -16
  261. package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts.map +0 -1
  262. package/dist/typescript/utils/internal/callingx/callingx.d.ts +0 -14
  263. package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +0 -1
  264. package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts +0 -10
  265. package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts.map +0 -1
  266. package/dist/typescript/utils/push/libs/callingx.d.ts +0 -9
  267. package/dist/typescript/utils/push/libs/callingx.d.ts.map +0 -1
  268. package/dist/typescript/utils/push/setupCallingExpEvents.d.ts +0 -8
  269. package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +0 -1
  270. package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +0 -147
  271. package/src/utils/hooks/useDebouncedValue.ts +0 -21
  272. package/src/utils/internal/callingx/audioSessionPromise.ts +0 -53
  273. package/src/utils/internal/callingx/callingx.ts +0 -146
  274. package/src/utils/keepCallAliveHeadlessTask.ts +0 -54
  275. package/src/utils/push/libs/callingx.ts +0 -90
  276. package/src/utils/push/setupCallingExpEvents.ts +0 -130
@@ -2,13 +2,6 @@
2
2
  package="com.streamvideo.reactnative">
3
3
 
4
4
  <uses-permission android:name="android.permission.INTERNET" />
5
+ <uses-permission android:name="android.permission.DEVICE_POWER" />
5
6
  <uses-permission android:name="android.permission.WAKE_LOCK" />
6
-
7
- <application>
8
- <service
9
- android:name="com.streamvideo.reactnative.keepalive.StreamCallKeepAliveHeadlessService"
10
- android:exported="false"
11
- android:stopWithTask="true"
12
- android:foregroundServiceType="mediaPlayback|camera|microphone" />
13
- </application>
14
7
  </manifest>
@@ -1,13 +1,2 @@
1
1
  <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
-
3
- <uses-permission android:name="android.permission.INTERNET" />
4
- <uses-permission android:name="android.permission.WAKE_LOCK" />
5
-
6
- <application>
7
- <service
8
- android:name="com.streamvideo.reactnative.keepalive.StreamCallKeepAliveHeadlessService"
9
- android:exported="false"
10
- android:stopWithTask="true"
11
- android:foregroundServiceType="mediaPlayback|camera|microphone" />
12
- </application>
13
2
  </manifest>
@@ -15,7 +15,6 @@ import android.os.Build
15
15
  import android.os.PowerManager
16
16
  import android.util.Base64
17
17
  import android.util.Log
18
- import androidx.core.content.ContextCompat
19
18
  import com.facebook.react.bridge.Arguments
20
19
  import com.facebook.react.bridge.Promise
21
20
  import com.facebook.react.bridge.ReactApplicationContext
@@ -24,8 +23,8 @@ import com.facebook.react.bridge.ReactMethod
24
23
  import com.facebook.react.bridge.WritableMap
25
24
  import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
26
25
  import com.oney.WebRTCModule.WebRTCModule
27
- import com.streamvideo.reactnative.keepalive.StreamCallKeepAliveHeadlessService
28
26
  import com.streamvideo.reactnative.util.CallAlivePermissionsHelper
27
+ import com.streamvideo.reactnative.util.CallAliveServiceChecker
29
28
  import com.streamvideo.reactnative.util.PiPHelper
30
29
  import com.streamvideo.reactnative.util.RingtoneUtil
31
30
  import com.streamvideo.reactnative.util.YuvFrame
@@ -116,47 +115,11 @@ class StreamVideoReactNativeModule(reactContext: ReactApplicationContext) :
116
115
  promise.resolve(false)
117
116
  return
118
117
  }
119
- // Service is declared in the SDK's own AndroidManifest and merged by default.
120
- // Permissions are expected to be provided by the app (or via Expo config plugin).
121
- promise.resolve(true)
122
- }
123
-
124
-
125
- @ReactMethod
126
- fun startKeepCallAliveService(
127
- callCid: String,
128
- channelId: String,
129
- channelName: String,
130
- title: String,
131
- body: String,
132
- smallIconName: String?,
133
- promise: Promise
134
- ) {
135
- try {
136
- val intent = StreamCallKeepAliveHeadlessService.buildStartIntent(
137
- reactApplicationContext,
138
- callCid,
139
- channelId,
140
- channelName,
141
- title,
142
- body,
143
- smallIconName
144
- )
145
- ContextCompat.startForegroundService(reactApplicationContext, intent)
118
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
119
+ val isForegroundServiceDeclared = CallAliveServiceChecker.isForegroundServiceDeclared(reactApplicationContext)
120
+ promise.resolve(isForegroundServiceDeclared)
121
+ } else {
146
122
  promise.resolve(true)
147
- } catch (e: Exception) {
148
- promise.reject(NAME, "Failed to start keep call alive foreground service", e)
149
- }
150
- }
151
-
152
- @ReactMethod
153
- fun stopKeepCallAliveService(promise: Promise) {
154
- try {
155
- val intent = StreamCallKeepAliveHeadlessService.buildStopIntent(reactApplicationContext)
156
- val stopped = reactApplicationContext.stopService(intent)
157
- promise.resolve(stopped)
158
- } catch (e: Exception) {
159
- promise.reject(NAME, "Failed to stop keep call alive foreground service", e)
160
123
  }
161
124
  }
162
125
 
@@ -55,78 +55,14 @@ object WebRtcAudioUtils {
55
55
  * what might be the root cause.
56
56
  */
57
57
  fun logAudioState(tag: String, reactContext: ReactContext) {
58
- Log.d(tag, getAudioStateLog(reactContext))
59
- }
60
-
61
- /**
62
- * Returns a string containing information about the current audio state.
63
- * Similar to logAudioState but returns the information instead of logging it.
64
- */
65
- fun getAudioStateLog(reactContext: ReactContext): String {
66
- val audioManager = reactContext.getSystemService(Context.AUDIO_SERVICE) as AudioManager
67
- val sb = StringBuilder()
68
-
69
- // Volume control stream
70
58
  reactContext.currentActivity?.let {
71
- sb.appendLine("volumeControlStream: ${streamTypeToString(it.volumeControlStream)}")
59
+ Log.d(tag, "volumeControlStream: " + streamTypeToString(it.volumeControlStream))
72
60
  }
73
-
74
- // Device info
75
- sb.appendLine("Android SDK: ${Build.VERSION.SDK_INT}, Release: ${Build.VERSION.RELEASE}, Brand: ${Build.BRAND}, Device: ${Build.DEVICE}, Id: ${Build.ID}, Hardware: ${Build.HARDWARE}, Manufacturer: ${Build.MANUFACTURER}, Model: ${Build.MODEL}, Product: ${Build.PRODUCT}")
76
-
77
- // Basic audio state
78
- sb.appendLine("Audio State: audio mode: ${modeToString(audioManager.mode)}, has mic: ${hasMicrophone(reactContext)}, mic muted: ${audioManager.isMicrophoneMute}, music active: ${audioManager.isMusicActive}, speakerphone: ${audioManager.isSpeakerphoneOn}, BT SCO: ${audioManager.isBluetoothScoOn}")
79
-
80
- // Volume info
81
- val fixedVolume = audioManager.isVolumeFixed
82
- sb.appendLine(" fixed volume=$fixedVolume")
83
- if (!fixedVolume) {
84
- val streams = intArrayOf(
85
- AudioManager.STREAM_VOICE_CALL,
86
- AudioManager.STREAM_MUSIC,
87
- AudioManager.STREAM_RING,
88
- AudioManager.STREAM_ALARM,
89
- AudioManager.STREAM_NOTIFICATION,
90
- AudioManager.STREAM_SYSTEM
91
- )
92
- for (stream in streams) {
93
- val info = StringBuilder()
94
- info.append(" ${streamTypeToString(stream)}: ")
95
- info.append("volume=${audioManager.getStreamVolume(stream)}")
96
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
97
- info.append(", min=${audioManager.getStreamMinVolume(stream)}")
98
- }
99
- info.append(", max=${audioManager.getStreamMaxVolume(stream)}")
100
- info.append(", muted=${audioManager.isStreamMute(stream)}")
101
- sb.appendLine(info.toString())
102
- }
103
- }
104
-
105
- // Audio devices
106
- val inputDevices = audioManager.getDevices(AudioManager.GET_DEVICES_INPUTS)
107
- val outputDevices = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS)
108
- val devices = inputDevices + outputDevices
109
- if (devices.isNotEmpty()) {
110
- sb.appendLine("Audio Devices:")
111
- for (device in devices) {
112
- val info = StringBuilder()
113
- info.append(" ${deviceTypeToString(device.type)}")
114
- info.append(if (device.isSource) "(in): " else "(out): ")
115
- if (device.channelCounts.isNotEmpty()) {
116
- info.append("channels=${device.channelCounts.contentToString()}, ")
117
- }
118
- if (device.encodings.isNotEmpty()) {
119
- info.append("encodings=${device.encodings.contentToString()}, ")
120
- }
121
- if (device.sampleRates.isNotEmpty()) {
122
- info.append("sample rates=${device.sampleRates.contentToString()}, ")
123
- }
124
- info.append("id=${device.id}")
125
- sb.appendLine(info.toString())
126
- }
127
- }
128
-
129
- return sb.toString()
61
+ val audioManager = reactContext.getSystemService(Context.AUDIO_SERVICE) as AudioManager
62
+ logDeviceInfo(tag)
63
+ logAudioStateBasic(tag, reactContext, audioManager)
64
+ logAudioStateVolume(tag, audioManager)
65
+ logAudioDeviceInfo(tag, audioManager)
130
66
  }
131
67
 
132
68
  /** Converts AudioDeviceInfo types to local string representation. */
@@ -168,12 +168,10 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
168
168
 
169
169
  @ReactMethod
170
170
  fun logAudioState() {
171
- Log.d(TAG, getAudioStateLog())
172
- }
173
-
174
- @ReactMethod(isBlockingSynchronousMethod = true)
175
- fun getAudioStateLog(): String {
176
- return WebRtcAudioUtils.getAudioStateLog(reactApplicationContext)
171
+ WebRtcAudioUtils.logAudioState(
172
+ TAG,
173
+ reactApplicationContext,
174
+ )
177
175
  }
178
176
 
179
177
  @Suppress("unused")
@@ -0,0 +1,95 @@
1
+ package com.streamvideo.reactnative.util
2
+
3
+ import android.content.ComponentName
4
+ import android.content.pm.PackageManager
5
+ import android.content.pm.ServiceInfo
6
+ import android.os.Build
7
+ import android.util.Log
8
+ import androidx.annotation.RequiresApi
9
+ import com.facebook.react.bridge.ReactApplicationContext
10
+
11
+ @RequiresApi(api = Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
12
+ object CallAliveServiceChecker {
13
+ private const val NAME = "StreamVideoReactNative"
14
+
15
+ fun isForegroundServiceDeclared(context: ReactApplicationContext): Boolean {
16
+ val packageManager = context.packageManager
17
+ val packageName = context.packageName // Get the package name of your app
18
+ val componentName = ComponentName(
19
+ packageName,
20
+ "app.notifee.core.ForegroundService"
21
+ ) // Use service name string
22
+
23
+ try {
24
+ val serviceInfo =
25
+ packageManager.getServiceInfo(componentName, PackageManager.GET_META_DATA)
26
+
27
+ val expectedForegroundServiceTypes =
28
+ ServiceInfo.FOREGROUND_SERVICE_TYPE_SHORT_SERVICE or
29
+ ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK or
30
+ ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA or
31
+ ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE
32
+
33
+ val actualForegroundServiceTypes = serviceInfo.foregroundServiceType
34
+
35
+ if (actualForegroundServiceTypes == expectedForegroundServiceTypes) {
36
+ return true
37
+ } else {
38
+ Log.w(
39
+ NAME,
40
+ "android:foregroundServiceType does not match: expected=${
41
+ foregroundServiceTypeToString(
42
+ expectedForegroundServiceTypes
43
+ )
44
+ }, actual=${foregroundServiceTypeToString(actualForegroundServiceTypes)}"
45
+ )
46
+ return false
47
+ }
48
+
49
+ } catch (e: PackageManager.NameNotFoundException) {
50
+ Log.d(NAME, "Service not found: " + e.message)
51
+ return false // Service not declared
52
+ }
53
+ }
54
+
55
+ private fun foregroundServiceTypeToString(foregroundServiceType: Int): String {
56
+ val types = mutableListOf<String>()
57
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_SHORT_SERVICE != 0) {
58
+ types.add("shortService")
59
+ }
60
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC != 0) {
61
+ types.add("dataSync")
62
+ }
63
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA != 0) {
64
+ types.add("camera")
65
+ }
66
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE != 0) {
67
+ types.add("microphone")
68
+ }
69
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE != 0) {
70
+ types.add("connectedDevice")
71
+ }
72
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_LOCATION != 0) {
73
+ types.add("location")
74
+ }
75
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK != 0) {
76
+ types.add("mediaPlayback")
77
+ }
78
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION != 0) {
79
+ types.add("mediaProjection")
80
+ }
81
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_PHONE_CALL != 0) {
82
+ types.add("phoneCall")
83
+ }
84
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_HEALTH != 0) {
85
+ types.add("health")
86
+ }
87
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING != 0) {
88
+ types.add("remoteMessaging")
89
+ }
90
+ if (foregroundServiceType and ServiceInfo.FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED != 0) {
91
+ types.add("systemExempted")
92
+ }
93
+ return types.joinToString("|")
94
+ }
95
+ }
@@ -10,11 +10,11 @@ var _CallLayout = require("../CallLayout");
10
10
  var _CallControls = require("../CallControls");
11
11
  var _videoReactBindings = require("@stream-io/video-react-bindings");
12
12
  var _videoClient = require("@stream-io/video-client");
13
+ var _rxjs = require("rxjs");
13
14
  var _constants = require("../../../constants");
14
- var _hooks = require("../../../utils/hooks");
15
15
  var _Participant = require("../../Participant");
16
16
  var _contexts = require("../../../contexts");
17
- var _hooks2 = require("../../../hooks");
17
+ var _hooks = require("../../../hooks");
18
18
  var _ScreenShareOverlay = require("../../utility/ScreenShareOverlay");
19
19
  var _RTCViewPipIOS = require("./RTCViewPipIOS");
20
20
  var _PrevLibDetection = require("../../../modules/call-manager/PrevLibDetection");
@@ -50,14 +50,20 @@ const CallContent = ({
50
50
  const call = (0, _videoReactBindings.useCall)();
51
51
  const {
52
52
  useHasOngoingScreenShare,
53
- useRemoteParticipants,
54
53
  useLocalParticipant
55
54
  } = (0, _videoReactBindings.useCallStateHooks)();
56
- (0, _hooks2.useAutoEnterPiPEffect)(disablePictureInPicture);
57
- const _remoteParticipants = useRemoteParticipants();
58
- const remoteParticipants = (0, _hooks.useDebouncedValue)(_remoteParticipants, 300); // we debounce the remote participants to avoid unnecessary rerenders that happen when participant tracks are all subscribed simultaneously
55
+ (0, _hooks.useAutoEnterPiPEffect)(disablePictureInPicture);
56
+ const [remoteParticipants, setRemoteParticipants] = (0, _react.useState)(() => call?.state.remoteParticipants ?? []);
57
+ (0, _react.useEffect)(() => {
58
+ if (!call) {
59
+ setRemoteParticipants([]);
60
+ return;
61
+ }
62
+ const sub = call.state.remoteParticipants$.pipe((0, _rxjs.debounceTime)(300)).subscribe(setRemoteParticipants);
63
+ return () => sub.unsubscribe();
64
+ }, [call]);
59
65
  const localParticipant = useLocalParticipant();
60
- const isInPiPMode = (0, _hooks2.useIsInPiPMode)();
66
+ const isInPiPMode = (0, _hooks.useIsInPiPMode)();
61
67
  const hasScreenShare = useHasOngoingScreenShare();
62
68
  const showSpotlightLayout = hasScreenShare || layout === 'spotlight';
63
69
  (0, _react.useEffect)(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CallLayout","_CallControls","_videoReactBindings","_videoClient","_constants","_hooks","_Participant","_contexts","_hooks2","_ScreenShareOverlay","_RTCViewPipIOS","_PrevLibDetection","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","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","mirror","layout","landscape","supportedReactions","initialInCallManagerAudioMode","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","useState","styles","useStyles","theme","callContent","useTheme","useCall","useHasOngoingScreenShare","useRemoteParticipants","useLocalParticipant","useCallStateHooks","useAutoEnterPiPEffect","_remoteParticipants","remoteParticipants","useDebouncedValue","localParticipant","isInPiPMode","useIsInPiPMode","hasScreenShare","showSpotlightLayout","useEffect","Platform","OS","unsubFunc","on","videoLoggerSystem","getLogger","debug","NativeModules","StreamVideoReactNative","exitPipMode","subscription","state","callingState$","subscribe","CallingState","LEFT","unsubscribe","showFloatingView","isRemoteParticipantInFloatingView","incallManagerModeRef","useRef","prevInCallManager","getRNInCallManagerLibNoThrow","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":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CallLayout","_CallControls","_videoReactBindings","_videoClient","_rxjs","_constants","_Participant","_contexts","_hooks","_ScreenShareOverlay","_RTCViewPipIOS","_PrevLibDetection","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","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","mirror","layout","landscape","supportedReactions","initialInCallManagerAudioMode","iOSPiPIncludeLocalParticipantVideo","disablePictureInPicture","showRemoteParticipantInFloatingView","setShowRemoteParticipantInFloatingView","useState","styles","useStyles","theme","callContent","useTheme","useCall","useHasOngoingScreenShare","useLocalParticipant","useCallStateHooks","useAutoEnterPiPEffect","remoteParticipants","setRemoteParticipants","state","useEffect","sub","remoteParticipants$","pipe","debounceTime","subscribe","unsubscribe","localParticipant","isInPiPMode","useIsInPiPMode","hasScreenShare","showSpotlightLayout","Platform","OS","unsubFunc","on","videoLoggerSystem","getLogger","debug","NativeModules","StreamVideoReactNative","exitPipMode","subscription","callingState$","CallingState","LEFT","showFloatingView","isRemoteParticipantInFloatingView","incallManagerModeRef","useRef","prevInCallManager","getRNInCallManagerLibNoThrow","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":[]}
@@ -9,7 +9,7 @@ var _videoReactBindings = require("@stream-io/video-react-bindings");
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactNative = require("react-native");
11
11
  var _RTCViewPipNative = require("./RTCViewPipNative");
12
- var _hooks = require("../../../utils/hooks");
12
+ var _rxjs = require("rxjs");
13
13
  var _shouldDisableIOSLocalVideoOnBackground = require("../../../utils/internal/shouldDisableIOSLocalVideoOnBackground");
14
14
  var _useTrackDimensions = require("../../../hooks/useTrackDimensions");
15
15
  var _rxSubjects = require("../../../utils/internal/rxSubjects");
@@ -22,17 +22,25 @@ const RTCViewPipIOS = exports.RTCViewPipIOS = /*#__PURE__*/_react.default.memo(p
22
22
  } = props;
23
23
  const call = (0, _videoReactBindings.useCall)();
24
24
  const {
25
- useParticipants,
26
- useCameraState
25
+ useCameraState,
26
+ useCallCallingState
27
27
  } = (0, _videoReactBindings.useCallStateHooks)();
28
- const _allParticipants = useParticipants({
29
- sortBy: _videoClient.speakerLayoutSortPreset
30
- });
28
+ const callingState = useCallCallingState();
31
29
  const {
32
30
  direction
33
31
  } = useCameraState();
34
- const allParticipants = (0, _hooks.useDebouncedValue)(_allParticipants, 300); // we debounce the participants to avoid unnecessary rerenders that happen when participant tracks are all subscribed simultaneously
32
+ const [allParticipants, setAllParticipants] = (0, _react.useState)(call?.state.participants ?? []);
35
33
 
34
+ // we debounce the participants to avoid unnecessary rerenders
35
+ // that happen when participant tracks are all subscribed simultaneously
36
+ (0, _react.useEffect)(() => {
37
+ if (!call) {
38
+ setAllParticipants([]);
39
+ return;
40
+ }
41
+ const subscription = call.state.participants$.pipe((0, _rxjs.debounceTime)(300)).subscribe(setAllParticipants);
42
+ return () => subscription.unsubscribe();
43
+ }, [call]);
36
44
  const [dominantSpeaker, dominantSpeaker2] = allParticipants.filter(participant => includeLocalParticipantVideo ? true : !participant.isLocalParticipant);
37
45
 
38
46
  // show the dominant remote speaker in PiP mode
@@ -86,22 +94,50 @@ const RTCViewPipIOS = exports.RTCViewPipIOS = /*#__PURE__*/_react.default.memo(p
86
94
  } = participantInSpotlight || {};
87
95
  const isScreenSharing = participantInSpotlight ? (0, _videoClient.hasScreenShare)(participantInSpotlight) : false;
88
96
  const videoStreamToRender = isScreenSharing ? screenShareStream : videoStream;
97
+ const isPublishingTrack = isScreenSharing || participantInSpotlight && (0, _videoClient.hasVideo)(participantInSpotlight);
98
+ const streamURL = isPublishingTrack ? videoStreamToRender?.toURL() : undefined;
89
99
  const mirror = isScreenSharing ? false : mirrorOverride !== undefined ? mirrorOverride : !!participantInSpotlight?.isLocalParticipant && direction === 'front';
90
- const streamURL = (0, _react.useMemo)(() => {
91
- if (!videoStreamToRender) {
92
- return undefined;
93
- }
94
- return videoStreamToRender?.toURL();
95
- }, [videoStreamToRender]);
96
100
  const handlePiPChange = event => {
97
101
  _rxSubjects.isInPiPMode$.next(event.nativeEvent.active);
98
102
  onPiPChange?.(event.nativeEvent.active);
99
103
  };
104
+
105
+ // Get participant info for avatar placeholder
106
+ const participantName = participantInSpotlight?.name || undefined;
107
+ const participantImageURL = participantInSpotlight?.image || undefined;
108
+
109
+ // Determine if the call is reconnecting or offline
110
+ const isReconnecting = callingState === _videoClient.CallingState.MIGRATING || callingState === _videoClient.CallingState.RECONNECTING || callingState === _videoClient.CallingState.RECONNECTING_FAILED || callingState === _videoClient.CallingState.OFFLINE;
111
+
112
+ // Determine if the participant has audio enabled
113
+ const participantHasAudio = participantInSpotlight ? (0, _videoClient.hasAudio)(participantInSpotlight) : true;
114
+
115
+ // Determine if the video track is paused
116
+ const trackType = isScreenSharing ? 'screenShareTrack' : 'videoTrack';
117
+ const isVideoTrackPaused = participantInSpotlight ? (0, _videoClient.hasPausedTrack)(participantInSpotlight, trackType) : false;
118
+
119
+ // Determine if the participant is pinned
120
+ const participantIsPinned = participantInSpotlight ? (0, _videoClient.isPinned)(participantInSpotlight) : false;
121
+
122
+ // Determine if the participant is speaking
123
+ const participantIsSpeaking = participantInSpotlight?.isSpeaking ?? false;
124
+
125
+ // Get connection quality (convert enum to number: UNSPECIFIED=0, POOR=1, GOOD=2, EXCELLENT=3)
126
+ const participantConnectionQuality = participantInSpotlight?.connectionQuality ?? _videoClient.SfuModels.ConnectionQuality.UNSPECIFIED;
100
127
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_RTCViewPipNative.RTCViewPipNative, {
101
128
  streamURL: streamURL,
102
129
  mirror: mirror,
103
130
  ref: nativeRef,
104
- onPiPChange: handlePiPChange
131
+ onPiPChange: handlePiPChange,
132
+ participantName: participantName,
133
+ participantImageURL: participantImageURL,
134
+ isReconnecting: isReconnecting,
135
+ isScreenSharing: isScreenSharing,
136
+ hasAudio: participantHasAudio,
137
+ isTrackPaused: isVideoTrackPaused,
138
+ isPinned: participantIsPinned,
139
+ isSpeaking: participantIsSpeaking,
140
+ connectionQuality: participantConnectionQuality
105
141
  }), participantInSpotlight && /*#__PURE__*/_react.default.createElement(DimensionsUpdatedRenderless, {
106
142
  participant: participantInSpotlight,
107
143
  trackType: isScreenSharing ? 'screenShareTrack' : 'videoTrack',
@@ -1 +1 @@
1
- {"version":3,"names":["_videoClient","require","_videoReactBindings","_react","_interopRequireWildcard","_reactNative","_RTCViewPipNative","_hooks","_shouldDisableIOSLocalVideoOnBackground","_useTrackDimensions","_rxSubjects","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RTCViewPipIOS","exports","React","memo","props","includeLocalParticipantVideo","mirror","mirrorOverride","onPiPChange","useCall","useParticipants","useCameraState","useCallStateHooks","_allParticipants","sortBy","speakerLayoutSortPreset","direction","allParticipants","useDebouncedValue","dominantSpeaker","dominantSpeaker2","filter","participant","isLocalParticipant","participantInSpotlight","useEffect","shouldDisableIOSLocalVideoOnBackgroundRef","current","nativeRef","useRef","callClosedInvokedOnce","onCallClosed","node","findNodeHandle","onNativeCallClosed","unsubFunc","on","videoLoggerSystem","getLogger","debug","subscription","state","callingState$","subscribe","CallingState","LEFT","unsubscribe","onDimensionsUpdated","useCallback","width","height","onNativeDimensionsUpdated","videoStream","screenShareStream","isScreenSharing","hasScreenShare","videoStreamToRender","undefined","streamURL","useMemo","toURL","handlePiPChange","event","isInPiPMode$","next","nativeEvent","active","createElement","Fragment","RTCViewPipNative","ref","DimensionsUpdatedRenderless","trackType","key","useTrackDimensions","displayName"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipIOS.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAQA,IAAAC,mBAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,uCAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AAAkE,SAAAG,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAe3D,MAAMkB,aAAa,GAAAC,OAAA,CAAAD,aAAA,gBAAGE,cAAK,CAACC,IAAI,CAAEC,KAAY,IAAK;EACxD,MAAM;IACJC,4BAA4B;IAC5BC,MAAM,EAAEC,cAAc;IACtBC;EACF,CAAC,GAAGJ,KAAK;EACT,MAAMR,IAAI,GAAG,IAAAa,2BAAO,EAAC,CAAC;EACtB,MAAM;IAAEC,eAAe;IAAEC;EAAe,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAC/D,MAAMC,gBAAgB,GAAGH,eAAe,CAAC;IACvCI,MAAM,EAAEC;EACV,CAAC,CAAC;EACF,MAAM;IAAEC;EAAU,CAAC,GAAGL,cAAc,CAAC,CAAC;EACtC,MAAMM,eAAe,GAAG,IAAAC,wBAAiB,EAACL,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;;EAElE,MAAM,CAACM,eAAe,EAAEC,gBAAgB,CAAC,GAAGH,eAAe,CAACI,MAAM,CAC/DC,WAAW,IACVjB,4BAA4B,GAAG,IAAI,GAAG,CAACiB,WAAW,CAACC,kBACvD,CAAC;;EAED;EACA;EACA,IAAIC,sBAA0D,GAC5DL,eAAe;EACjB,IAAIA,eAAe,EAAEI,kBAAkB,IAAIH,gBAAgB,EAAE;IAC3DI,sBAAsB,GAAGJ,gBAAgB;EAC3C;EAEA,IAAAK,gBAAS,EAAC,MAAM;IACdC,iFAAyC,CAACC,OAAO,GAC/C,CAACtB,4BAA4B;EACjC,CAAC,EAAE,CAACA,4BAA4B,CAAC,CAAC;EAElC,MAAMuB,SAAS,GAAG1B,cAAK,CAAC2B,MAAM,CAAM,IAAI,CAAC;EAEzC3B,cAAK,CAACuB,SAAS,CAAC,MAAM;IACpB,IAAIK,qBAAqB,GAAG,KAAK;IACjC,MAAMC,YAAY,GAAGA,CAAA,KAAM;MACzB,IAAID,qBAAqB,EAAE;QACzB;MACF;MACAA,qBAAqB,GAAG,IAAI;MAC5B,MAAME,IAAI,GAAG,IAAAC,2BAAc,EAACL,SAAS,CAACD,OAAO,CAAC;MAC9C,IAAIK,IAAI,KAAK,IAAI,EAAE;QACjB,IAAAE,oCAAkB,EAACF,IAAI,CAAC;MAC1B;MACAN,iFAAyC,CAACC,OAAO,GAAG,IAAI;IAC1D,CAAC;IACD,MAAMQ,SAAS,GAAGvC,IAAI,EAAEwC,EAAE,CAAC,YAAY,EAAE,MAAM;MAC7CC,8BAAiB,CACdC,SAAS,CAAC,eAAe,CAAC,CAC1BC,KAAK,CAAC,sCAAsC,CAAC;MAChDR,YAAY,CAAC,CAAC;IAChB,CAAC,CAAC;IACF,MAAMS,YAAY,GAAG5C,IAAI,EAAE6C,KAAK,CAACC,aAAa,CAACC,SAAS,CAAEF,KAAK,IAAK;MAClE,IAAIA,KAAK,KAAKG,yBAAY,CAACC,IAAI,EAAE;QAC/BR,8BAAiB,CACdC,SAAS,CAAC,eAAe,CAAC,CAC1BC,KAAK,CAAC,qCAAqCE,KAAK,EAAE,CAAC;QACtDV,YAAY,CAAC,CAAC;MAChB;IACF,CAAC,CAAC;IACF,OAAO,MAAM;MACXA,YAAY,CAAC,CAAC;MACdI,SAAS,GAAG,CAAC;MACbK,YAAY,EAAEM,WAAW,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAAClD,IAAI,CAAC,CAAC;EAEV,MAAMmD,mBAAmB,GAAG,IAAAC,kBAAW,EAAC,CAACC,KAAa,EAAEC,MAAc,KAAK;IACzE,MAAMlB,IAAI,GAAG,IAAAC,2BAAc,EAACL,SAAS,CAACD,OAAO,CAAC;IAC9C,IAAIK,IAAI,KAAK,IAAI,IAAIiB,KAAK,GAAG,CAAC,IAAIC,MAAM,GAAG,CAAC,EAAE;MAC5C,IAAAC,2CAAyB,EAACnB,IAAI,EAAEiB,KAAK,EAAEC,MAAM,CAAC;IAChD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAEE,WAAW;IAAEC;EAAkB,CAAC,GAAG7B,sBAAsB,IAAI,CAAC,CAAC;EAEvE,MAAM8B,eAAe,GAAG9B,sBAAsB,GAC1C,IAAA+B,2BAAc,EAAC/B,sBAAsB,CAAC,GACtC,KAAK;EAET,MAAMgC,mBAAmB,GAAIF,eAAe,GACxCD,iBAAiB,GACjBD,WAAkD;EAEtD,MAAM9C,MAAM,GAAGgD,eAAe,GAC1B,KAAK,GACL/C,cAAc,KAAKkD,SAAS,GAC1BlD,cAAc,GACd,CAAC,CAACiB,sBAAsB,EAAED,kBAAkB,IAAIP,SAAS,KAAK,OAAO;EAE3E,MAAM0C,SAAS,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC9B,IAAI,CAACH,mBAAmB,EAAE;MACxB,OAAOC,SAAS;IAClB;IACA,OAAOD,mBAAmB,EAAEI,KAAK,CAAC,CAAC;EACrC,CAAC,EAAE,CAACJ,mBAAmB,CAAC,CAAC;EAEzB,MAAMK,eAAe,GAAIC,KAA2C,IAAK;IACvEC,wBAAY,CAACC,IAAI,CAACF,KAAK,CAACG,WAAW,CAACC,MAAM,CAAC;IAC3C1D,WAAW,GAAGsD,KAAK,CAACG,WAAW,CAACC,MAAM,CAAC;EACzC,CAAC;EAED,oBACE7F,MAAA,CAAAkB,OAAA,CAAA4E,aAAA,CAAA9F,MAAA,CAAAkB,OAAA,CAAA6E,QAAA,qBACE/F,MAAA,CAAAkB,OAAA,CAAA4E,aAAA,CAAC3F,iBAAA,CAAA6F,gBAAgB;IACfX,SAAS,EAAEA,SAAU;IACrBpD,MAAM,EAAEA,MAAO;IACfgE,GAAG,EAAE1C,SAAU;IACfpB,WAAW,EAAEqD;EAAgB,CAC9B,CAAC,EACDrC,sBAAsB,iBACrBnD,MAAA,CAAAkB,OAAA,CAAA4E,aAAA,CAACI,2BAA2B;IAC1BjD,WAAW,EAAEE,sBAAuB;IACpCgD,SAAS,EAAElB,eAAe,GAAG,kBAAkB,GAAG,YAAa;IAC/DP,mBAAmB,EAAEA,mBAAoB;IACzC0B,GAAG,EAAEf;EAAU,CAChB,CAEH,CAAC;AAEP,CAAC,CAAC;AAEF,MAAMa,2BAA2B,gBAAGrE,cAAK,CAACC,IAAI,CAC5C,CAAC;EACCmB,WAAW;EACXkD,SAAS;EACTzB;AAKF,CAAC,KAAK;EACJ,MAAM;IAAEE,KAAK;IAAEC;EAAO,CAAC,GAAG,IAAAwB,sCAAkB,EAACpD,WAAW,EAAEkD,SAAS,CAAC;EAEpE,IAAA/C,gBAAS,EAAC,MAAM;IACdsB,mBAAmB,CAACE,KAAK,EAAEC,MAAM,CAAC;EACpC,CAAC,EAAE,CAACD,KAAK,EAAEC,MAAM,EAAEH,mBAAmB,CAAC,CAAC;EAExC,OAAO,IAAI;AACb,CACF,CAAC;AAEDwB,2BAA2B,CAACI,WAAW,GAAG,6BAA6B;AACvE3E,aAAa,CAAC2E,WAAW,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["_videoClient","require","_videoReactBindings","_react","_interopRequireWildcard","_reactNative","_RTCViewPipNative","_rxjs","_shouldDisableIOSLocalVideoOnBackground","_useTrackDimensions","_rxSubjects","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RTCViewPipIOS","exports","React","memo","props","includeLocalParticipantVideo","mirror","mirrorOverride","onPiPChange","useCall","useCameraState","useCallCallingState","useCallStateHooks","callingState","direction","allParticipants","setAllParticipants","useState","state","participants","useEffect","subscription","participants$","pipe","debounceTime","subscribe","unsubscribe","dominantSpeaker","dominantSpeaker2","filter","participant","isLocalParticipant","participantInSpotlight","shouldDisableIOSLocalVideoOnBackgroundRef","current","nativeRef","useRef","callClosedInvokedOnce","onCallClosed","node","findNodeHandle","onNativeCallClosed","unsubFunc","on","videoLoggerSystem","getLogger","debug","callingState$","CallingState","LEFT","onDimensionsUpdated","useCallback","width","height","onNativeDimensionsUpdated","videoStream","screenShareStream","isScreenSharing","hasScreenShare","videoStreamToRender","isPublishingTrack","hasVideo","streamURL","toURL","undefined","handlePiPChange","event","isInPiPMode$","next","nativeEvent","active","participantName","name","participantImageURL","image","isReconnecting","MIGRATING","RECONNECTING","RECONNECTING_FAILED","OFFLINE","participantHasAudio","hasAudio","trackType","isVideoTrackPaused","hasPausedTrack","participantIsPinned","isPinned","participantIsSpeaking","isSpeaking","participantConnectionQuality","connectionQuality","SfuModels","ConnectionQuality","UNSPECIFIED","createElement","Fragment","RTCViewPipNative","ref","isTrackPaused","DimensionsUpdatedRenderless","key","useTrackDimensions","displayName"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipIOS.tsx"],"mappings":"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","ignoreList":[]}
@@ -44,6 +44,33 @@ const RTCViewPipNative = exports.RTCViewPipNative = /*#__PURE__*/_react.default.
44
44
  // eslint-disable-next-line react/prop-types
45
45
  ,
46
46
  onPiPChange: props.onPiPChange
47
+ // eslint-disable-next-line react/prop-types
48
+ ,
49
+ participantName: props.participantName
50
+ // eslint-disable-next-line react/prop-types
51
+ ,
52
+ participantImageURL: props.participantImageURL
53
+ // eslint-disable-next-line react/prop-types
54
+ ,
55
+ isReconnecting: props.isReconnecting
56
+ // eslint-disable-next-line react/prop-types
57
+ ,
58
+ isScreenSharing: props.isScreenSharing
59
+ // eslint-disable-next-line react/prop-types
60
+ ,
61
+ hasAudio: props.hasAudio
62
+ // eslint-disable-next-line react/prop-types
63
+ ,
64
+ isTrackPaused: props.isTrackPaused
65
+ // eslint-disable-next-line react/prop-types
66
+ ,
67
+ isPinned: props.isPinned
68
+ // eslint-disable-next-line react/prop-types
69
+ ,
70
+ isSpeaking: props.isSpeaking
71
+ // eslint-disable-next-line react/prop-types
72
+ ,
73
+ connectionQuality: props.connectionQuality
47
74
  // @ts-expect-error - types issue
48
75
  ,
49
76
  ref: ref
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoClient","e","__esModule","default","COMPONENT_NAME","NativeComponent","requireNativeComponent","onNativeCallClosed","reactTag","videoLoggerSystem","getLogger","debug","commandId","UIManager","getViewManagerConfig","Commands","onCallClosed","dispatchViewManagerCommand","onNativeDimensionsUpdated","width","height","setPreferredContentSize","RTCViewPipNative","exports","React","memo","forwardRef","props","ref","Platform","OS","createElement","style","StyleSheet","absoluteFill","pointerEvents","streamURL","mirror","onPiPChange"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipNative.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,YAAA,GAAAF,OAAA;AAA4D,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5D,MAAMG,cAAc,GAAG,YAAY;AAYnC,MAAMC,eAAqD,GACzD,IAAAC,mCAAsB,EAACF,cAAc,CAAC;AAEjC,SAASG,kBAAkBA,CAACC,QAAgB,EAAE;EACnDC,8BAAiB,CAACC,SAAS,CAAC,kBAAkB,CAAC,CAACC,KAAK,CAAC,oBAAoB,CAAC;EAC3E,MAAMC,SAAS,GACbC,sBAAS,CAACC,oBAAoB,CAACV,cAAc,CAAC,CAACW,QAAQ,CAACC,YAAY;EACtE,IAAI,CAACJ,SAAS,EAAE;EAChBC,sBAAS,CAACI,0BAA0B,CAACT,QAAQ,EAAEI,SAAS,EAAE,EAAE,CAAC;AAC/D;AAEO,SAASM,yBAAyBA,CACvCV,QAAgB,EAChBW,KAAa,EACbC,MAAc,EACd;EACAX,8BAAiB,CACdC,SAAS,CAAC,kBAAkB,CAAC,CAC7BC,KAAK,CAAC,2BAA2B,EAAE;IAClCQ,KAAK;IACLC;EACF,CAAC,CAAC;EACJ,MAAMR,SAAS,GACbC,sBAAS,CAACC,oBAAoB,CAACV,cAAc,CAAC,CAACW,QAAQ,CACpDM,uBAAuB;EAC5B,IAAI,CAACT,SAAS,EAAE;EAChBC,sBAAS,CAACI,0BAA0B,CAACT,QAAQ,EAAEI,SAAS,EAAE,CAACO,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC5E;;AAEA;AACA;AACO,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,IAAI,cACxCD,cAAK,CAACE,UAAU,CAAwC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtE,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,oBACElC,MAAA,CAAAO,OAAA,CAAA4B,aAAA,CAAC1B,eAAe;IACd2B,KAAK,EAAEC,uBAAU,CAACC,YAAa;IAC/BC,aAAa,EAAE;IACf;IAAA;IACAC,SAAS,EAAET,KAAK,CAACS;IACjB;IAAA;IACAC,MAAM,EAAEV,KAAK,CAACU;IACd;IAAA;IACAC,WAAW,EAAEX,KAAK,CAACW;IACnB;IAAA;IACAV,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN,CAAC,CACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoClient","e","__esModule","default","COMPONENT_NAME","NativeComponent","requireNativeComponent","onNativeCallClosed","reactTag","videoLoggerSystem","getLogger","debug","commandId","UIManager","getViewManagerConfig","Commands","onCallClosed","dispatchViewManagerCommand","onNativeDimensionsUpdated","width","height","setPreferredContentSize","RTCViewPipNative","exports","React","memo","forwardRef","props","ref","Platform","OS","createElement","style","StyleSheet","absoluteFill","pointerEvents","streamURL","mirror","onPiPChange","participantName","participantImageURL","isReconnecting","isScreenSharing","hasAudio","isTrackPaused","isPinned","isSpeaking","connectionQuality"],"sourceRoot":"../../../../../src","sources":["components/Call/CallContent/RTCViewPipNative.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,YAAA,GAAAF,OAAA;AAA4D,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5D,MAAMG,cAAc,GAAG,YAAY;AA8BnC,MAAMC,eAAqD,GACzD,IAAAC,mCAAsB,EAACF,cAAc,CAAC;AAEjC,SAASG,kBAAkBA,CAACC,QAAgB,EAAE;EACnDC,8BAAiB,CAACC,SAAS,CAAC,kBAAkB,CAAC,CAACC,KAAK,CAAC,oBAAoB,CAAC;EAC3E,MAAMC,SAAS,GACbC,sBAAS,CAACC,oBAAoB,CAACV,cAAc,CAAC,CAACW,QAAQ,CAACC,YAAY;EACtE,IAAI,CAACJ,SAAS,EAAE;EAChBC,sBAAS,CAACI,0BAA0B,CAACT,QAAQ,EAAEI,SAAS,EAAE,EAAE,CAAC;AAC/D;AAEO,SAASM,yBAAyBA,CACvCV,QAAgB,EAChBW,KAAa,EACbC,MAAc,EACd;EACAX,8BAAiB,CACdC,SAAS,CAAC,kBAAkB,CAAC,CAC7BC,KAAK,CAAC,2BAA2B,EAAE;IAClCQ,KAAK;IACLC;EACF,CAAC,CAAC;EACJ,MAAMR,SAAS,GACbC,sBAAS,CAACC,oBAAoB,CAACV,cAAc,CAAC,CAACW,QAAQ,CACpDM,uBAAuB;EAC5B,IAAI,CAACT,SAAS,EAAE;EAChBC,sBAAS,CAACI,0BAA0B,CAACT,QAAQ,EAAEI,SAAS,EAAE,CAACO,KAAK,EAAEC,MAAM,CAAC,CAAC;AAC5E;;AAEA;AACA;AACO,MAAME,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,IAAI,cACxCD,cAAK,CAACE,UAAU,CAAwC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtE,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,oBACElC,MAAA,CAAAO,OAAA,CAAA4B,aAAA,CAAC1B,eAAe;IACd2B,KAAK,EAAEC,uBAAU,CAACC,YAAa;IAC/BC,aAAa,EAAE;IACf;IAAA;IACAC,SAAS,EAAET,KAAK,CAACS;IACjB;IAAA;IACAC,MAAM,EAAEV,KAAK,CAACU;IACd;IAAA;IACAC,WAAW,EAAEX,KAAK,CAACW;IACnB;IAAA;IACAC,eAAe,EAAEZ,KAAK,CAACY;IACvB;IAAA;IACAC,mBAAmB,EAAEb,KAAK,CAACa;IAC3B;IAAA;IACAC,cAAc,EAAEd,KAAK,CAACc;IACtB;IAAA;IACAC,eAAe,EAAEf,KAAK,CAACe;IACvB;IAAA;IACAC,QAAQ,EAAEhB,KAAK,CAACgB;IAChB;IAAA;IACAC,aAAa,EAAEjB,KAAK,CAACiB;IACrB;IAAA;IACAC,QAAQ,EAAElB,KAAK,CAACkB;IAChB;IAAA;IACAC,UAAU,EAAEnB,KAAK,CAACmB;IAClB;IAAA;IACAC,iBAAiB,EAAEpB,KAAK,CAACoB;IACzB;IAAA;IACAnB,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN,CAAC,CACH,CAAC","ignoreList":[]}