diff --git a/app/src/main/kotlin/com/tutpro/baresip/Account.kt b/app/src/main/kotlin/com/tutpro/baresip/Account.kt index e41fed73..65943221 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Account.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Account.kt @@ -198,6 +198,14 @@ class Account(val accp: String) { return res } + fun telProviderAccounts(): Array { + val res = ArrayList() + for (account in accounts()) + if (account.telProvider != "") + res.add(account.aor.substring(4)) + return res.toTypedArray() + } + fun ofAor(aor: String): Account? { for (ua in UserAgent.uas()) if (ua.account.aor == aor) return ua.account diff --git a/app/src/main/kotlin/com/tutpro/baresip/ContactListAdapter.kt b/app/src/main/kotlin/com/tutpro/baresip/ContactListAdapter.kt index 907c430e..4cab09d1 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/ContactListAdapter.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/ContactListAdapter.kt @@ -76,23 +76,9 @@ class ContactListAdapter(private val ctx: Context, private val rows: ArrayList + spinToAor("sip:${telAccounts[which]}") + makeCall() + } + setPositiveButton("Cancel") { _: DialogInterface, _: Int -> } + show() + } + } return } Utils.telToSip(uriText, ua.account) @@ -1715,8 +1723,7 @@ class MainActivity : AppCompatActivity() { if (latest != null) callUri.setText( Utils.friendlyUri( - ContactsActivity.contactName(latest.peerUri), - Utils.aorDomain(ua.account.aor) + ContactsActivity.contactName(latest.peerUri), Utils.aorDomain(aor) ) ) } diff --git a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt index 9704dc70..e7877217 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt @@ -291,7 +291,7 @@ object Utils { } fun isTelNumber(no: String): Boolean { - return Regex("^[+][1-9][0-9- ]{0,14}\$").matches(no) + return Regex("^([+][1-9])?[0-9- ]{0,15}\$").matches(no) } fun isTelUri(uri: String): Boolean {