@stream-io/video-react-native-sdk 1.28.3 → 1.29.0-beta.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/android/src/main/AndroidManifest.xml +8 -1
- package/android/src/main/AndroidManifestNew.xml +11 -0
- package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +42 -5
- package/android/src/main/java/com/streamvideo/reactnative/audio/utils/WebRtcAudioUtils.kt +70 -6
- package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +6 -4
- package/android/src/main/java/com/streamvideo/reactnative/keepalive/KeepAliveNotification.kt +83 -0
- package/android/src/main/java/com/streamvideo/reactnative/keepalive/StreamCallKeepAliveHeadlessService.kt +134 -0
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js +3 -1
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js +5 -2
- package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
- package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js +6 -3
- package/dist/commonjs/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
- package/dist/commonjs/components/Participant/FloatingParticipantView/index.js +3 -1
- package/dist/commonjs/components/Participant/FloatingParticipantView/index.js.map +1 -1
- package/dist/commonjs/components/Participant/ParticipantView/ParticipantView.js +3 -1
- package/dist/commonjs/components/Participant/ParticipantView/ParticipantView.js.map +1 -1
- package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js +3 -2
- package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +216 -0
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -0
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js +18 -31
- package/dist/commonjs/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +64 -97
- package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/modules/call-manager/CallManager.js +26 -0
- package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
- package/dist/commonjs/providers/StreamCall/index.js +6 -6
- package/dist/commonjs/providers/StreamCall/index.js.map +1 -1
- package/dist/commonjs/utils/StreamVideoRN/index.js +33 -21
- package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/commonjs/utils/internal/audioSessionPromise.js +46 -0
- package/dist/commonjs/utils/internal/audioSessionPromise.js.map +1 -0
- package/dist/commonjs/utils/internal/callingx.js +84 -0
- package/dist/commonjs/utils/internal/callingx.js.map +1 -0
- package/dist/commonjs/utils/internal/registerSDKGlobals.js +52 -3
- package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/commonjs/utils/keepCallAliveHeadlessTask.js +48 -0
- package/dist/commonjs/utils/keepCallAliveHeadlessTask.js.map +1 -0
- package/dist/commonjs/utils/push/android.js +145 -200
- package/dist/commonjs/utils/push/android.js.map +1 -1
- package/dist/commonjs/utils/push/internal/ios.js +16 -34
- package/dist/commonjs/utils/push/internal/ios.js.map +1 -1
- package/dist/commonjs/utils/push/internal/rxSubjects.js +1 -20
- package/dist/commonjs/utils/push/internal/rxSubjects.js.map +1 -1
- package/dist/commonjs/utils/push/internal/utils.js +17 -1
- package/dist/commonjs/utils/push/internal/utils.js.map +1 -1
- package/dist/commonjs/utils/push/ios.js.map +1 -1
- package/dist/commonjs/utils/push/libs/callingx.js +75 -0
- package/dist/commonjs/utils/push/libs/callingx.js.map +1 -0
- package/dist/commonjs/utils/push/libs/index.js +8 -19
- package/dist/commonjs/utils/push/libs/index.js.map +1 -1
- package/dist/commonjs/utils/push/libs/notifee/index.js +0 -19
- package/dist/commonjs/utils/push/libs/notifee/index.js.map +1 -1
- package/dist/commonjs/utils/push/setupCallingExpEvents.js +97 -0
- package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +1 -0
- package/dist/commonjs/utils/push/setupIosVoipPushEvents.js +7 -6
- package/dist/commonjs/utils/push/setupIosVoipPushEvents.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/commonjs/version.js.map +1 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js +3 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
- package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js +5 -2
- package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
- package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js +6 -3
- package/dist/module/components/Call/CallParticipantsList/CallParticipantsList.js.map +1 -1
- package/dist/module/components/Participant/FloatingParticipantView/index.js +3 -1
- package/dist/module/components/Participant/FloatingParticipantView/index.js.map +1 -1
- package/dist/module/components/Participant/ParticipantView/ParticipantView.js +3 -1
- package/dist/module/components/Participant/ParticipantView/ParticipantView.js.map +1 -1
- package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js +3 -2
- package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +209 -0
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -0
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js +18 -31
- package/dist/module/hooks/push/useIosVoipPushEventsSetupEffect.js.map +1 -1
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +66 -99
- package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/modules/call-manager/CallManager.js +26 -0
- package/dist/module/modules/call-manager/CallManager.js.map +1 -1
- package/dist/module/providers/StreamCall/index.js +6 -6
- package/dist/module/providers/StreamCall/index.js.map +1 -1
- package/dist/module/utils/StreamVideoRN/index.js +33 -21
- package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
- package/dist/module/utils/internal/audioSessionPromise.js +39 -0
- package/dist/module/utils/internal/audioSessionPromise.js.map +1 -0
- package/dist/module/utils/internal/callingx.js +75 -0
- package/dist/module/utils/internal/callingx.js.map +1 -0
- package/dist/module/utils/internal/registerSDKGlobals.js +53 -4
- package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/module/utils/keepCallAliveHeadlessTask.js +42 -0
- package/dist/module/utils/keepCallAliveHeadlessTask.js.map +1 -0
- package/dist/module/utils/push/android.js +147 -202
- package/dist/module/utils/push/android.js.map +1 -1
- package/dist/module/utils/push/internal/ios.js +16 -34
- package/dist/module/utils/push/internal/ios.js.map +1 -1
- package/dist/module/utils/push/internal/rxSubjects.js +0 -19
- package/dist/module/utils/push/internal/rxSubjects.js.map +1 -1
- package/dist/module/utils/push/internal/utils.js +14 -0
- package/dist/module/utils/push/internal/utils.js.map +1 -1
- package/dist/module/utils/push/ios.js.map +1 -1
- package/dist/module/utils/push/libs/callingx.js +67 -0
- package/dist/module/utils/push/libs/callingx.js.map +1 -0
- package/dist/module/utils/push/libs/index.js +1 -2
- package/dist/module/utils/push/libs/index.js.map +1 -1
- package/dist/module/utils/push/libs/notifee/index.js +0 -18
- package/dist/module/utils/push/libs/notifee/index.js.map +1 -1
- package/dist/module/utils/push/setupCallingExpEvents.js +91 -0
- package/dist/module/utils/push/setupCallingExpEvents.js.map +1 -0
- package/dist/module/utils/push/setupIosVoipPushEvents.js +7 -6
- package/dist/module/utils/push/setupIosVoipPushEvents.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/module/version.js.map +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsGrid.d.ts +2 -2
- package/dist/typescript/components/Call/CallLayout/CallParticipantsGrid.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts +2 -2
- package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts.map +1 -1
- package/dist/typescript/components/Call/CallParticipantsList/CallParticipantsList.d.ts +6 -1
- package/dist/typescript/components/Call/CallParticipantsList/CallParticipantsList.d.ts.map +1 -1
- package/dist/typescript/components/Participant/FloatingParticipantView/index.d.ts +2 -2
- package/dist/typescript/components/Participant/FloatingParticipantView/index.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/ParticipantView.d.ts +6 -1
- package/dist/typescript/components/Participant/ParticipantView/ParticipantView.d.ts.map +1 -1
- package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/index.d.ts +2 -2
- package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/index.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts +5 -0
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +1 -0
- package/dist/typescript/hooks/push/useIosVoipPushEventsSetupEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
- package/dist/typescript/index.d.ts +1 -0
- package/dist/typescript/index.d.ts.map +1 -1
- package/dist/typescript/modules/call-manager/CallManager.d.ts +5 -0
- package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/index.d.ts +20 -2
- package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
- package/dist/typescript/utils/StreamVideoRN/types.d.ts +54 -29
- package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
- package/dist/typescript/utils/internal/audioSessionPromise.d.ts +16 -0
- package/dist/typescript/utils/internal/audioSessionPromise.d.ts.map +1 -0
- package/dist/typescript/utils/internal/callingx.d.ts +13 -0
- package/dist/typescript/utils/internal/callingx.d.ts.map +1 -0
- package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
- package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts +10 -0
- package/dist/typescript/utils/keepCallAliveHeadlessTask.d.ts.map +1 -0
- package/dist/typescript/utils/push/android.d.ts +1 -2
- package/dist/typescript/utils/push/android.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/rxSubjects.d.ts +0 -12
- package/dist/typescript/utils/push/internal/rxSubjects.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/utils.d.ts +4 -0
- package/dist/typescript/utils/push/internal/utils.d.ts.map +1 -1
- package/dist/typescript/utils/push/ios.d.ts +1 -2
- package/dist/typescript/utils/push/ios.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/callingx.d.ts +9 -0
- package/dist/typescript/utils/push/libs/callingx.d.ts.map +1 -0
- package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts +16 -2
- package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/index.d.ts +1 -2
- package/dist/typescript/utils/push/libs/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/libs/notifee/index.d.ts +0 -1
- package/dist/typescript/utils/push/libs/notifee/index.d.ts.map +1 -1
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts +8 -0
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +1 -0
- package/dist/typescript/utils/push/setupIosVoipPushEvents.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/dist/typescript/version.d.ts.map +1 -1
- package/expo-config-plugin/dist/withAndroidManifest.js +1 -33
- package/expo-config-plugin/dist/withAndroidPermissions.js +2 -7
- package/expo-config-plugin/dist/withAppDelegate.js +19 -197
- package/expo-config-plugin/dist/withMainActivity.js +1 -1
- package/expo-config-plugin/dist/withiOSInfoPlist.js +2 -3
- package/ios/StreamInCallManager.m +2 -0
- package/ios/StreamInCallManager.swift +20 -5
- package/ios/StreamVideoReactNative.h +7 -4
- package/ios/StreamVideoReactNative.m +191 -82
- package/package.json +10 -15
- package/src/components/Call/CallLayout/CallParticipantsGrid.tsx +3 -1
- package/src/components/Call/CallLayout/CallParticipantsSpotlight.tsx +4 -1
- package/src/components/Call/CallParticipantsList/CallParticipantsList.tsx +8 -0
- package/src/components/Participant/FloatingParticipantView/index.tsx +3 -1
- package/src/components/Participant/ParticipantView/ParticipantView.tsx +7 -0
- package/src/components/Participant/ParticipantView/VideoRenderer/index.tsx +7 -2
- package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +307 -0
- package/src/hooks/push/useIosVoipPushEventsSetupEffect.ts +21 -34
- package/src/hooks/useAndroidKeepCallAliveEffect.ts +94 -120
- package/src/index.ts +1 -0
- package/src/modules/call-manager/CallManager.ts +36 -0
- package/src/modules/call-manager/native-module.d.ts +7 -0
- package/src/providers/StreamCall/index.tsx +6 -6
- package/src/utils/StreamVideoRN/index.ts +40 -30
- package/src/utils/StreamVideoRN/types.ts +56 -29
- package/src/utils/internal/audioSessionPromise.ts +39 -0
- package/src/utils/internal/callingx.ts +108 -0
- package/src/utils/internal/registerSDKGlobals.ts +47 -4
- package/src/utils/keepCallAliveHeadlessTask.ts +54 -0
- package/src/utils/push/android.ts +223 -308
- package/src/utils/push/internal/ios.ts +25 -46
- package/src/utils/push/internal/rxSubjects.ts +0 -29
- package/src/utils/push/internal/utils.ts +25 -0
- package/src/utils/push/ios.ts +1 -6
- package/src/utils/push/libs/callingx.ts +90 -0
- package/src/utils/push/libs/index.ts +1 -2
- package/src/utils/push/libs/notifee/index.ts +0 -27
- package/src/utils/push/setupCallingExpEvents.ts +117 -0
- package/src/utils/push/setupIosVoipPushEvents.ts +11 -7
- package/src/version.ts +1 -1
- package/CHANGELOG.md +0 -3103
- package/android/src/main/java/com/streamvideo/reactnative/util/CallAliveServiceChecker.kt +0 -95
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js +0 -160
- package/dist/commonjs/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +0 -1
- package/dist/commonjs/utils/push/libs/callkeep.js +0 -17
- package/dist/commonjs/utils/push/libs/callkeep.js.map +0 -1
- package/dist/commonjs/utils/push/libs/voipPushNotification.js +0 -17
- package/dist/commonjs/utils/push/libs/voipPushNotification.js.map +0 -1
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js +0 -205
- package/dist/commonjs/utils/push/setupIosCallKeepEvents.js.map +0 -1
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js +0 -153
- package/dist/module/hooks/push/useIosCallkeepWithCallingStateEffect.js.map +0 -1
- package/dist/module/utils/push/libs/callkeep.js +0 -11
- package/dist/module/utils/push/libs/callkeep.js.map +0 -1
- package/dist/module/utils/push/libs/voipPushNotification.js +0 -11
- package/dist/module/utils/push/libs/voipPushNotification.js.map +0 -1
- package/dist/module/utils/push/setupIosCallKeepEvents.js +0 -199
- package/dist/module/utils/push/setupIosCallKeepEvents.js.map +0 -1
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts +0 -5
- package/dist/typescript/hooks/push/useIosCallkeepWithCallingStateEffect.d.ts.map +0 -1
- package/dist/typescript/utils/push/libs/callkeep.d.ts +0 -3
- package/dist/typescript/utils/push/libs/callkeep.d.ts.map +0 -1
- package/dist/typescript/utils/push/libs/voipPushNotification.d.ts +0 -3
- package/dist/typescript/utils/push/libs/voipPushNotification.d.ts.map +0 -1
- package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts +0 -6
- package/dist/typescript/utils/push/setupIosCallKeepEvents.d.ts.map +0 -1
- package/src/hooks/push/useIosCallkeepWithCallingStateEffect.ts +0 -235
- package/src/utils/push/libs/callkeep.ts +0 -16
- package/src/utils/push/libs/voipPushNotification.ts +0 -17
- package/src/utils/push/setupIosCallKeepEvents.ts +0 -252
|
@@ -2,6 +2,13 @@
|
|
|
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" />
|
|
6
5
|
<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>
|
|
7
14
|
</manifest>
|
|
@@ -1,2 +1,13 @@
|
|
|
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>
|
|
2
13
|
</manifest>
|
|
@@ -15,6 +15,7 @@ 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
|
|
18
19
|
import com.facebook.react.bridge.Arguments
|
|
19
20
|
import com.facebook.react.bridge.Promise
|
|
20
21
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
@@ -23,8 +24,8 @@ import com.facebook.react.bridge.ReactMethod
|
|
|
23
24
|
import com.facebook.react.bridge.WritableMap
|
|
24
25
|
import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
|
|
25
26
|
import com.oney.WebRTCModule.WebRTCModule
|
|
27
|
+
import com.streamvideo.reactnative.keepalive.StreamCallKeepAliveHeadlessService
|
|
26
28
|
import com.streamvideo.reactnative.util.CallAlivePermissionsHelper
|
|
27
|
-
import com.streamvideo.reactnative.util.CallAliveServiceChecker
|
|
28
29
|
import com.streamvideo.reactnative.util.PiPHelper
|
|
29
30
|
import com.streamvideo.reactnative.util.RingtoneUtil
|
|
30
31
|
import com.streamvideo.reactnative.util.YuvFrame
|
|
@@ -115,11 +116,47 @@ class StreamVideoReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
115
116
|
promise.resolve(false)
|
|
116
117
|
return
|
|
117
118
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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)
|
|
122
146
|
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)
|
|
123
160
|
}
|
|
124
161
|
}
|
|
125
162
|
|
|
@@ -55,14 +55,78 @@ 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
|
|
58
70
|
reactContext.currentActivity?.let {
|
|
59
|
-
|
|
71
|
+
sb.appendLine("volumeControlStream: ${streamTypeToString(it.volumeControlStream)}")
|
|
60
72
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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()
|
|
66
130
|
}
|
|
67
131
|
|
|
68
132
|
/** Converts AudioDeviceInfo types to local string representation. */
|
package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt
CHANGED
|
@@ -168,10 +168,12 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
|
|
|
168
168
|
|
|
169
169
|
@ReactMethod
|
|
170
170
|
fun logAudioState() {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
171
|
+
Log.d(TAG, getAudioStateLog())
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
@ReactMethod(isBlockingSynchronousMethod = true)
|
|
175
|
+
fun getAudioStateLog(): String {
|
|
176
|
+
return WebRtcAudioUtils.getAudioStateLog(reactApplicationContext)
|
|
175
177
|
}
|
|
176
178
|
|
|
177
179
|
@Suppress("unused")
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
package com.streamvideo.reactnative.keepalive
|
|
2
|
+
|
|
3
|
+
import android.app.Notification
|
|
4
|
+
import android.app.NotificationChannel
|
|
5
|
+
import android.app.NotificationManager
|
|
6
|
+
import android.app.PendingIntent
|
|
7
|
+
import android.content.Context
|
|
8
|
+
import android.content.Intent
|
|
9
|
+
import android.content.pm.PackageManager
|
|
10
|
+
import android.os.Build
|
|
11
|
+
import androidx.core.app.NotificationCompat
|
|
12
|
+
|
|
13
|
+
internal object KeepAliveNotification {
|
|
14
|
+
private const val DEFAULT_CHANNEL_DESCRIPTION = "Stream call keep-alive"
|
|
15
|
+
|
|
16
|
+
fun ensureChannel(
|
|
17
|
+
context: Context,
|
|
18
|
+
channelId: String,
|
|
19
|
+
channelName: String
|
|
20
|
+
) {
|
|
21
|
+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) return
|
|
22
|
+
val manager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
|
23
|
+
val existing = manager.getNotificationChannel(channelId)
|
|
24
|
+
if (existing != null) return
|
|
25
|
+
|
|
26
|
+
val channel = NotificationChannel(
|
|
27
|
+
channelId,
|
|
28
|
+
channelName,
|
|
29
|
+
NotificationManager.IMPORTANCE_LOW
|
|
30
|
+
).apply {
|
|
31
|
+
description = DEFAULT_CHANNEL_DESCRIPTION
|
|
32
|
+
setShowBadge(false)
|
|
33
|
+
}
|
|
34
|
+
manager.createNotificationChannel(channel)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
fun buildOngoingNotification(
|
|
38
|
+
context: Context,
|
|
39
|
+
channelId: String,
|
|
40
|
+
title: String,
|
|
41
|
+
body: String,
|
|
42
|
+
smallIconName: String?
|
|
43
|
+
): Notification {
|
|
44
|
+
val launchIntent = context.packageManager.getLaunchIntentForPackage(context.packageName)
|
|
45
|
+
val pendingIntentFlags =
|
|
46
|
+
PendingIntent.FLAG_UPDATE_CURRENT or
|
|
47
|
+
PendingIntent.FLAG_IMMUTABLE
|
|
48
|
+
val contentIntent = if (launchIntent != null) {
|
|
49
|
+
PendingIntent.getActivity(context, 0, launchIntent, pendingIntentFlags)
|
|
50
|
+
} else {
|
|
51
|
+
// Fallback: empty intent to avoid crash if launch activity is missing for some reason
|
|
52
|
+
PendingIntent.getActivity(context, 0, Intent(), pendingIntentFlags)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
val iconResId = resolveSmallIconResId(context, smallIconName)
|
|
56
|
+
return NotificationCompat.Builder(context, channelId)
|
|
57
|
+
.setContentTitle(title)
|
|
58
|
+
.setContentText(body)
|
|
59
|
+
.setOngoing(true)
|
|
60
|
+
.setOnlyAlertOnce(true)
|
|
61
|
+
.setCategory(NotificationCompat.CATEGORY_CALL)
|
|
62
|
+
.setContentIntent(contentIntent)
|
|
63
|
+
.setSmallIcon(iconResId)
|
|
64
|
+
.build()
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
private fun resolveSmallIconResId(context: Context, smallIconName: String?): Int {
|
|
68
|
+
val resources = context.resources
|
|
69
|
+
val packageName = context.packageName
|
|
70
|
+
if (!smallIconName.isNullOrBlank()) {
|
|
71
|
+
val id = resources.getIdentifier(smallIconName, "drawable", packageName)
|
|
72
|
+
if (id != 0) return id
|
|
73
|
+
}
|
|
74
|
+
// Default to the app icon
|
|
75
|
+
return try {
|
|
76
|
+
val appInfo = context.packageManager.getApplicationInfo(packageName, 0)
|
|
77
|
+
appInfo.icon
|
|
78
|
+
} catch (_: PackageManager.NameNotFoundException) {
|
|
79
|
+
android.R.drawable.ic_dialog_info
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
package com.streamvideo.reactnative.keepalive
|
|
2
|
+
|
|
3
|
+
import android.Manifest
|
|
4
|
+
import android.content.Intent
|
|
5
|
+
import android.content.pm.PackageManager
|
|
6
|
+
import android.content.pm.ServiceInfo
|
|
7
|
+
import android.os.Build
|
|
8
|
+
import androidx.annotation.RequiresApi
|
|
9
|
+
import androidx.core.app.ServiceCompat
|
|
10
|
+
import androidx.core.content.ContextCompat
|
|
11
|
+
import com.facebook.react.HeadlessJsTaskService
|
|
12
|
+
import com.facebook.react.bridge.Arguments
|
|
13
|
+
import com.facebook.react.jstasks.HeadlessJsTaskConfig
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Foreground service that runs a React Native HeadlessJS task to keep a call alive.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
class StreamCallKeepAliveHeadlessService : HeadlessJsTaskService() {
|
|
20
|
+
|
|
21
|
+
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
|
22
|
+
val safeIntent = intent ?: Intent()
|
|
23
|
+
val channelId = safeIntent.getStringExtra(EXTRA_CHANNEL_ID) ?: DEFAULT_CHANNEL_ID
|
|
24
|
+
val channelName = safeIntent.getStringExtra(EXTRA_CHANNEL_NAME) ?: DEFAULT_CHANNEL_NAME
|
|
25
|
+
val title = safeIntent.getStringExtra(EXTRA_TITLE) ?: DEFAULT_TITLE
|
|
26
|
+
val body = safeIntent.getStringExtra(EXTRA_BODY) ?: DEFAULT_BODY
|
|
27
|
+
val smallIconName = safeIntent.getStringExtra(EXTRA_SMALL_ICON_NAME)
|
|
28
|
+
|
|
29
|
+
KeepAliveNotification.ensureChannel(this, channelId, channelName)
|
|
30
|
+
val notification = KeepAliveNotification.buildOngoingNotification(
|
|
31
|
+
context = this,
|
|
32
|
+
channelId = channelId,
|
|
33
|
+
title = title,
|
|
34
|
+
body = body,
|
|
35
|
+
smallIconName = smallIconName
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
startForegroundCompat(notification)
|
|
39
|
+
|
|
40
|
+
// Ensure HeadlessJS task is started
|
|
41
|
+
return super.onStartCommand(safeIntent, flags, startId)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
override fun getTaskConfig(intent: Intent?): HeadlessJsTaskConfig? {
|
|
45
|
+
val callCid = intent?.getStringExtra(EXTRA_CALL_CID) ?: return null
|
|
46
|
+
val data = Arguments.createMap().apply {
|
|
47
|
+
putString("callCid", callCid)
|
|
48
|
+
}
|
|
49
|
+
// We intentionally allow long-running work (the JS task can return a never-resolving Promise).
|
|
50
|
+
return HeadlessJsTaskConfig(
|
|
51
|
+
TASK_NAME,
|
|
52
|
+
data,
|
|
53
|
+
0, // timeout (0 = no timeout)
|
|
54
|
+
true // allowedInForeground
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
override fun onDestroy() {
|
|
59
|
+
super.onDestroy()
|
|
60
|
+
stopForeground(STOP_FOREGROUND_REMOVE)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@RequiresApi(Build.VERSION_CODES.R)
|
|
64
|
+
private fun computeForegroundServiceTypes(): Int {
|
|
65
|
+
var types = ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK
|
|
66
|
+
|
|
67
|
+
val hasCameraPermission =
|
|
68
|
+
ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED
|
|
69
|
+
if (hasCameraPermission) {
|
|
70
|
+
types = types or ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
val hasMicrophonePermission =
|
|
74
|
+
ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED
|
|
75
|
+
if (hasMicrophonePermission) {
|
|
76
|
+
types = types or ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return types
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
private fun startForegroundCompat(notification: android.app.Notification) {
|
|
83
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
|
84
|
+
val types = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) computeForegroundServiceTypes() else ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK
|
|
85
|
+
startForeground(NOTIFICATION_ID, notification, types)
|
|
86
|
+
} else {
|
|
87
|
+
startForeground(NOTIFICATION_ID, notification)
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
companion object {
|
|
92
|
+
const val TASK_NAME = "StreamVideoKeepCallAlive"
|
|
93
|
+
|
|
94
|
+
const val EXTRA_CALL_CID = "callCid"
|
|
95
|
+
const val EXTRA_CHANNEL_ID = "channelId"
|
|
96
|
+
const val EXTRA_CHANNEL_NAME = "channelName"
|
|
97
|
+
const val EXTRA_TITLE = "title"
|
|
98
|
+
const val EXTRA_BODY = "body"
|
|
99
|
+
const val EXTRA_SMALL_ICON_NAME = "smallIconName"
|
|
100
|
+
|
|
101
|
+
private const val NOTIFICATION_ID = 6061
|
|
102
|
+
|
|
103
|
+
private const val DEFAULT_CHANNEL_ID = "stream_call_foreground_service"
|
|
104
|
+
private const val DEFAULT_CHANNEL_NAME = "Call in progress"
|
|
105
|
+
private const val DEFAULT_TITLE = "Call in progress"
|
|
106
|
+
private const val DEFAULT_BODY = "Tap to return to the call"
|
|
107
|
+
|
|
108
|
+
fun buildStartIntent(
|
|
109
|
+
context: android.content.Context,
|
|
110
|
+
callCid: String,
|
|
111
|
+
channelId: String,
|
|
112
|
+
channelName: String,
|
|
113
|
+
title: String,
|
|
114
|
+
body: String,
|
|
115
|
+
smallIconName: String?
|
|
116
|
+
): Intent {
|
|
117
|
+
return Intent(context, StreamCallKeepAliveHeadlessService::class.java).apply {
|
|
118
|
+
putExtra(EXTRA_CALL_CID, callCid)
|
|
119
|
+
putExtra(EXTRA_CHANNEL_ID, channelId)
|
|
120
|
+
putExtra(EXTRA_CHANNEL_NAME, channelName)
|
|
121
|
+
putExtra(EXTRA_TITLE, title)
|
|
122
|
+
putExtra(EXTRA_BODY, body)
|
|
123
|
+
if (!smallIconName.isNullOrBlank()) {
|
|
124
|
+
putExtra(EXTRA_SMALL_ICON_NAME, smallIconName)
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
fun buildStopIntent(context: android.content.Context): Intent {
|
|
130
|
+
return Intent(context, StreamCallKeepAliveHeadlessService::class.java)
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
@@ -29,6 +29,7 @@ const CallParticipantsGrid = ({
|
|
|
29
29
|
ParticipantVideoFallback,
|
|
30
30
|
ParticipantView,
|
|
31
31
|
VideoRenderer,
|
|
32
|
+
mirror,
|
|
32
33
|
showLocalParticipant = false,
|
|
33
34
|
supportedReactions,
|
|
34
35
|
landscape
|
|
@@ -84,7 +85,8 @@ const CallParticipantsGrid = ({
|
|
|
84
85
|
ParticipantNetworkQualityIndicator,
|
|
85
86
|
ParticipantReaction,
|
|
86
87
|
ParticipantVideoFallback,
|
|
87
|
-
VideoRenderer
|
|
88
|
+
VideoRenderer,
|
|
89
|
+
mirror
|
|
88
90
|
};
|
|
89
91
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
90
92
|
style: [styles.container, landscapeStyles, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoReactBindings","_useDebouncedValue","_CallParticipantsList","_TestIds","_ThemeContext","_useIsInPiPMode","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CallParticipantsGrid","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","showLocalParticipant","supportedReactions","landscape","theme","colors","callParticipantsGrid","useTheme","useRemoteParticipants","useParticipants","useLocalParticipant","useDominantSpeaker","useCallStateHooks","_remoteParticipants","localParticipant","_allParticipants","dominantSpeaker","remoteParticipants","useDebouncedValue","allParticipants","landscapeStyles","flexDirection","isInPiPMode","useIsInPiPMode","showFloatingView","participants","isLocalParticipant","participantViewProps","createElement","View","style","styles","container","backgroundColor","sheetPrimary","testID","ComponentTestIds","CALL_PARTICIPANTS_GRID","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsGrid.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AAIA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AAGA,IAAAO,eAAA,GAAAP,OAAA;AAA+D,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAP,CAAA,MAAAA,CAAA,GAAAQ,SAAA,CAAAC,MAAA,EAAAT,CAAA,UAAAU,CAAA,GAAAF,SAAA,CAAAR,CAAA,YAAAW,CAAA,IAAAD,CAAA,OAAAE,cAAA,CAAAC,IAAA,CAAAH,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAJ,QAAA,CAAAW,KAAA,OAAAN,SAAA;AAG/D;AACA;AACA;;AAeA;AACA;AACA;AACO,MAAMO,oBAAoB,GAAGA,CAAC;EACnCC,oBAAoB,GAAGC,0CAA2B;EAClDC,gBAAgB;EAChBC,kCAAkC;EAClCC,mBAAmB;EACnBC,wBAAwB;EACxBC,eAAe;EACfC,aAAa;EACbC,oBAAoB,GAAG,KAAK;EAC5BC,kBAAkB;EAClBC;AACyB,CAAC,KAAK;EAC/B,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM;MAAEC;IAAqB;EACxC,CAAC,GAAG,IAAAC,sBAAQ,EAAC,CAAC;EACd,MAAM;IACJC,qBAAqB;IACrBC,eAAe;IACfC,mBAAmB;IACnBC;EACF,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EACvB,MAAMC,mBAAmB,GAAGL,qBAAqB,CAAC,CAAC;EACnD,MAAMM,gBAAgB,GAAGJ,mBAAmB,CAAC,CAAC;EAC9C,MAAMK,gBAAgB,GAAGN,eAAe,CAAC,CAAC;EAC1C,MAAMO,eAAe,GAAGL,kBAAkB,CAAC,CAAC;EAC5C;EACA,MAAMM,kBAAkB,GAAG,IAAAC,oCAAiB,EAACL,mBAAmB,EAAE,GAAG,CAAC;EACtE,MAAMM,eAAe,GAAG,IAAAD,oCAAiB,EAACH,gBAAgB,EAAE,GAAG,CAAC;EAChE,MAAMK,eAA0B,GAAG;IACjCC,aAAa,EAAElB,SAAS,GAAG,KAAK,GAAG;EACrC,CAAC;EAED,MAAMmB,WAAW,GAAG,IAAAC,8BAAc,EAAC,CAAC;EAEpC,MAAMC,gBAAgB,GACpB,CAACF,WAAW,IACZL,kBAAkB,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_videoReactBindings","_useDebouncedValue","_CallParticipantsList","_TestIds","_ThemeContext","_useIsInPiPMode","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","CallParticipantsGrid","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","VideoRenderer","mirror","showLocalParticipant","supportedReactions","landscape","theme","colors","callParticipantsGrid","useTheme","useRemoteParticipants","useParticipants","useLocalParticipant","useDominantSpeaker","useCallStateHooks","_remoteParticipants","localParticipant","_allParticipants","dominantSpeaker","remoteParticipants","useDebouncedValue","allParticipants","landscapeStyles","flexDirection","isInPiPMode","useIsInPiPMode","showFloatingView","participants","isLocalParticipant","participantViewProps","createElement","View","style","styles","container","backgroundColor","sheetPrimary","testID","ComponentTestIds","CALL_PARTICIPANTS_GRID","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsGrid.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -34,6 +34,7 @@ const CallParticipantsSpotlight = ({
|
|
|
34
34
|
ScreenShareOverlay,
|
|
35
35
|
VideoRenderer,
|
|
36
36
|
supportedReactions,
|
|
37
|
+
mirror,
|
|
37
38
|
landscape
|
|
38
39
|
}) => {
|
|
39
40
|
const {
|
|
@@ -63,7 +64,8 @@ const CallParticipantsSpotlight = ({
|
|
|
63
64
|
};
|
|
64
65
|
const callParticipantsListProps = {
|
|
65
66
|
...participantViewProps,
|
|
66
|
-
ParticipantView
|
|
67
|
+
ParticipantView,
|
|
68
|
+
mirror
|
|
67
69
|
};
|
|
68
70
|
const landscapeStyles = {
|
|
69
71
|
flexDirection: landscape ? 'row' : 'column'
|
|
@@ -80,7 +82,8 @@ const CallParticipantsSpotlight = ({
|
|
|
80
82
|
style: isUserAloneInCall ? [styles.fullScreenSpotlightContainer, callParticipantsSpotlight.fullScreenSpotlightContainer] : [styles.spotlightContainer, spotlightContainerLandscapeStyles, callParticipantsSpotlight.spotlightContainer],
|
|
81
83
|
objectFit: isScreenShareOnSpotlight ? 'contain' : 'cover',
|
|
82
84
|
trackType: isScreenShareOnSpotlight ? 'screenShareTrack' : 'videoTrack',
|
|
83
|
-
supportedReactions: supportedReactions
|
|
85
|
+
supportedReactions: supportedReactions,
|
|
86
|
+
mirror: mirror
|
|
84
87
|
}, participantViewProps))), !isInPiP && !isUserAloneInCall && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
85
88
|
style: [styles.callParticipantsListContainer, callParticipantsSpotlight.callParticipantsListContainer]
|
|
86
89
|
}, CallParticipantsList && /*#__PURE__*/_react.default.createElement(CallParticipantsList, _extends({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_videoClient","_videoReactBindings","_reactNative","_useDebouncedValue","_TestIds","_CallParticipantsList","_Participant","_ThemeContext","_useIsInPiPMode","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","CallParticipantsSpotlight","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","DefaultParticipantView","ScreenShareOverlay","VideoRenderer","supportedReactions","landscape","theme","callParticipantsSpotlight","variants","useTheme","styles","useStyles","useParticipants","useCallStateHooks","_allParticipants","sortBy","speakerLayoutSortPreset","allParticipants","useDebouncedValue","participantInSpotlight","otherParticipants","isScreenShareOnSpotlight","hasScreenShare","isUserAloneInCall","isInPiP","useIsInPiPMode","participantViewProps","callParticipantsListProps","landscapeStyles","flexDirection","spotlightContainerLandscapeStyles","marginHorizontal","spacingSizes","xs","showShareScreenOverlay","isLocalParticipant","createElement","View","testID","ComponentTestIds","CALL_PARTICIPANTS_SPOTLIGHT","style","container","participant","fullScreenSpotlightContainer","spotlightContainer","objectFit","trackType","callParticipantsListContainer","participants","horizontal","numberOfColumns","exports","useMemo","StyleSheet","create","flex","backgroundColor","colors","sheetPrimary","overflow","borderRadius","borderRadiusSizes","sm"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsSpotlight.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_videoClient","_videoReactBindings","_reactNative","_useDebouncedValue","_TestIds","_CallParticipantsList","_Participant","_ThemeContext","_useIsInPiPMode","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","CallParticipantsSpotlight","CallParticipantsList","DefaultCallParticipantsList","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","ParticipantView","DefaultParticipantView","ScreenShareOverlay","VideoRenderer","supportedReactions","mirror","landscape","theme","callParticipantsSpotlight","variants","useTheme","styles","useStyles","useParticipants","useCallStateHooks","_allParticipants","sortBy","speakerLayoutSortPreset","allParticipants","useDebouncedValue","participantInSpotlight","otherParticipants","isScreenShareOnSpotlight","hasScreenShare","isUserAloneInCall","isInPiP","useIsInPiPMode","participantViewProps","callParticipantsListProps","landscapeStyles","flexDirection","spotlightContainerLandscapeStyles","marginHorizontal","spacingSizes","xs","showShareScreenOverlay","isLocalParticipant","createElement","View","testID","ComponentTestIds","CALL_PARTICIPANTS_SPOTLIGHT","style","container","participant","fullScreenSpotlightContainer","spotlightContainer","objectFit","trackType","callParticipantsListContainer","participants","horizontal","numberOfColumns","exports","useMemo","StyleSheet","create","flex","backgroundColor","colors","sheetPrimary","overflow","borderRadius","borderRadiusSizes","sm"],"sourceRoot":"../../../../../src","sources":["components/Call/CallLayout/CallParticipantsSpotlight.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,7 +40,8 @@ const CallParticipantsList = ({
|
|
|
40
40
|
ParticipantVideoFallback,
|
|
41
41
|
VideoRenderer,
|
|
42
42
|
supportedReactions,
|
|
43
|
-
landscape
|
|
43
|
+
landscape,
|
|
44
|
+
mirror
|
|
44
45
|
}) => {
|
|
45
46
|
const styles = useStyles();
|
|
46
47
|
const [containerLayout, setContainerLayout] = (0, _react.useState)({
|
|
@@ -157,7 +158,8 @@ const CallParticipantsList = ({
|
|
|
157
158
|
style: itemContainerStyle,
|
|
158
159
|
trackType: "videoTrack",
|
|
159
160
|
isVisible: isVisible,
|
|
160
|
-
supportedReactions: supportedReactions
|
|
161
|
+
supportedReactions: supportedReactions,
|
|
162
|
+
mirror: mirror
|
|
161
163
|
}, participantProps)));
|
|
162
164
|
},
|
|
163
165
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -173,7 +175,8 @@ const CallParticipantsList = ({
|
|
|
173
175
|
style: styles.flexed,
|
|
174
176
|
trackType: "videoTrack",
|
|
175
177
|
key: keyExtractor(participant, index),
|
|
176
|
-
supportedReactions: supportedReactions
|
|
178
|
+
supportedReactions: supportedReactions,
|
|
179
|
+
mirror: mirror
|
|
177
180
|
}, participantProps));
|
|
178
181
|
}));
|
|
179
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_videoClient","_useDebouncedValue","_videoReactBindings","_TestIds","_ParticipantView","_contexts","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","VIEWABILITY_CONFIG","waitForInteraction","itemVisiblePercentThreshold","CallParticipantsList","numberOfColumns","horizontal","participants","ParticipantView","DefaultParticipantView","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","VideoRenderer","supportedReactions","landscape","styles","useStyles","containerLayout","setContainerLayout","useState","width","height","viewableParticipantSessionIds","useRef","Set","_forceUpdateValue","forceUpdate","useReducer","x","forceUpdateValue","useDebouncedValue","activeCall","useCall","activeCallRef","current","onViewableItemsChanged","viewableItems","participantPatches","mustUpdate","newVisibleParticipantSessionIds","map","v","key","oldVisibleParticipantSessionIds","forEach","viewportVisibilityState","videoTrack","VisibilityState","VISIBLE","screenShareTrack","UNKNOWN","state","updateParticipants","keyExtractor","item","sessionId","onLayout","event","nativeEvent","layout","prev","itemHeight","itemWidth","calculateParticipantViewSize","containerHeight","containerWidth","participantsLength","margin","participant","itemContainerStyle","useMemo","style","participantWrapperHorizontal","landScapeStyle","participantProps","renderItem","useCallback","isVisible","createElement","Fragment","trackType","shouldWrapByColumns","index","flexed","FlatList","undefined","data","viewabilityConfig","numColumns","showsHorizontalScrollIndicator","extraData","testID","ComponentTestIds","CALL_PARTICIPANTS_LIST","exports","theme","useTheme","StyleSheet","create","flex","marginHorizontal","variants","spacingSizes","sm","borderRadius","borderRadiusSizes","xs"],"sourceRoot":"../../../../../src","sources":["components/Call/CallParticipantsList/CallParticipantsList.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAOA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AAMA,IAAAO,SAAA,GAAAP,OAAA;AAA6C,SAAAD,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,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;AAAA,SAAAkB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAjB,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAC,CAAA,GAAAqB,SAAA,CAAAtB,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAe,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAM7C,MAAMG,kBAAsD,GAAG;EAC7DC,kBAAkB,EAAE,KAAK;EACzBC,2BAA2B,EAAE;AAC/B,CAAC;;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_videoClient","_useDebouncedValue","_videoReactBindings","_TestIds","_ParticipantView","_contexts","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","VIEWABILITY_CONFIG","waitForInteraction","itemVisiblePercentThreshold","CallParticipantsList","numberOfColumns","horizontal","participants","ParticipantView","DefaultParticipantView","ParticipantLabel","ParticipantNetworkQualityIndicator","ParticipantReaction","ParticipantVideoFallback","VideoRenderer","supportedReactions","landscape","mirror","styles","useStyles","containerLayout","setContainerLayout","useState","width","height","viewableParticipantSessionIds","useRef","Set","_forceUpdateValue","forceUpdate","useReducer","x","forceUpdateValue","useDebouncedValue","activeCall","useCall","activeCallRef","current","onViewableItemsChanged","viewableItems","participantPatches","mustUpdate","newVisibleParticipantSessionIds","map","v","key","oldVisibleParticipantSessionIds","forEach","viewportVisibilityState","videoTrack","VisibilityState","VISIBLE","screenShareTrack","UNKNOWN","state","updateParticipants","keyExtractor","item","sessionId","onLayout","event","nativeEvent","layout","prev","itemHeight","itemWidth","calculateParticipantViewSize","containerHeight","containerWidth","participantsLength","margin","participant","itemContainerStyle","useMemo","style","participantWrapperHorizontal","landScapeStyle","participantProps","renderItem","useCallback","isVisible","createElement","Fragment","trackType","shouldWrapByColumns","index","flexed","FlatList","undefined","data","viewabilityConfig","numColumns","showsHorizontalScrollIndicator","extraData","testID","ComponentTestIds","CALL_PARTICIPANTS_LIST","exports","theme","useTheme","StyleSheet","create","flex","marginHorizontal","variants","spacingSizes","sm","borderRadius","borderRadiusSizes","xs"],"sourceRoot":"../../../../../src","sources":["components/Call/CallParticipantsList/CallParticipantsList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -62,7 +62,8 @@ const FloatingParticipantView = ({
|
|
|
62
62
|
VideoRenderer,
|
|
63
63
|
supportedReactions,
|
|
64
64
|
videoZOrder = 1,
|
|
65
|
-
objectFit
|
|
65
|
+
objectFit,
|
|
66
|
+
mirror
|
|
66
67
|
}) => {
|
|
67
68
|
const {
|
|
68
69
|
theme: {
|
|
@@ -135,6 +136,7 @@ const FloatingParticipantView = ({
|
|
|
135
136
|
,
|
|
136
137
|
videoZOrder: videoZOrder,
|
|
137
138
|
objectFit: objectFit,
|
|
139
|
+
mirror: mirror,
|
|
138
140
|
supportedReactions: supportedReactions
|
|
139
141
|
}, participantViewProps)))));
|
|
140
142
|
};
|