diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index dd31393e..565198d5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -245,7 +245,7 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt
index a4159f9b..4133c8c7 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt
@@ -1,5 +1,6 @@
package com.simplemobiletools.contacts.pro.activities
+import android.annotation.SuppressLint
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
@@ -13,6 +14,7 @@ import android.os.Bundle
import android.os.Handler
import android.os.PowerManager
import android.telecom.Call
+import android.telecom.TelecomManager
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.contacts.pro.R
@@ -49,6 +51,7 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
callNumber = Uri.decode(intent.dataString).substringAfter("tel:")
initViews()
tryFillingOtherEndsName()
+ initOutgoingCall()
} else if (action == INCOMING_CALL && extras?.containsKey(CALL_NUMBER) == true && extras.containsKey(CALL_STATUS)) {
isIncomingCall = true
callNumber = intent.getStringExtra(CALL_NUMBER)
@@ -125,6 +128,13 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
dialer_label.setText(if (isIncomingCall) R.string.incoming_call else R.string.calling)
}
+ private fun initOutgoingCall() {
+ val telecomManager = getSystemService(Context.TELECOM_SERVICE) as TelecomManager
+ val uri = Uri.fromParts("tel:", callNumber, null)
+ val extras = Bundle()
+ telecomManager.placeCall(uri, extras)
+ }
+
private fun startNotificationService() {
Intent(this, DialerCallService::class.java).apply {
putExtra(CALL_NUMBER, callNumber)
@@ -222,6 +232,7 @@ class DialerActivity : SimpleActivity(), SensorEventListener {
}
}
+ @SuppressLint("WakelockTimeout")
private fun turnOffScreen() {
if (proximityWakeLock?.isHeld == false) {
proximityWakeLock!!.acquire()
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyCallService.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyIncomingCallService.kt
similarity index 97%
rename from app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyCallService.kt
rename to app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyIncomingCallService.kt
index dc94f9bc..43fc6a3b 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyCallService.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyIncomingCallService.kt
@@ -14,7 +14,7 @@ import com.simplemobiletools.contacts.pro.helpers.INCOMING_CALL
import com.simplemobiletools.contacts.pro.objects.CallManager
@TargetApi(Build.VERSION_CODES.M)
-class MyCallService : InCallService() {
+class MyIncomingCallService : InCallService() {
override fun onCallAdded(call: Call) {
super.onCallAdded(call)
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyOutgoingCallService.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyOutgoingCallService.kt
new file mode 100644
index 00000000..ffa42441
--- /dev/null
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyOutgoingCallService.kt
@@ -0,0 +1,10 @@
+package com.simplemobiletools.contacts.pro.services
+
+import android.annotation.TargetApi
+import android.os.Build
+import android.telecom.ConnectionService
+
+@TargetApi(Build.VERSION_CODES.M)
+class MyOutgoingCallService : ConnectionService() {
+
+}