From bf981e103358b3bea6d0a5e63b786b09ca4a4b7e Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 28 Nov 2018 13:46:40 +0100 Subject: [PATCH] update the notification immediately at accepting an incoming call --- .../pro/services/DialerCallService.kt | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/DialerCallService.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/DialerCallService.kt index f766d148..13d82173 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/DialerCallService.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/services/DialerCallService.kt @@ -37,15 +37,22 @@ class DialerCallService : Service() { override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int { super.onStartCommand(intent, flags, startId) - if (intent.getBooleanExtra(DECLINE_CALL, false)) { - CallManager.declineCall() - stopForeground(true) - stopSelf() - } else if (intent.getBooleanExtra(IS_INCOMING_CALL, false)) { - callNumber = intent.getStringExtra(CALL_NUMBER) - callStatus = intent.getIntExtra(CALL_STATUS, Call.STATE_NEW) - isIncomingCall = intent.getBooleanExtra(IS_INCOMING_CALL, false) - setupNotification() + when { + intent.getBooleanExtra(DECLINE_CALL, false) -> { + CallManager.declineCall() + stopForeground(true) + stopSelf() + } + intent.getBooleanExtra(IS_INCOMING_CALL, false) -> { + callNumber = intent.getStringExtra(CALL_NUMBER) + callStatus = intent.getIntExtra(CALL_STATUS, Call.STATE_NEW) + isIncomingCall = intent.getBooleanExtra(IS_INCOMING_CALL, false) + setupNotification() + } + intent.extras?.containsKey(CALL_STATUS) == true -> { + callStatus = intent.getIntExtra(CALL_STATUS, Call.STATE_NEW) + setupNotification() + } } return START_STICKY } @@ -58,7 +65,7 @@ class DialerCallService : Service() { @TargetApi(Build.VERSION_CODES.O) private fun setupNotification() { - val channelId = "incoming_call" + val channelId = "call_channel" if (isOreoPlus()) { val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val name = resources.getString(R.string.app_name)