Fixed telecom manager enabled even if device doesn't support the feature

This commit is contained in:
Sylvain Berfini 2022-07-07 09:31:25 +02:00
parent 50bcd84df9
commit 367700e33f
2 changed files with 16 additions and 11 deletions

View file

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

View file

@ -89,17 +89,21 @@ class CallSettingsFragment : GenericSettingFragment<SettingsCallFragmentBinding>
viewLifecycleOwner viewLifecycleOwner
) { ) {
it.consume { it.consume {
if (!Compatibility.hasTelecomManagerPermissions(requireContext())) { if (requireContext().packageManager.hasSystemFeature(PackageManager.FEATURE_CONNECTION_SERVICE)) {
Compatibility.requestTelecomManagerPermissions(requireActivity(), 1) if (!Compatibility.hasTelecomManagerPermissions(requireContext())) {
} else if (!TelecomHelper.exists()) { Compatibility.requestTelecomManagerPermissions(requireActivity(), 1)
corePreferences.useTelecomManager = true } else if (!TelecomHelper.exists()) {
Log.w("[Telecom Helper] Doesn't exists yet, creating it") corePreferences.useTelecomManager = true
if (requireContext().packageManager.hasSystemFeature(PackageManager.FEATURE_CONNECTION_SERVICE)) { Log.w("[Telecom Helper] Doesn't exists yet, creating it")
TelecomHelper.create(requireContext()) if (requireContext().packageManager.hasSystemFeature(PackageManager.FEATURE_CONNECTION_SERVICE)) {
updateTelecomManagerAccount() TelecomHelper.create(requireContext())
} else { updateTelecomManagerAccount()
Log.e("[Telecom Helper] Telecom Helper can't be created, device doesn't support connection service") } else {
Log.e("[Telecom Helper] Telecom Helper can't be created, device doesn't support connection service")
}
} }
} else {
Log.e("[Telecom Helper] Telecom Helper can't be created, device doesn't support connection service!")
} }
} }
} }