Prevent crash if device doesn't support ConnectionService, required for TelecomManager

This commit is contained in:
Sylvain Berfini 2022-03-02 10:58:34 +01:00
parent 62e2fb580f
commit 9b69d552aa
2 changed files with 22 additions and 6 deletions

View file

@ -285,7 +285,11 @@ class DialerFragment : SecureFragment<DialerFragmentBinding>() {
Log.i("[Dialer] Telecom Manager permissions granted")
if (!TelecomHelper.exists()) {
Log.i("[Dialer] Creating Telecom Helper")
TelecomHelper.create(requireContext())
if (requireContext().packageManager.hasSystemFeature(PackageManager.FEATURE_CONNECTION_SERVICE)) {
TelecomHelper.create(requireContext())
} else {
Log.e("[Dialer] Telecom Helper can't be created, device doesn't support connection service")
}
} else {
Log.e("[Dialer] Telecom Manager was already created ?!")
}

View file

@ -98,8 +98,12 @@ class CallSettingsFragment : GenericSettingFragment<SettingsCallFragmentBinding>
} else if (!TelecomHelper.exists()) {
corePreferences.useTelecomManager = true
Log.w("[Telecom Helper] Doesn't exists yet, creating it")
TelecomHelper.create(requireContext())
updateTelecomManagerAccount()
if (requireContext().packageManager.hasSystemFeature(PackageManager.FEATURE_CONNECTION_SERVICE)) {
TelecomHelper.create(requireContext())
updateTelecomManagerAccount()
} else {
Log.e("[Telecom Helper] Telecom Helper can't be created, device doesn't support connection service")
}
}
}
}
@ -134,7 +138,11 @@ class CallSettingsFragment : GenericSettingFragment<SettingsCallFragmentBinding>
} else if (requestCode == 1) {
if (!TelecomHelper.exists()) {
Log.w("[Telecom Helper] Doesn't exists yet, creating it")
TelecomHelper.create(requireContext())
if (requireContext().packageManager.hasSystemFeature(PackageManager.FEATURE_CONNECTION_SERVICE)) {
TelecomHelper.create(requireContext())
} else {
Log.e("[Telecom Helper] Telecom Helper can't be created, device doesn't support connection service")
}
}
updateTelecomManagerAccount()
}
@ -177,7 +185,11 @@ class CallSettingsFragment : GenericSettingFragment<SettingsCallFragmentBinding>
}
}
TelecomHelper.create(requireContext())
updateTelecomManagerAccount()
if (requireContext().packageManager.hasSystemFeature(PackageManager.FEATURE_CONNECTION_SERVICE)) {
TelecomHelper.create(requireContext())
updateTelecomManagerAccount()
} else {
Log.e("[Telecom Helper] Telecom Helper can't be created, device doesn't support connection service")
}
}
}