Identifikacije Jamija

U Jamiju postoji mnogo identifikatora. Moramo ujediniti nazivanje tih identifikatora između svih implementacija.

  • Jami Infohash ili Jami public key fingerprint: otisak prstiju javnog ključa kao što je 3d1112ab2bb089370c0744a44bb0786418d40b

  • Pregistrirano ime: korisničko ime povezano s Jami Infohash na blokčeinu kao što su jeandupont

  • URI: Jami ili SIP URI kao što su jami:3d1112ab2bb089370c0744a44bb0786418d40b ili jami:jeandupont ili <sip:nnnnn@host:5060>. Mora biti u skladu s [rfc3986]https://tools.ietf.org/html/rfc3986).

  • Kanonični URI: jami:3d1112ab2bb089370c0744a44bb0786418d40b ili sip:nnnnn@host:5060. Najproslaženiji oblik URI-ja.

  • Povjereno ime korisnika: registrirano ime (preferirano) ili otisak prsta javnog ključa.

  • Nazlo prikaza ili Nazlo profila: uređivano korisničko definirano ime profila kao što je Jean Dupont.

Prilikom prikaza kontakta:

 _____
|photo|   Display name or User ID
|_____|   User ID
  • Ako je ime prikaza prazno, umjesto toga se prikazuje korisnički ID

  • Ako obje linije imaju isti sadržaj, prikazan je samo prvi red

  • 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.

  • Ako fotografija nije dostupna, može se koristiti držalo mjesta s Canonical URI-om specifičnom pozadinskom bojom:

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];
}

Vrijednosti boja su iz palete materijala: https://material.io/tools/color

! références_couleurs_jami