Identificadors Jami
Hi ha molts identificadors en Jami. Hem de unificar el nom d’aquests identificadors entre totes les implementacions. Aquesta pàgina fa referència a diversos tipus d’identificadors utilitzats en Jami amb exemples rellevants.
Jami Infohash o Jami public key fingerprint: una impronta d’una clau pública com
3d1112ab2bb089370c0744a44bb0786418d40b
Nom registrat: un nom d’usuari associat a un Jami Infohash en la cadena de blocs com
jeandupont
URI: un Jami o SIP URI com
jami:3d1112ab2bb089370c0744a44bb0786418d40b
ojami:jeandupont
o<sip:nnnnn@host:5060>
. Ha de ser conforme amb [rfc3986]https://tools.ietf.org/html/rfc3986). Si és un SIP URI, ha de ser conforme amb rfc3261#19.1.** URI canònic**:
jami:3d1112ab2bb089370c0744a44bb0786418d40b
osip:nnnnn@host:5060
. La forma més simplificada de l’URI. El nom registrat ha de ser resolt, no inclou <> brackets o nom de pantalla. Prefixat amb el esquema (jami:
osip:
osips:
).ID d’usuari: nom registrat (preferit) o impronta digital de clau pública. Identificador orientat a l’usuari per a una clau pública de compte.
Nom de pantalla o Nom de perfil: un nom de perfil definit per l’usuari editable com
Jean Dupont
.
En mostrar un contacte:
_____
|photo| Display name or User ID
|_____| User ID
Si el nom de l’Embran està buit, es mostra en lloc d’aquest l’ID d’usuari
Si ambdues línies tenen el mateix contingut, només es mostra la primera línia
If no photo is available and a registered name (jami) or display name (sip) is available, the first letter of this name can be used to generate a placeholder. Otherwise a generic placeholder is used.
Si no hi ha cap foto disponible, es pot utilitzar un marcador amb un color de fons específic per a l’URI canònic:
final int[] contactColors = {
color.red_500, color.pink_500,
color.purple_500, color.deep_purple_500,
color.indigo_500, color.blue_500,
color.cyan_500, color.teal_500,
color.green_500, color.light_green_500,
color.grey_500, color.lime_500,
color.amber_500, color.deep_orange_500,
color.brown_500, color.blue_grey_500
};
int generateAvatarColor(String canonicalUri) {
if (isEmpty(canonicalUri))
return R.color.grey_500;
String h = md5(canonicalUri);
if (h == null)
return R.color.grey_500;
int colorIndex = Integer.parseInt(h.charAt(0) + "", 16);
return contactColors[colorIndex % contactColors.length];
}
Els valors de color són de la paleta de materials: https://material.io/tools/color
! [références_couleurs_jami]