diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt index bcbfd834..5d8b4a21 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt @@ -3,6 +3,7 @@ package com.simplemobiletools.dialer.activities import android.annotation.SuppressLint import android.app.KeyguardManager import android.content.Context +import android.content.Intent import android.graphics.Bitmap import android.media.AudioManager import android.os.Bundle @@ -29,6 +30,14 @@ import kotlinx.android.synthetic.main.activity_call.* import kotlinx.android.synthetic.main.dialpad.* class CallActivity : SimpleActivity() { + companion object { + fun getStartIntent(context: Context): Intent { + val openAppIntent = Intent(context, CallActivity::class.java) + openAppIntent.flags = Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT or Intent.FLAG_ACTIVITY_NEW_TASK + return openAppIntent + } + } + private var isSpeakerOn = false private var isMicrophoneOn = true private var isCallEnded = false diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallNotificationManager.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallNotificationManager.kt index 1d37b00e..b6fda71c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallNotificationManager.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallNotificationManager.kt @@ -39,8 +39,7 @@ class CallNotificationManager(private val context: Context) { } } - val openAppIntent = Intent(context, CallActivity::class.java) - openAppIntent.flags = Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT + val openAppIntent = CallActivity.getStartIntent(context) val openAppPendingIntent = PendingIntent.getActivity(context, 0, openAppIntent, 0) val acceptCallIntent = Intent(context, CallActionReceiver::class.java) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/receivers/CallActionReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/receivers/CallActionReceiver.kt index 10c0cb13..57887c6f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/receivers/CallActionReceiver.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/receivers/CallActionReceiver.kt @@ -3,6 +3,7 @@ package com.simplemobiletools.dialer.receivers import android.content.BroadcastReceiver import android.content.Context import android.content.Intent +import com.simplemobiletools.dialer.activities.CallActivity import com.simplemobiletools.dialer.helpers.ACCEPT_CALL import com.simplemobiletools.dialer.helpers.CallManager import com.simplemobiletools.dialer.helpers.DECLINE_CALL @@ -10,7 +11,10 @@ import com.simplemobiletools.dialer.helpers.DECLINE_CALL class CallActionReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { when (intent.action) { - ACCEPT_CALL -> CallManager.accept() + ACCEPT_CALL -> { + context.startActivity(CallActivity.getStartIntent(context)) + CallManager.accept() + } DECLINE_CALL -> CallManager.reject() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/services/CallService.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/services/CallService.kt index ecf98650..0896ae28 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/services/CallService.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/services/CallService.kt @@ -1,6 +1,5 @@ package com.simplemobiletools.dialer.services -import android.content.Intent import android.telecom.Call import android.telecom.InCallService import com.simplemobiletools.dialer.activities.CallActivity @@ -18,9 +17,7 @@ class CallService : InCallService() { override fun onCallAdded(call: Call) { super.onCallAdded(call) - val intent = Intent(this, CallActivity::class.java) - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - startActivity(intent) + startActivity(CallActivity.getStartIntent(this)) CallManager.call = call CallManager.inCallService = this CallManager.registerCallback(callListener)