Merge pull request #341 from sdex/properly_check_outgoing_call_status

Properly check an outgoing call status
This commit is contained in:
Tibor Kaputa 2022-05-13 11:30:14 +02:00 committed by GitHub
commit 3c7e32f2d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 1 deletions

View File

@ -0,0 +1,22 @@
package com.simplemobiletools.dialer.extensions
import android.telecom.Call
import android.telecom.Call.STATE_CONNECTING
import android.telecom.Call.STATE_DIALING
import android.telecom.Call.STATE_SELECT_PHONE_ACCOUNT
import com.simplemobiletools.commons.helpers.isSPlus
private val OUTGOING_CALL_STATES = arrayOf(STATE_CONNECTING, STATE_DIALING, STATE_SELECT_PHONE_ACCOUNT)
@Suppress("DEPRECATION")
fun Call.getStateCompat(): Int {
return if (isSPlus()) {
details.state
} else {
state
}
}
fun Call.isOutgoing(): Boolean {
return OUTGOING_CALL_STATES.contains(getStateCompat())
}

View File

@ -3,6 +3,7 @@ package com.simplemobiletools.dialer.services
import android.telecom.Call
import android.telecom.InCallService
import com.simplemobiletools.dialer.activities.CallActivity
import com.simplemobiletools.dialer.extensions.isOutgoing
import com.simplemobiletools.dialer.extensions.powerManager
import com.simplemobiletools.dialer.helpers.CallManager
import com.simplemobiletools.dialer.helpers.CallNotificationManager
@ -21,7 +22,7 @@ class CallService : InCallService() {
override fun onCallAdded(call: Call) {
super.onCallAdded(call)
if (!powerManager.isInteractive || call.state == Call.STATE_CONNECTING) {
if (!powerManager.isInteractive || call.isOutgoing()) {
startActivity(CallActivity.getStartIntent(this))
}
CallManager.call = call