شناسه های 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

références_couleurs_jami