Jami-identifierare
Det finns många identifieringar i Jami. Vi måste förena namngivandet av dessa identifieringar mellan alla implementeringar.
Jami Infohash eller Jami public key fingerprint: ett fingeravtryck med offentlig nyckel som
3d1112ab2bb089370c0744a44bb0786418d40b
** Registrerat namn**: ett användarnamn som är associerat med en Jami Infohash på blockkedjan som
jeandupont
URI: en Jami eller SIP URI som
jami:3d1112ab2bb089370c0744a44bb0786418d40b
ellerjami:jeandupont
eller<sip:nnnnn@host:5060>
. Måste överensstämma med [rfc3986]https://tools.ietf.org/html/rfc3986). Om det är en SIP URI, måste den överensstämma med [rfc3261#19.1](https://tools.ietf.org/html/rfc3261# avsnitt-19.1).Kanoniska URI:
jami:3d1112ab2bb089370c0744a44bb0786418d40b
ellersip:nnnnn@host:5060
. Den mest förenklade formen av URI. Registrerat namn måste lösas, innehåller inte <> parallett eller visningsnamn. Första med schema (jami:
ellersip:
ellersips:
).Användaridentitet: registrerat namn (företrädesvis) eller fingeravtryck med offentlig nyckel. Användaridentifierare för en offentlig nyckel för ett konto.
Display name eller Profilname: ett redigerbart användardefinierat profilnamn som
Jean Dupont
.
Vid visning av en kontakt:
_____
|photo| Display name or User ID
|_____| User ID
Om Skärmnamnet är tom visas användarnamnet istället
Om båda raderna har samma innehåll visas endast den första raden
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.
Om inget foto är tillgängligt kan en platshållare med en Canonical URI-specifik bakgrundskärg användas:
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];
}
Färgvärden är från materialpaletten: https://material.io/tools/color
! [références_couleurs_jami]