Identifikátory Jami
V Jami je veľa identifikátorov. Musíme zjednotit pomenovanie týchto identifikátorov medzi všetkými implementáciami. Táto stránka odkazuje na rôzne typy identifikátorov používaných v Jami s príslušnými príkladmi.
Jami Infohash alebo Jami Public Key Fingerprint: odtlačka prstov z verejného klíča, ako je
3d1112ab2bb089370c0744a44bb0786418d40b
Predpísané meno: používateľské meno spojené s Jami Infohash na blockchain ako
jeandupont
URI: Jami alebo SIP URI ako
jami:3d1112ab2bb089370c0744a44bb0786418d40b
alebojami:jeandupont
alebo<sip:nnnnn@host:5060>
. Musí byť v súlade s [rfc3986]https://tools.ietf.org/html/rfc3986). Ak je to SIP URI, musí byť v súlade s rfc3261#19.1.Kanonické URI:
jami:3d1112ab2bb089370c0744a44bb0786418d40b
alebosip:nnnnn@host:5060
. Najvyjednodušenšia forma URI. Registrované meno musí byť vyriešené, nezahŕňa <> závesy alebo názov zobrazenia.User ID: registrované meno (prednostné) alebo odtlačok prstov verejného kľúča.
Názov zobrazenia alebo Názov profilu: upraviteľné užívateľovo definované meno profilu, ako je
Jean Dupont
.
Pri zobrazení kontaktu:
_____
|photo| Display name or User ID
|_____| User ID
Ak je názov zobrazenia prázdny, namiesto toho sa zobrazí ID používateľa
Ak obe riadky majú rovnaký obsah, zobrazí sa iba prvý riadok
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.
Ak nie je k dispozícii fotografia, môže sa použiť držák miesta s farbou pozadia špecifickou pre Canonical 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];
}
Farbné hodnoty sú z palety materiálov: https://material.io/tools/color