Identifikacijski številki Jami
V Jamiju je veliko identifikatorjev. Potrebno je združiti ime teh identifikatorjev med vsemi implementacijami.
Jami Infohash ali Jami public key fingerprint: prstni odtis javnega ključa, kot je
3d1112ab2bb089370c0744a44bb0786418d40b
Pregistrirano ime: uporabniško ime, povezano z Jami Infohashom na blokčeinu, kot so
jeandupont
URI: Jami ali SIP URI, kot so
jami:3d1112ab2bb089370c0744a44bb0786418d40b
alijami:jeandupont
ali<sip:nnnnn@host:5060>
. mora biti v skladu z [rfc3986]https://tools.ietf.org/html/rfc3986). Če je SIP URI, mora biti v skladu z rfc3261#19.1.Kanonični URI:
jami:3d1112ab2bb089370c0744a44bb0786418d40b
alisip:nnnnn@host:5060
. Najpreprepreprostejša oblika URI. Registrirano ime je treba rešiti, ne vključuje <> zaglavkov ali prikaznega imena. Predstavljeno s shemo (jami:
alisip:
alisips:
).Identifikator uporabnika: registrirano ime (preferi) ali odtis od javnega ključa.
Izgledno ime ali Profilno ime: urejeno uporabniško opredeljeno ime profila, kot je
Jean Dupont
.
Pri prikazu stikov:
_____
|photo| Display name or User ID
|_____| User ID
Če je ime prikaza prazno, se namesto tega prikaže uporabniški ID
Če imata obe vrstici enako vsebino, se prikaže samo prva vrsta
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.
Če fotografije ni na voljo, se lahko uporabi držalo mesta z barvo ozadja, ki je značilna za kanonično URI:
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];
}
Vrednosti barve so iz palete materialov: https://material.io/tools/color