Skip to content

Commit 890b967

Browse files
committed
#3 state change event can be sent before fabric setup
1 parent f34b1ce commit 890b967

File tree

2 files changed

+7
-16
lines changed

2 files changed

+7
-16
lines changed

library/src/main/java/io/callstats/interceptor/FabricInterceptor.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,10 @@ internal class FabricInterceptor : Interceptor {
6464
var events = emptyArray<Event>()
6565
val newTimestamp = System.currentTimeMillis()
6666

67-
// [Fabric state change] if connection was setup, send fabric change
68-
if (connected
69-
&& ((event is OnIceConnectionChange && event.state != iceConnectionState)
67+
// [Fabric state change] send fabric change
68+
if ((event is OnIceConnectionChange && event.state != iceConnectionState)
7069
|| (event is OnIceGatheringChange && event.state != iceGatheringState)
71-
|| (event is OnSignalingChange && event.state != signalingState)))
70+
|| (event is OnSignalingChange && event.state != signalingState))
7271
{
7372
val prevState: String
7473
val newState: String
@@ -96,8 +95,8 @@ internal class FabricInterceptor : Interceptor {
9695
events += FabricStateChangeEvent(
9796
remoteID = remoteID,
9897
connectionID = connectionID,
99-
prevState = prevState.toLowerCase(),
100-
newState = newState.toLowerCase(),
98+
prevState = prevState.toLowerCase().replace('_', '-'),
99+
newState = newState.toLowerCase().replace('_', '-'),
101100
changedState = changedState)
102101
}
103102

library/src/test/java/io/callstats/interceptor/FabricInterceptorTest.kt

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ class FabricInterceptorTest {
3434
fun fabricConnectSend() {
3535
val stats = mapOf<String, RTCStats>()
3636
val events = interceptor.process(connection, OnIceConnectionChange(IceConnectionState.CONNECTED), "local1", "remote1", "con1", stats)
37-
assertEquals(1, events.size)
38-
assertTrue(events.first() is FabricSetupEvent)
37+
assertEquals(2, events.size) // include state change
38+
assertTrue(events.any { it is FabricSetupEvent })
3939
}
4040

4141
@Test
@@ -63,16 +63,8 @@ class FabricInterceptorTest {
6363
assertTrue(events.first() is FabricTransportChangeEvent)
6464
}
6565

66-
@Test
67-
fun fabricStateChangeShouldNotSendIfNotConnected() {
68-
val stats = mapOf<String, RTCStats>()
69-
val events = interceptor.process(connection, OnIceConnectionChange(IceConnectionState.CHECKING), "local1", "remote1", "con1", stats)
70-
assertEquals(0, events.size)
71-
}
72-
7366
@Test
7467
fun fabricStateSend() {
75-
connected()
7668
val stats = mapOf<String, RTCStats>()
7769
val events = interceptor.process(connection, OnIceConnectionChange(IceConnectionState.CHECKING), "local1", "remote1", "con1", stats)
7870
assertEquals(1, events.size)

0 commit comments

Comments
 (0)