Идентификатори на Jami
Има много идентификатори в Jami. Трябва да обединим наименованието на тези идентификатори между всички изпълнения. Тази страница се отнася до различни видове идентификатори, използвани в Jami с подходящи примери.
Jami Infohash или Jami Public Key Fingerprint: отпечатък от публичен ключ като
3d1112ab2bb089370c0744a44bb0786418d40b
Пререгистрирано име: потребителско име, свързано с Jami Infohash на блокчейн, като
jeandupont
URI: Jami или SIP URI като
jami:3d1112ab2bb089370c0744a44bb0786418d40b
илиjami:jeandupont
или<sip:nnnnn@host:5060>
. Трябва да е в съответствие с [rfc3986]https://tools.ietf.org/html/rfc3986).Канонична URI:
jami:3d1112ab2bb089370c0744a44bb0786418d40b
илиsip:nnnnn@host:5060
. Най-простият вид на URI. Регистрирано име трябва да бъде разрешено, не включва <> скоби или име на дисплея. Предвидено с схемата (jami:
илиsip:
илиsips:
).Идентификатор на потребителя: регистрирано име (предпочитано) или отпечатък от публичен ключ.
Име на дисплея или Име на профила: редактируемо потребителско дефинирано име на профила като
Jean Dupont
.
При показване на контакт:
_____
|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