mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
never show both a notification and screen at incoming calls
This commit is contained in:
@ -1,8 +1,11 @@
|
|||||||
package com.simplemobiletools.dialer.services
|
package com.simplemobiletools.dialer.services
|
||||||
|
|
||||||
|
import android.app.KeyguardManager
|
||||||
|
import android.content.Context
|
||||||
import android.telecom.Call
|
import android.telecom.Call
|
||||||
import android.telecom.InCallService
|
import android.telecom.InCallService
|
||||||
import com.simplemobiletools.dialer.activities.CallActivity
|
import com.simplemobiletools.dialer.activities.CallActivity
|
||||||
|
import com.simplemobiletools.dialer.extensions.getStateCompat
|
||||||
import com.simplemobiletools.dialer.extensions.isOutgoing
|
import com.simplemobiletools.dialer.extensions.isOutgoing
|
||||||
import com.simplemobiletools.dialer.extensions.powerManager
|
import com.simplemobiletools.dialer.extensions.powerManager
|
||||||
import com.simplemobiletools.dialer.helpers.CallManager
|
import com.simplemobiletools.dialer.helpers.CallManager
|
||||||
@ -22,13 +25,19 @@ class CallService : InCallService() {
|
|||||||
|
|
||||||
override fun onCallAdded(call: Call) {
|
override fun onCallAdded(call: Call) {
|
||||||
super.onCallAdded(call)
|
super.onCallAdded(call)
|
||||||
if (!powerManager.isScreenOn || call.isOutgoing()) {
|
|
||||||
startActivity(CallActivity.getStartIntent(this))
|
|
||||||
}
|
|
||||||
CallManager.call = call
|
CallManager.call = call
|
||||||
CallManager.inCallService = this
|
CallManager.inCallService = this
|
||||||
CallManager.registerCallback(callListener)
|
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) {
|
override fun onCallRemoved(call: Call) {
|
||||||
|
Reference in New Issue
Block a user