شناسه های Jami
شناسه های زیادی در Jami وجود دارد. ما باید نامگذاری این شناسه ها را بین تمام پیاده سازی ها متحد کنیم. این صفحه به انواع مختلف شناسه های مورد استفاده در Jami با نمونه های مربوطه اشاره دارد.
Jami Infohash یا Jami Public Key Fingerprint: یک اثر انگشت کلید عمومی مانند
3d1112ab2bb089370c0744a44bb0786418d40b
نام ثبت شده: یک نام کاربری مرتبط با یک Jami Infohash در بلاکچین مانند
jeandupont
URI: یک URI Jami یا SIP مانند
jami:3d1112ab2bb089370c0744a44bb0786418d40b
یاjami:jeandupont
یا<sip:nnnnn@host:5060>
. باید مطابق با [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.
اگر هیچ عکس در دسترس نباشد، می توان از یک جای گیرنده با رنگ پس زمینه خاص 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