Improved friendlyUri function
This commit is contained in:
@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user