diff --git a/CHANGELOG.md b/CHANGELOG.md index 65559209..e3278115 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Changed +- Calling now works directly without launching dialpad ([#562]) ## [1.5.0] - 2025-10-18 ### Added @@ -187,7 +189,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#376]: https://github.com/FossifyOrg/Messages/issues/376 [#456]: https://github.com/FossifyOrg/Messages/issues/456 [#461]: https://github.com/FossifyOrg/Messages/issues/461 -[#561]: https://github.com/FossifyOrg/Messages/issues/561 +[#561]: https://github.com/FossifyOrg/Messages/pull/561 +[#562]: https://github.com/FossifyOrg/Messages/issues/562 [Unreleased]: https://github.com/FossifyOrg/Messages/compare/1.5.0...HEAD [1.5.0]: https://github.com/FossifyOrg/Messages/compare/1.4.0...1.5.0 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 21578edd..326db512 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,6 +14,7 @@ + Unit)? = null) { +fun BaseSimpleActivity.dialNumber(phoneNumber: String, callback: (() -> Unit)? = null) { hideKeyboard() - Intent(Intent.ACTION_DIAL).apply { - data = Uri.fromParts("tel", phoneNumber, null) + handlePermission(PERMISSION_CALL_PHONE) { + val action = if (it) Intent.ACTION_CALL else Intent.ACTION_DIAL + Intent(action).apply { + data = Uri.fromParts("tel", phoneNumber, null) - try { - startActivity(this) - callback?.invoke() - } catch (_: ActivityNotFoundException) { - toast(org.fossify.commons.R.string.no_app_found) - } catch (e: Exception) { - showErrorToast(e) + try { + startActivity(this) + callback?.invoke() + } catch (_: ActivityNotFoundException) { + toast(org.fossify.commons.R.string.no_app_found) + } catch (e: Exception) { + showErrorToast(e) + } } } }