Ensure the incoming call will not ring forever, in case the call is not ended by another way (#8178)
Add a safe 2 minutes timer.
This commit is contained in:
parent
9e74afc9b1
commit
52082a9def
1
changelog.d/8178.bugfix
Normal file
1
changelog.d/8178.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Ensure the incoming call will not ring forever, in case the call is not ended by another way.
|
@ -34,6 +34,8 @@ import im.vector.app.features.call.vectorCallService
|
|||||||
import im.vector.app.features.session.coroutineScope
|
import im.vector.app.features.session.coroutineScope
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.asCoroutineDispatcher
|
import kotlinx.coroutines.asCoroutineDispatcher
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import org.matrix.android.sdk.api.extensions.orFalse
|
import org.matrix.android.sdk.api.extensions.orFalse
|
||||||
import org.matrix.android.sdk.api.extensions.tryOrNull
|
import org.matrix.android.sdk.api.extensions.tryOrNull
|
||||||
import org.matrix.android.sdk.api.logger.LoggerTag
|
import org.matrix.android.sdk.api.logger.LoggerTag
|
||||||
@ -386,6 +388,14 @@ class WebRtcCallManager @Inject constructor(
|
|||||||
// Maybe increase sync freq? but how to set back to default values?
|
// Maybe increase sync freq? but how to set back to default values?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ensure the incoming call will not ring forever
|
||||||
|
sessionScope?.launch {
|
||||||
|
delay(2 * 60 * 1000 /* 2 minutes */)
|
||||||
|
if (mxCall.state is CallState.LocalRinging) {
|
||||||
|
onCallEnded(mxCall.callId, EndCallReason.INVITE_TIMEOUT, rejected = false)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCallAnswerReceived(callAnswerContent: CallAnswerContent) {
|
override fun onCallAnswerReceived(callAnswerContent: CallAnswerContent) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user