From b24f2455dccaea7e3b9b3a818b972726422382f9 Mon Sep 17 00:00:00 2001 From: Mysochenko Yuriy Date: Thu, 26 May 2022 19:04:34 +0300 Subject: [PATCH 1/4] add service to block unknown numbers --- app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 9 +++++++ .../dialer/extensions/Call.kt | 7 ++++- .../services/SimpleCallScreeningService.kt | 26 +++++++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt diff --git a/app/build.gradle b/app/build.gradle index 127514d9..e74305b1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -61,6 +61,6 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:55c3180f98' + implementation 'com.github.SimpleMobileTools:Simple-Commons:59f709a2a8' implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3b25121b..6a1d69f9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -168,6 +168,15 @@ + + + + + + Date: Fri, 27 May 2022 08:20:50 +0300 Subject: [PATCH 2/4] keep the plus sign in the number --- .../dialer/services/SimpleCallScreeningService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt index 35f0e43d..ce0c7c69 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt @@ -13,7 +13,7 @@ class SimpleCallScreeningService : CallScreeningService() { override fun onScreenCall(callDetails: Call.Details) { val simpleContactsHelper = SimpleContactsHelper(this) - val number = Uri.decode(callDetails.handle.toString()).substringAfter("tel:").replace("+", "") + val number = Uri.decode(callDetails.handle.toString()).substringAfter("tel:") val isBlocked = baseConfig.blockUnknownNumbers && !simpleContactsHelper.exists(number) val response = CallResponse.Builder() .setDisallowCall(isBlocked) From a06d4b259626cc471e00bfb4e9354d95f6961930 Mon Sep 17 00:00:00 2001 From: Mysochenko Yuriy Date: Fri, 27 May 2022 18:10:37 +0300 Subject: [PATCH 3/4] update to the latest commons version --- app/build.gradle | 2 +- .../dialer/services/SimpleCallScreeningService.kt | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e74305b1..cab19566 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -61,6 +61,6 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:59f709a2a8' + implementation 'com.github.SimpleMobileTools:Simple-Commons:10c8ac2f1e' implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61' } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt index ce0c7c69..3b36b534 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt @@ -14,7 +14,16 @@ class SimpleCallScreeningService : CallScreeningService() { override fun onScreenCall(callDetails: Call.Details) { val simpleContactsHelper = SimpleContactsHelper(this) val number = Uri.decode(callDetails.handle.toString()).substringAfter("tel:") - val isBlocked = baseConfig.blockUnknownNumbers && !simpleContactsHelper.exists(number) + if (baseConfig.blockUnknownNumbers) { + simpleContactsHelper.exists(number) { exists -> + respondToCall(callDetails, !exists) + } + } else { + respondToCall(callDetails, false) + } + } + + private fun respondToCall(callDetails: Call.Details, isBlocked: Boolean) { val response = CallResponse.Builder() .setDisallowCall(isBlocked) .setRejectCall(isBlocked) From a9a528dba9970102f3e0fe3c1ac9ddf422749d18 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Fri, 27 May 2022 18:03:20 +0200 Subject: [PATCH 4/4] adding an empty line --- .../dialer/services/SimpleCallScreeningService.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt index 3b36b534..5e3ada92 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/services/SimpleCallScreeningService.kt @@ -30,6 +30,7 @@ class SimpleCallScreeningService : CallScreeningService() { .setSkipCallLog(isBlocked) .setSkipNotification(isBlocked) .build() + respondToCall(callDetails, response) } }