diff --git a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt index d63a6633..f8ebac03 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt @@ -123,41 +123,36 @@ object Utils { } fun friendlyUri(ctx: Context, uri: String, account: Account, e164Check: Boolean = true): String { + Log.d(TAG, "******* uri=$uri, country_code=${account.countryCode}, aor=${account.aor}") var u = Contact.contactName(uri) + Log.d(TAG, "******* Contact.contactName=$u") if (u != uri) return u if (e164Check) { u = Contact.contactName(e164Uri(uri, account.countryCode)) - if (u != uri) - return u - u = friendlyUri(ctx, uri, account, false) + Log.d(TAG, "******* Contact.contactName(e164Uri)=$u") if (u != uri) return u } - val params = uriParams(u) + if (u.contains("@")) { + val user = uriUserPart(u) + val host = uriHostPart(u) + val params = uriParams(u) + return if (host == aorDomain(account.aor) || params.contains("user=phone")) + user + else if (host == "anonymous.invalid") + ctx.getString(R.string.anonymous) + else if (host == "unknown.invalid") + ctx.getString(R.string.unknown) + else + "$user@$host" + } if (uri.startsWith("<") && (uri.endsWith(">"))) u = uri.substring(1).substringBeforeLast(">") u = u.substringBefore("?") u = u.replace(":5060", "") u = u.replace(";transport=udp", "", true) - if (u.split(":").size == 3 || - (params.isNotEmpty() && !params.contains("user=phone"))) - return u - return if (u.contains("@")) { - val user = uriUserPart(u) - val host = uriHostPart(u) - if (isTelNumber(user) || host == aorDomain(account.aor)) - user - else - if (host == "anonymous.invalid") - ctx.getString(R.string.anonymous) - else if (host == "unknown.invalid") - ctx.getString(R.string.unknown) - else - "$user@$host" - } else { - u - } + return u } fun e164Uri(uri: String, countryCode: String): String {