diff --git a/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/Call.kt b/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/Call.kt index aa7c6f21372..b4054e616ca 100644 --- a/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/Call.kt +++ b/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/Call.kt @@ -220,16 +220,16 @@ public class Call( private val listener = object : NetworkStateProvider.NetworkStateListener { override suspend fun onConnected() { leaveTimeoutAfterDisconnect?.cancel() - logger.d { "[onConnected] no args" } + logger.d { "[NetworkStateListener#onConnected] #network; no args" } val elapsedTimeMils = System.currentTimeMillis() - lastDisconnect if (lastDisconnect > 0 && elapsedTimeMils < reconnectDeadlineMils) { logger.d { - "[onConnected] Reconnecting (fast) time since last disconnect is ${elapsedTimeMils / 1000} seconds. Deadline is ${reconnectDeadlineMils / 1000} seconds" + "[NetworkStateListener#onConnected] #network; Reconnecting (fast). Time since last disconnect is ${elapsedTimeMils / 1000} seconds. Deadline is ${reconnectDeadlineMils / 1000} seconds" } - fastReconnect() + rejoin() } else { logger.d { - "[onConnected] Reconnecting (full) time since last disconnect is ${elapsedTimeMils / 1000} seconds. Deadline is ${reconnectDeadlineMils / 1000} seconds" + "[NetworkStateListener#onConnected] #network; Reconnecting (full). Time since last disconnect is ${elapsedTimeMils / 1000} seconds. Deadline is ${reconnectDeadlineMils / 1000} seconds" } rejoin() } @@ -241,11 +241,11 @@ public class Call( leaveTimeoutAfterDisconnect = scope.launch { delay(clientImpl.leaveAfterDisconnectSeconds * 1000) logger.d { - "[onDisconnected] Leaving after being disconnected for ${clientImpl.leaveAfterDisconnectSeconds}" + "[NetworkStateListener#onDisconnected] #network; Leaving after being disconnected for ${clientImpl.leaveAfterDisconnectSeconds}" } leave() } - logger.d { "[onDisconnected] at $lastDisconnect" } + logger.d { "[NetworkStateListener#onDisconnected] #network; at $lastDisconnect" } } } @@ -531,7 +531,7 @@ public class Call( session?.subscriber?.state?.collect { when (it) { PeerConnection.PeerConnectionState.FAILED, PeerConnection.PeerConnectionState.DISCONNECTED -> { - fastReconnect() + rejoin() } else -> { @@ -546,7 +546,7 @@ public class Call( session?.subscriber?.state?.collect { when (it) { PeerConnection.PeerConnectionState.FAILED, PeerConnection.PeerConnectionState.DISCONNECTED -> { - fastReconnect() + rejoin() } else -> { @@ -1307,7 +1307,7 @@ public class Call( fun fastReconnect() { call.scope.launch { - call.fastReconnect() + call.rejoin() } } } diff --git a/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/CallHealthMonitor.kt b/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/CallHealthMonitor.kt index 463aafa6eb4..46166421083 100644 --- a/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/CallHealthMonitor.kt +++ b/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/CallHealthMonitor.kt @@ -195,7 +195,7 @@ public class CallHealthMonitor( logger.d { "[reconnect] skipping reconnect - too often" } } else { lastReconnectAt = now - call.fastReconnect() + call.rejoin() } reconnectInProgress = false diff --git a/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/call/RtcSession.kt b/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/call/RtcSession.kt index 96c3859199f..5fa52e275d5 100644 --- a/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/call/RtcSession.kt +++ b/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/call/RtcSession.kt @@ -425,7 +425,7 @@ public class RtcSession internal constructor( logger.d { "[RtcSession#error] reconnectStrategy: $reconnectStrategy" } when (reconnectStrategy) { WebsocketReconnectStrategy.WEBSOCKET_RECONNECT_STRATEGY_FAST -> { - call.fastReconnect() + call.rejoin() } WebsocketReconnectStrategy.WEBSOCKET_RECONNECT_STRATEGY_REJOIN -> { diff --git a/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/internal/network/NetworkStateProvider.kt b/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/internal/network/NetworkStateProvider.kt index c535ba91e8b..e6dfd45cca0 100644 --- a/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/internal/network/NetworkStateProvider.kt +++ b/stream-video-android-core/src/main/kotlin/io/getstream/video/android/core/internal/network/NetworkStateProvider.kt @@ -42,14 +42,18 @@ public class NetworkStateProvider( private val lock: Any = Any() private val callback = object : ConnectivityManager.NetworkCallback() { override fun onAvailable(network: Network) { + logger.d { "[callback#onAvailable] #network; onAvailable." } notifyListenersIfNetworkStateChanged() } override fun onCapabilitiesChanged(network: Network, networkCapabilities: NetworkCapabilities) { + logger.d { "[callback#onCapabilitiesChanged] #network; onCapabilitiesChanged" } notifyListenersIfNetworkStateChanged() } override fun onLost(network: Network) { + logger.d { "[callback#onLost] #network; onLost" } + isConnected = false notifyListenersIfNetworkStateChanged() } } @@ -65,11 +69,11 @@ public class NetworkStateProvider( private fun notifyListenersIfNetworkStateChanged() { val isNowConnected = isConnected() if (!isConnected && isNowConnected) { - logger.i { "Network connected." } + logger.d { "[notifyListenersIfNetworkStateChanged] #network; Network connected." } isConnected = true listeners.onConnected() } else if (isConnected && !isNowConnected) { - logger.i { "Network disconnected." } + logger.d { "[notifyListenersIfNetworkStateChanged] #network; Network disconnected." } isConnected = false listeners.onDisconnected() }