Идентификатори Џами
У Џамију постоје много идентификатора. Потребно је да обединим називе ових идентификатора између свих имплементација.
Джами Инфохаш или Джами јавни кључ прстиоци: прстиоци јавног кључа као што су
3d1112ab2bb089370c0744a44bb0786418d40b
Преписано име: корисничко име повезано са Jami Infohash на блокчејн као што су
jeandupont
УРИ: УРИ ЏАМИ или СИП као што су
јами:3д1112абб2б089370c0744а44бб0786418д40б
илијами:јеандпунт
или<sip:nnnnn@host:5060>
. Мора бити у складу са [rfc3986]https://tools.ietf.org/html/rfc3986). Ако је УРИ СИП, мора бити у складу са rfc3261#19.1.Кананички УРИ:
jami:3d1112ab2bb089370c0744a44bb0786418d40b
илиsip:nnnnn@host:5060
. Најпростији облик УРИ. Регистрирано име мора бити решено, не укључује <> скопке или име приказа.Идентификатор корисника: регистровано име (предвиђено) или отпечатак прстију са јавним кључем.
Име екрана или Име профила: уређивано корисничко дефинисано име профила, као што је
Жан Дюпонт
.
При приказивању контакта:
_____
|photo| Display name or User ID
|_____| User ID
Ако је име Дисплеја празно, уместо тога се приказује ИД корисника
Ако обе редове имају исти садржај, приказује се само прва редова
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.
Ако није доступна фотографија, може се користити завачни знак са корекцијом позадина специфичан за 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];
}
Значења боја су из палети материјала: https://material.io/tools/color