You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/stream_video_flutter/CHANGELOG.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,13 @@
1
1
## Upcoming
2
2
3
-
🐞 Fixed
3
+
### ✅ Added
4
+
* Added default sorting preset for Picture-in-Picture mode to prioritize the most relevant participant.
5
+
6
+
### 🐞 Fixed
7
+
*[Android] Fixed screen share notification tap not opening the app.
8
+
*[Android] Improved screen sharing foreground service reliability:
9
+
- Added proper synchronization to ensure the foreground service is fully started before initiating media projection.
10
+
-`startScreenSharingNotificationService` now returns a boolean indicating success/failure, preventing screen share attempts when the service fails to start.
4
11
*[iOS/macOS] Fixed crash when VoIP push is received before Flutter fully initializes from the terminated state.
Copy file name to clipboardExpand all lines: packages/stream_video_flutter/android/src/main/kotlin/io/getstream/video/flutter/stream_video_flutter/service/ServiceManager.kt
+15-3Lines changed: 15 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -33,8 +33,13 @@ class ServiceManagerImpl(
33
33
val serviceKey ="$callCid-$type"
34
34
35
35
if (activeServices.containsKey(serviceKey)) {
36
-
logger.w { "[start] Service for callCid: $callCid, type: $type already running." }
37
-
returntrue
36
+
if (type ==ServiceType.screenSharing &&!StreamScreenShareService.isServiceRunning(callCid)) {
37
+
logger.w { "[start] Service for callCid: $callCid was in activeServices but not in foreground mode. Retrying." }
38
+
activeServices.remove(serviceKey)
39
+
} else {
40
+
logger.w { "[start] Service for callCid: $callCid, type: $type already running." }
41
+
returntrue
42
+
}
38
43
}
39
44
try {
40
45
val nIntent =when(type){
@@ -176,7 +181,14 @@ class ServiceManagerImpl(
176
181
}
177
182
178
183
val serviceKey ="$actualCallCid-$type"
179
-
val running = activeServices.containsKey(serviceKey)
184
+
val inActiveServices = activeServices.containsKey(serviceKey)
185
+
186
+
val running =if (type ==ServiceType.screenSharing) {
Copy file name to clipboardExpand all lines: packages/stream_video_flutter/android/src/main/kotlin/io/getstream/video/flutter/stream_video_flutter/service/StreamCallService.kt
Copy file name to clipboardExpand all lines: packages/stream_video_flutter/android/src/main/kotlin/io/getstream/video/flutter/stream_video_flutter/service/StreamScreenShareService.kt
0 commit comments