From 6afdcbf7057fbbd273663659b6575ff402a7cfe6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 17 May 2022 14:06:32 +0200 Subject: [PATCH 1/2] lets show the incoming call full screen only if the screen is off --- .../kotlin/com/simplemobiletools/dialer/services/CallService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 67e54194..65f55330 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/services/CallService.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/services/CallService.kt @@ -22,7 +22,7 @@ class CallService : InCallService() { override fun onCallAdded(call: Call) { super.onCallAdded(call) - if (!powerManager.isInteractive || call.isOutgoing()) { + if (!powerManager.isScreenOn || call.isOutgoing()) { startActivity(CallActivity.getStartIntent(this)) } CallManager.call = call From a4f22dc7b586b939a8622f18f262b9c9650b9685 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 17 May 2022 15:49:42 +0200 Subject: [PATCH 2/2] never show both a notification and screen at incoming calls --- .../dialer/services/CallService.kt | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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 65f55330..f1fd2277 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/services/CallService.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/services/CallService.kt @@ -1,8 +1,11 @@ package com.simplemobiletools.dialer.services +import android.app.KeyguardManager +import android.content.Context import android.telecom.Call import android.telecom.InCallService import com.simplemobiletools.dialer.activities.CallActivity +import com.simplemobiletools.dialer.extensions.getStateCompat import com.simplemobiletools.dialer.extensions.isOutgoing import com.simplemobiletools.dialer.extensions.powerManager import com.simplemobiletools.dialer.helpers.CallManager @@ -22,13 +25,19 @@ class CallService : InCallService() { override fun onCallAdded(call: Call) { super.onCallAdded(call) - if (!powerManager.isScreenOn || call.isOutgoing()) { - startActivity(CallActivity.getStartIntent(this)) - } CallManager.call = call CallManager.inCallService = this CallManager.registerCallback(callListener) - callNotificationManager.setupNotification() + + val isScreenLocked = (getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager).isDeviceLocked + if (!powerManager.isInteractive || call.isOutgoing() || isScreenLocked) { + startActivity(CallActivity.getStartIntent(this)) + if (call.getStateCompat() != Call.STATE_RINGING) { + callNotificationManager.setupNotification() + } + } else { + callNotificationManager.setupNotification() + } } override fun onCallRemoved(call: Call) {