From 8ecfae906e9ee0170a239aa0ee24fa88e6be6d1a Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 21 Nov 2018 19:58:00 +0100 Subject: [PATCH] adding some initial outgoing call related things --- app/src/main/AndroidManifest.xml | 12 +++++++++++- .../contacts/pro/activities/DialerActivity.kt | 11 +++++++++++ .../{MyCallService.kt => MyIncomingCallService.kt} | 2 +- .../contacts/pro/services/MyOutgoingCallService.kt | 10 ++++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) rename app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/{MyCallService.kt => MyIncomingCallService.kt} (97%) create mode 100644 app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/MyOutgoingCallService.kt 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() { + +}