diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Contact.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Contact.kt index 1198231478c69633ebbbb52942eddba0b06c1423..544e30a3ad97a13522f5e0e7d128e90c0e67e6c3 100644 --- a/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Contact.kt +++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Contact.kt @@ -85,7 +85,7 @@ class Contact constructor(val uri: Uri, val isUser: Boolean = false) { mLookupKey = k loadedProfile = Single.just(Profile(displayName, null)) photoId = photo_id - if (username == null && displayName.contains(PREFIX_RING)) { + if (username == null && displayName.startsWith(Uri.RING_URI_SCHEME) || displayName.startsWith(Uri.JAMI_URI_SCHEME)) { username = Single.just(displayName) } } @@ -136,7 +136,6 @@ class Contact constructor(val uri: Uri, val isUser: Boolean = false) { private val TAG = Contact::class.simpleName!! const val UNKNOWN_ID = -1L const val DEFAULT_ID = 0L - const val PREFIX_RING = Uri.RING_URI_SCHEME fun buildSIP(to: Uri): Contact = Contact(to).apply { username = Single.just("") } fun build(uri: String, isUser: Boolean = false) = Contact(Uri.fromString(uri), isUser) diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Uri.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Uri.kt index d51608e4553cb104676d3e8851ebc6e483bb99f4..34b36d1d933ac7484d735562920c583c51a11ceb 100644 --- a/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Uri.kt +++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/model/Uri.kt @@ -54,7 +54,7 @@ class Uri : Serializable { get() { if (isSwarm) return scheme + rawRingId return if (isHexId) { - RING_URI_SCHEME + rawRingId + DEFAULT_CONTACT_SCHEME + rawRingId } else toString() } @@ -105,6 +105,7 @@ class Uri : Serializable { private val URI_PATTERN = Pattern.compile("^\\s*(\\w+:)?(?:([\\w.]+)@)?(?:([\\d\\w.\\-]+)(?::(\\d+))?)\\s*$", Pattern.CASE_INSENSITIVE) const val RING_URI_SCHEME = "ring:" const val JAMI_URI_SCHEME = "jami:" + const val DEFAULT_CONTACT_SCHEME = JAMI_URI_SCHEME const val SWARM_SCHEME = "swarm:" private const val ipv4Pattern = "(([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d\\d?|2[0-4]\\d|25[0-5])" private const val ipv6Pattern = "([0-9a-f]{1,4}:){7}([0-9a-f]){1,4}" diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/services/ConversationFacade.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/services/ConversationFacade.kt index 04f7e02d9dcf91dce0ab071212d54ae896317426..5ebf9b573bc5a46d5068c1e74757795fbd90bb72 100644 --- a/jami-android/libjamiclient/src/main/kotlin/net/jami/services/ConversationFacade.kt +++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/services/ConversationFacade.kt @@ -549,7 +549,7 @@ class ConversationFacade( private fun parseNewMessage(txt: TextMessage) { val accountId = txt.account!! - val uri = if (txt.messageId != null) Uri(Uri.SWARM_SCHEME, txt.conversationId!!) else Uri(Uri.JAMI_URI_SCHEME, txt.author!!) + val uri = if (txt.messageId != null) Uri(Uri.SWARM_SCHEME, txt.conversationId!!) else Uri(Uri.DEFAULT_CONTACT_SCHEME, txt.author!!) if (txt.isRead) { if (txt.messageId == null) {