Skip to content

Commit dca2121

Browse files
authored
Is/bug fix/call event (#342)
* Version Bump * Send CallId for ByeResult * Release AudioManger from tests * Fix Call Tests
1 parent c7159ba commit dca2121

File tree

6 files changed

+48
-9
lines changed

6 files changed

+48
-9
lines changed

app/src/main/java/com/telnyx/webrtc/sdk/ui/MainActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,8 @@ class MainActivity : AppCompatActivity() {
212212

213213
SocketMethod.BYE.methodName -> {
214214
onByeReceivedViews()
215+
val callId = (data.result as ByeResponse).callId
216+
supportFragmentManager.beginTransaction().remove(callInstanceFragment!!).commit()
215217
}
216218
}
217219
}
@@ -360,8 +362,6 @@ class MainActivity : AppCompatActivity() {
360362
}
361363

362364
private fun mockInputs() {
363-
sip_username_id.setText(MOCK_USERNAME)
364-
sip_password_id.setText(MOCK_PASSWORD)
365365
caller_id_name_id.setText(MOCK_CALLER_NAME)
366366
caller_id_number_id.setText(MOCK_CALLER_NUMBER)
367367
call_input_id.setText(MOCK_DESTINATION_NUMBER)

telnyx_rtc/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ apply plugin: 'maven-publish'
1313
apply plugin: "com.bugsnag.android.gradle"
1414

1515
def getVersionName = { ->
16-
return "1.3.1"
16+
return "1.3.3"
1717
}
1818

1919
def getArtifactId = { ->

telnyx_rtc/src/main/java/com/telnyx/webrtc/sdk/Call.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import com.telnyx.webrtc.sdk.peer.Peer
1919
import com.telnyx.webrtc.sdk.peer.PeerConnectionObserver
2020
import com.telnyx.webrtc.sdk.socket.TxSocket
2121
import com.telnyx.webrtc.sdk.socket.TxSocketListener
22+
import com.telnyx.webrtc.sdk.telnyx_rtc.BuildConfig
2223
import com.telnyx.webrtc.sdk.utilities.encodeBase64
2324
import com.telnyx.webrtc.sdk.verto.receive.*
2425
import com.telnyx.webrtc.sdk.verto.send.*
@@ -80,9 +81,13 @@ data class Call(
8081
private val loudSpeakerLiveData = MutableLiveData(false)
8182

8283
init {
83-
audioManager.mode = AudioManager.MODE_IN_COMMUNICATION
84+
if (!BuildConfig.IS_TESTING.get()) {
85+
if (audioManager.mode != AudioManager.MODE_IN_COMMUNICATION) {
86+
audioManager.mode = AudioManager.MODE_IN_COMMUNICATION
87+
}
88+
}
8489

85-
callStateLiveData.postValue(CallState.RINGING)
90+
callStateLiveData.postValue(CallState.CONNECTING)
8691
// Ensure that loudSpeakerLiveData is correct based on possible options provided from client.
8792
loudSpeakerLiveData.postValue(audioManager.isSpeakerphoneOn)
8893
}

telnyx_rtc/src/main/java/com/telnyx/webrtc/sdk/TelnyxClient.kt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -261,12 +261,13 @@ class TelnyxClient(
261261
)
262262
)
263263
)
264+
val byeResponse = ByeResponse(callId)
264265
// send bye message to the UI
265266
client.socketResponseLiveData.postValue(
266267
SocketResponse.messageReceived(
267268
ReceivedMessageBody(
268269
SocketMethod.BYE.methodName,
269-
null
270+
byeResponse
270271
)
271272
)
272273
)
@@ -1005,11 +1006,14 @@ class TelnyxClient(
10051006
val byeCall = calls[callId]
10061007
byeCall?.apply {
10071008
Timber.d("[%s] :: onByeReceived", this.javaClass.simpleName)
1009+
val byeResponse = ByeResponse(
1010+
callId
1011+
)
10081012
client.socketResponseLiveData.postValue(
10091013
SocketResponse.messageReceived(
10101014
ReceivedMessageBody(
10111015
SocketMethod.BYE.methodName,
1012-
null
1016+
byeResponse
10131017
)
10141018
)
10151019
)
@@ -1020,6 +1024,7 @@ class TelnyxClient(
10201024
resetCallOptions()
10211025
client.stopMediaPlayer()
10221026
peerConnection?.release()
1027+
byeCall.endCall(callId)
10231028
}
10241029

10251030
}
@@ -1212,11 +1217,21 @@ class TelnyxClient(
12121217
} else {
12131218
UUID.randomUUID()
12141219
}
1220+
val customHeaders =
1221+
params.get("dialogParams")?.asJsonObject?.get("custom_headers")?.asJsonArray
1222+
1223+
val ringingResponse = RingingResponse(
1224+
UUID.fromString(callId),
1225+
params.get("caller_id_name").asString,
1226+
params.get("caller_id_number").asString,
1227+
sessionId,
1228+
customHeaders?.toCustomHeaders() ?: arrayListOf()
1229+
)
12151230
client.socketResponseLiveData.postValue(
12161231
SocketResponse.messageReceived(
12171232
ReceivedMessageBody(
12181233
SocketMethod.RINGING.methodName,
1219-
null
1234+
ringingResponse
12201235
)
12211236
)
12221237
)

telnyx_rtc/src/main/java/com/telnyx/webrtc/sdk/verto/receive/ReceivedResult.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ data class LoginResponse(
4646
val sessid: String
4747
) : ReceivedResult(), Parcelable
4848

49+
50+
data class ByeResponse(
51+
@SerializedName("sessid")
52+
val callId : UUID
53+
) : ReceivedResult()
54+
4955
/**
5056
* A response to an invitation that the user created. Someone has answered your call.
5157
*
@@ -125,3 +131,16 @@ data class InviteResponse(
125131
}
126132
}
127133
}
134+
135+
data class RingingResponse(
136+
@SerializedName("callID")
137+
val callId: UUID,
138+
@SerializedName("callerIdName")
139+
val callerIdName: String,
140+
@SerializedName("callerIdNumber")
141+
val callerIdNumber: String,
142+
@SerializedName("sessid")
143+
val sessid: String,
144+
@SerializedName("custom_headers")
145+
val customHeaders: ArrayList<CustomHeaders> = arrayListOf()
146+
) : ReceivedResult()

telnyx_rtc/src/test/java/com/telnyx/webrtc/sdk/CallTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ class CallTest : BaseTest() {
194194
call = Mockito.spy(
195195
Call(mockContext, client, client.socket, "123", audioManager)
196196
)
197-
assertEquals(call.getCallState().value, CallState.RINGING)
197+
assertEquals(call.getCallState().value, CallState.CONNECTING)
198198
}
199199

200200
// NOOP tests, methods that should literally do nothing -- included for test coverage

0 commit comments

Comments
 (0)