From 0b1a93d3e691790698df7701bb06e3a205a3b308 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Thu, 17 Mar 2022 14:35:37 -0400 Subject: [PATCH] Disable Telecom integration solely for OnePlus devices. --- .../service/webrtc/AndroidTelecomUtil.kt | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/AndroidTelecomUtil.kt b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/AndroidTelecomUtil.kt index 3ba9db8cce..37c586495d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/AndroidTelecomUtil.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/AndroidTelecomUtil.kt @@ -39,18 +39,18 @@ object AndroidTelecomUtil { @JvmStatic val telecomSupported: Boolean get() { -// if (Build.VERSION.SDK_INT >= 26 && !systemRejected) { -// if (!accountRegistered) { -// registerPhoneAccount() -// } -// -// if (accountRegistered) { -// val phoneAccount = ContextCompat.getSystemService(context, TelecomManager::class.java)!!.getPhoneAccount(getPhoneAccountHandle()) -// if (phoneAccount != null && phoneAccount.isEnabled) { -// return true -// } -// } -// } + if (Build.VERSION.SDK_INT >= 26 && !systemRejected && !isRestrictedDevice()) { + if (!accountRegistered) { + registerPhoneAccount() + } + + if (accountRegistered) { + val phoneAccount = ContextCompat.getSystemService(context, TelecomManager::class.java)!!.getPhoneAccount(getPhoneAccountHandle()) + if (phoneAccount != null && phoneAccount.isEnabled) { + return true + } + } + } return false } @@ -186,6 +186,10 @@ object AndroidTelecomUtil { } return SignalAudioManager.AudioDevice.NONE } + + private fun isRestrictedDevice(): Boolean { + return "${Build.MODEL} ${Build.PRODUCT} ${Build.MANUFACTURER}".contains(other = "oneplus", ignoreCase = true) + } } @RequiresApi(26)