Các nhận dạng Jami
Có nhiều nhận dạng trong Jami. Chúng ta cần phải thống nhất tên gọi của các nhận dạng này giữa tất cả các thực hiện. Trang này tham khảo các loại nhận dạng khác nhau được sử dụng trong Jami với các ví dụ liên quan.
Jami Infohash hoặc Jami Public Key fingerprint: một dấu vân tay bằng khóa công cộng như
3d1112ab2bb089370c0744a44bb0786418d40b
** Tên đăng ký**: một tên người dùng liên kết với một Jami Infohash trên blockchain như
jeandupont
URI: một Jami hoặc SIP URI như
jami:3d1112ab2bb089370c0744a44bb0786418d40b
hoặcjami:jeandupont
hoặc<sip:nnnnn@host:5060>
. Phải tuân thủ [rfc3986]https://tools.ietf.org/html/rfc3986). Nếu đó là một SIP URI, nó phải tuân thủ [rfc3261#19.1](https://tools.ietf.org/html/rfc3261# section-19.1).** URI có thể được sử dụng:
jami:3d1112ab2bb089370c0744a44bb0786418d40b
hoặcsip:nnnnn@host:5060
.ID người dùng: tên đăng ký (tích thích) hoặc dấu vân tay khóa công cộng.
Tên hiển thị hoặc Tên hồ sơ: một tên hồ sơ được xác định bởi người dùng có thể chỉnh sửa như
Jean Dupont
.
Khi hiển thị một liên lạc:
_____
|photo| Display name or User ID
|_____| User ID
Nếu tên hiển thị trống, ID người dùng sẽ được hiển thị thay vào đó
Nếu cả hai dòng đều có nội dung tương tự, chỉ có dòng đầu tiên được hiển thị
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.
Nếu không có hình ảnh, một bộ ghi vị trí có màu nền cụ thể cho Canonical URI có thể được sử dụng:
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];
}
Giá trị màu sắc là từ bảng màu vật liệu: https://material.io/tools/color