From a9490ddea6b6b81217dfc36ddcd4f58c0e690c94 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 22 Jun 2022 23:13:20 +0200 Subject: [PATCH] adding some crashfixes --- app/build.gradle | 2 +- .../dialer/activities/CallActivity.kt | 9 +-------- .../dialer/activities/MainActivity.kt | 7 +++++-- .../simplemobiletools/dialer/services/CallService.kt | 10 ++++++++-- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f3b5e2ed..c5902cbf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -61,6 +61,6 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:faa6a972c2' + implementation 'com.github.SimpleMobileTools:Simple-Commons:d1d5402388' implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61' } 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 f568cb4b..5c4f73c4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt @@ -20,10 +20,7 @@ import android.view.WindowManager import android.widget.ImageView import androidx.core.view.children import com.simplemobiletools.commons.extensions.* -import com.simplemobiletools.commons.helpers.LOWER_ALPHA -import com.simplemobiletools.commons.helpers.MINUTE_SECONDS -import com.simplemobiletools.commons.helpers.isOreoMr1Plus -import com.simplemobiletools.commons.helpers.isOreoPlus +import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.extensions.* import com.simplemobiletools.dialer.helpers.* @@ -65,13 +62,9 @@ class CallActivity : SimpleActivity() { updateTextColors(call_holder) initButtons() - audioManager.mode = AudioManager.MODE_IN_CALL - addLockScreenFlags() - CallManager.addListener(callCallback) - updateCallContactInfo(CallManager.getPrimaryCall()) } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index bb83d3f5..48316026 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -494,7 +494,10 @@ class MainActivity : SimpleActivity() { } fun cacheContacts(contacts: List) { - cachedContacts.clear() - cachedContacts.addAll(contacts) + try { + cachedContacts.clear() + cachedContacts.addAll(contacts) + } catch (e: Exception) { + } } } 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 43315238..5c1ddf4a 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,7 @@ package com.simplemobiletools.dialer.services import android.app.KeyguardManager +import android.content.ActivityNotFoundException import android.content.Context import android.telecom.Call import android.telecom.InCallService @@ -32,8 +33,13 @@ class CallService : InCallService() { 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) { + try { + startActivity(CallActivity.getStartIntent(this)) + if (call.getStateCompat() != Call.STATE_RINGING) { + callNotificationManager.setupNotification() + } + } catch (e: ActivityNotFoundException) { + // seems like startActivity can thrown AndroidRuntimeException and ActivityNotFoundException, not yet sure when and why, lets show a notification callNotificationManager.setupNotification() } } else {