|
64 | 64 | import static com.hoxfon.react.RNTwilioVoice.EventManager.EVENT_DEVICE_READY; |
65 | 65 | import static com.hoxfon.react.RNTwilioVoice.EventManager.EVENT_CALL_STATE_RINGING; |
66 | 66 | import static com.hoxfon.react.RNTwilioVoice.EventManager.EVENT_CALL_INVITE_CANCELLED; |
| 67 | +import static com.hoxfon.react.RNTwilioVoice.EventManager.EVENT_CONNECTION_IS_RECONNECTING; |
| 68 | +import static com.hoxfon.react.RNTwilioVoice.EventManager.EVENT_CONNECTION_DID_RECONNECT; |
67 | 69 |
|
68 | 70 | public class TwilioVoiceModule extends ReactContextBaseJavaModule implements ActivityEventListener, LifecycleEventListener { |
69 | 71 |
|
@@ -249,7 +251,6 @@ public void onRinging(Call call) { |
249 | 251 | if (call != null) { |
250 | 252 | params.putString("call_sid", call.getSid()); |
251 | 253 | params.putString("call_from", call.getFrom()); |
252 | | - params.putString("call_state", call.getState().name()); |
253 | 254 | } |
254 | 255 | eventManager.sendEvent(EVENT_CALL_STATE_RINGING, params); |
255 | 256 | } |
@@ -282,26 +283,42 @@ public void onConnected(Call call) { |
282 | 283 | eventManager.sendEvent(EVENT_CONNECTION_DID_CONNECT, params); |
283 | 284 | } |
284 | 285 |
|
285 | | -// Prepare methods Twilio for v4 |
286 | | -// @Override |
287 | | -// public void onReconnecting(Call call, CallException callException) { |
288 | | -// if (BuildConfig.DEBUG) { |
289 | | -// Log.d(TAG, "CALL RECONNECTING callListener().onReconnecting call state = "+call.getState()); |
290 | | -// } |
291 | | -// // TODO implement |
292 | | -//// eventManager.sendEvent(XXX, params); |
293 | | -// |
294 | | -// } |
295 | | -// |
296 | | -// @Override |
297 | | -// public void onReconnected(Call call) { |
298 | | -// if (BuildConfig.DEBUG) { |
299 | | -// Log.d(TAG, "CALL RECONNECTED callListener().onReconnected call state = "+call.getState()); |
300 | | -// } |
301 | | -// |
302 | | -// // TODO implement |
303 | | -//// eventManager.sendEvent(XXX, params); |
304 | | -// } |
| 286 | + /** |
| 287 | + * `onReconnecting()` callback is raised when a network change is detected and Call is already in `CONNECTED` |
| 288 | + * `Call.State`. If the call is in `CONNECTING` or `RINGING` when network change happened the SDK will continue |
| 289 | + * attempting to connect, but a reconnect event will not be raised. |
| 290 | + */ |
| 291 | + @Override |
| 292 | + public void onReconnecting(@NonNull Call call, @NonNull CallException callException) { |
| 293 | + if (BuildConfig.DEBUG) { |
| 294 | + Log.d(TAG, "CALL RECONNECTING callListener().onReconnecting call state = "+call.getState()); |
| 295 | + } |
| 296 | + WritableMap params = Arguments.createMap(); |
| 297 | + if (call != null) { |
| 298 | + params.putString("call_sid", call.getSid()); |
| 299 | + params.putString("call_from", call.getFrom()); |
| 300 | + params.putString("call_to", call.getTo()); |
| 301 | + } |
| 302 | + eventManager.sendEvent(EVENT_CONNECTION_IS_RECONNECTING, params); |
| 303 | + |
| 304 | + } |
| 305 | + |
| 306 | + /** |
| 307 | + * The call is successfully reconnected after reconnecting attempt. |
| 308 | + */ |
| 309 | + @Override |
| 310 | + public void onReconnected(@NonNull Call call) { |
| 311 | + if (BuildConfig.DEBUG) { |
| 312 | + Log.d(TAG, "CALL RECONNECTED callListener().onReconnected call state = "+call.getState()); |
| 313 | + } |
| 314 | + WritableMap params = Arguments.createMap(); |
| 315 | + if (call != null) { |
| 316 | + params.putString("call_sid", call.getSid()); |
| 317 | + params.putString("call_from", call.getFrom()); |
| 318 | + params.putString("call_to", call.getTo()); |
| 319 | + } |
| 320 | + eventManager.sendEvent(EVENT_CONNECTION_DID_RECONNECT, params); |
| 321 | + } |
305 | 322 |
|
306 | 323 | @Override |
307 | 324 | public void onDisconnected(Call call, CallException error) { |
@@ -605,7 +622,9 @@ public void accept() { |
605 | 622 | if (BuildConfig.DEBUG) { |
606 | 623 | Log.d(TAG, "accept()"); |
607 | 624 | } |
608 | | - AcceptOptions acceptOptions = new AcceptOptions.Builder().build(); |
| 625 | + AcceptOptions acceptOptions = new AcceptOptions.Builder() |
| 626 | + .enableDscp(true) |
| 627 | + .build(); |
609 | 628 | activeCallInvite.accept(getReactApplicationContext(), acceptOptions, callListener); |
610 | 629 | clearIncomingNotification(activeCallInvite.getCallSid()); |
611 | 630 |
|
@@ -711,6 +730,7 @@ public void connect(ReadableMap params) { |
711 | 730 | } |
712 | 731 |
|
713 | 732 | ConnectOptions connectOptions = new ConnectOptions.Builder(accessToken) |
| 733 | + .enableDscp(true) |
714 | 734 | .params(twiMLParams) |
715 | 735 | .build(); |
716 | 736 |
|
|
0 commit comments