diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatActionCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatActionCell.java index c987d7751..9527507d7 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatActionCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatActionCell.java @@ -106,7 +106,7 @@ public class ChatActionCell extends BaseCell { } } } - avatarDrawable.setInfo(null, null, false); + avatarDrawable.setInfoByName(null); if (currentMessageObject.messageOwner.action instanceof TLRPC.TL_messageActionUserUpdatedPhoto) { imageReceiver.setImage(currentMessageObject.messageOwner.action.newUserPhoto.photo_small, "50_50", avatarDrawable, null, false); } else { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMessageCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMessageCell.java index 84f27146b..bdcb8f31c 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMessageCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMessageCell.java @@ -2196,23 +2196,14 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (user.photo != null) { currentPhoto = user.photo.photo_small; } - contactAvatarDrawable.setInfo(user); + contactAvatarDrawable.setInfoByUser(user); } photoImage.setImage(currentPhoto, "50_50", user != null ? contactAvatarDrawable : Theme.contactDrawable[messageObject.isOutOwner() ? 1 : 0], null, false); - String phone = messageObject.messageOwner.media.phone_number; - if (phone != null && phone.length() != 0) { - phone = "";//PhoneFormat.getInstance().format(phone); - } else { - phone = LocaleController.getString("NumberUnknown", R.string.NumberUnknown); - } - CharSequence currentNameString = ContactsController.formatName(messageObject.messageOwner.media.first_name, messageObject.messageOwner.media.last_name).replace('\n', ' '); - if (currentNameString.length() == 0) { - currentNameString = phone; - } + titleLayout = new StaticLayout(TextUtils.ellipsize(currentNameString, contactNamePaint, maxWidth, TextUtils.TruncateAt.END), contactNamePaint, maxWidth + dp(2), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); - docTitleLayout = new StaticLayout(TextUtils.ellipsize(phone.replace('\n', ' '), contactPhonePaint, maxWidth, TextUtils.TruncateAt.END), contactPhonePaint, maxWidth + dp(2), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); + docTitleLayout = new StaticLayout(TextUtils.ellipsize("", contactPhonePaint, maxWidth, TextUtils.TruncateAt.END), contactPhonePaint, maxWidth + dp(2), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); setMessageObjectInternal(messageObject); @@ -3697,7 +3688,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate */ // MrAvatar ... - avatarDrawable.setInfo(cname, null, false); + avatarDrawable.setInfoByName(cname); avatarImage.setImage(currentPhoto, "50_50", avatarDrawable, null, false); } @@ -3999,7 +3990,6 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate if (currentMessageObject.type == 13) { namePaint.setColor(Theme.MSG_STICKER_NAME_TEXT_COLOR); - int backWidth; if (currentMessageObject.isOutOwner()) { nameX = dp(28); } else { @@ -4015,13 +4005,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate } else { nameX = currentBackgroundDrawable.getBounds().left + dp(17) - nameOffsetX; } - if (currentUser != null) { - namePaint.setColor(AvatarDrawable.getNameColorForId(currentUser.id)); - } else if (currentChat != null) { - namePaint.setColor(AvatarDrawable.getNameColorForId(currentChat.id)); - } else { - namePaint.setColor(AvatarDrawable.getNameColorForId(0)); - } + namePaint.setColor(AvatarDrawable.getNameColor(currentNameString)); nameY = dp(10); } canvas.translate(nameX, nameY); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java index e4120b5aa..e16e4d5db 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java @@ -690,7 +690,7 @@ public class DialogCell extends BaseCell { // MrAvatar String cname = MrMailbox.MrChatGetName(m_hChat); - avatarDrawable.setInfo(cname, null, false); + avatarDrawable.setInfoByName(cname); avatarImage.setImage(photo, "50_50", avatarDrawable, null, false); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/HintDialogCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/HintDialogCell.java index 671397db9..9be69a4ac 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/HintDialogCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/HintDialogCell.java @@ -127,7 +127,7 @@ public class HintDialogCell extends FrameLayout { } else { nameTextView.setText(""); } - avatarDrawable.setInfo(user); + avatarDrawable.setInfoByUser(user); if (user != null && user.photo != null) { photo = user.photo.photo_small; } @@ -140,7 +140,7 @@ public class HintDialogCell extends FrameLayout { } else { nameTextView.setText(""); } - avatarDrawable.setInfo(chat); + avatarDrawable.setInfoByChat(chat); if (chat != null && chat.photo != null) { photo = chat.photo.photo_small; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/MentionCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/MentionCell.java index a15dcce7f..f22f5053e 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/MentionCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/MentionCell.java @@ -86,7 +86,7 @@ public class MentionCell extends LinearLayout { imageView.setImageDrawable(null); return; } - avatarDrawable.setInfo(user); + avatarDrawable.setInfoByUser(user); if (user.photo != null && user.photo.photo_small != null) { imageView.setImage(user.photo.photo_small, "50_50", avatarDrawable); } else { @@ -111,7 +111,7 @@ public class MentionCell extends LinearLayout { public void setBotCommand(String command, String help, TLRPC.User user) { if (user != null) { imageView.setVisibility(VISIBLE); - avatarDrawable.setInfo(user); + avatarDrawable.setInfoByUser(user); if (user.photo != null && user.photo.photo_small != null) { imageView.setImage(user.photo.photo_small, "50_50", avatarDrawable); } else { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ProfileSearchCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ProfileSearchCell.java index 941deaa54..75fef18e3 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ProfileSearchCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ProfileSearchCell.java @@ -409,14 +409,14 @@ public class ProfileSearchCell extends BaseCell { if (user.photo != null) { photo = user.photo.photo_small; } - avatarDrawable.setInfo(user); + avatarDrawable.setInfoByUser(user); } else if (chat != null) { if (chat.photo != null) { photo = chat.photo.photo_small; } - avatarDrawable.setInfo(chat); + avatarDrawable.setInfoByChat(chat); } else { - avatarDrawable.setInfo(null, null, false); + avatarDrawable.setInfoByName(null); } if (mask != 0) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ShareDialogCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ShareDialogCell.java index 1d5b16d01..a5db492fe 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/ShareDialogCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/ShareDialogCell.java @@ -85,7 +85,7 @@ public class ShareDialogCell extends FrameLayout { } else { nameTextView.setText(""); } - avatarDrawable.setInfo(user); + avatarDrawable.setInfoByUser(user); if (user != null && user.photo != null) { photo = user.photo.photo_small; } @@ -98,7 +98,7 @@ public class ShareDialogCell extends FrameLayout { } else { nameTextView.setText(""); } - avatarDrawable.setInfo(chat); + avatarDrawable.setInfoByChat(chat); if (chat != null && chat.photo != null) { photo = chat.photo.photo_small; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Cells/UserCell.java b/TMessagesProj/src/main/java/org/telegram/ui/Cells/UserCell.java index 1da73b4a0..544d4a95b 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Cells/UserCell.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Cells/UserCell.java @@ -205,14 +205,14 @@ public class UserCell extends FrameLayout { } if (currentUser != null) { - avatarDrawable.setInfo(currentUser); + avatarDrawable.setInfoByUser(currentUser); if (currentUser.status != null) { lastStatus = currentUser.status.expires; } else { lastStatus = 0; } } else { - avatarDrawable.setInfo(currentChat); + avatarDrawable.setInfoByChat(currentChat); } if (currentName != null) { diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/AvatarDrawable.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/AvatarDrawable.java index d0108b957..2dac8fd02 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/AvatarDrawable.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/AvatarDrawable.java @@ -31,14 +31,12 @@ public class AvatarDrawable extends Drawable { private static Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); private static TextPaint namePaint; private static TextPaint namePaintSmall; - private static int[] arrColors = {0xffe56555, 0xfff28c48, 0xff8e85ee, 0xff76c84d, 0xff5fbed5, 0xff549cdd, 0xff8e85ee, 0xff8cdc99}; + private static int[] arrColors = {0xffe56555, 0xfff28c48, 0xff8e85ee, 0xff76c84d, 0xff5bb6cc, 0xff549cdd, 0xffd25c99, 0xffb37800}; /* the colors should contrast to typical action bar colors as well as to white (more important, is used as text color)*/ private static int[] arrColorsProfiles = {0xffd86f65, 0xfff69d61, 0xff8c79d2, 0xff67b35d, 0xff56a2bb, Theme.ACTION_BAR_MAIN_AVATAR_COLOR, 0xff8c79d2, 0xfff37fa6}; private static int[] arrColorsProfilesText = {0xfff9cbc5, 0xfffdddc8, 0xffcdc4ed, 0xffc0edba, 0xffb8e2f0, Theme.ACTION_BAR_PROFILE_SUBTITLE_COLOR, 0xffcdc4ed, 0xffb3d7f7}; - private static int[] arrColorsNames = {0xffca5650, 0xffd87b29, 0xff4e92cc, 0xff50b232, 0xff42b1a8, 0xff4e92cc, 0xff4e92cc, 0xff4e92cc}; private static int[] arrColorsButtons = {Theme.ACTION_BAR_RED_SELECTOR_COLOR, Theme.ACTION_BAR_ORANGE_SELECTOR_COLOR, Theme.ACTION_BAR_VIOLET_SELECTOR_COLOR, Theme.ACTION_BAR_GREEN_SELECTOR_COLOR, Theme.ACTION_BAR_CYAN_SELECTOR_COLOR, Theme.ACTION_BAR_BLUE_SELECTOR_COLOR, Theme.ACTION_BAR_VIOLET_SELECTOR_COLOR, Theme.ACTION_BAR_BLUE_SELECTOR_COLOR}; - private static Drawable broadcastDrawable; private static Drawable photoDrawable; private int color; @@ -47,7 +45,6 @@ public class AvatarDrawable extends Drawable { private float textHeight; private float textLeft; private boolean isProfile; - private boolean drawBrodcast; private boolean drawPhoto; private boolean smallStyle; private StringBuilder stringBuilder = new StringBuilder(5); @@ -63,8 +60,6 @@ public class AvatarDrawable extends Drawable { namePaintSmall = new TextPaint(Paint.ANTI_ALIAS_FLAG); namePaintSmall.setColor(0xffffffff); namePaintSmall.setTextSize(AndroidUtilities.dp(14)); - - broadcastDrawable = ApplicationLoader.applicationContext.getResources().getDrawable(R.drawable.broadcast_w); } } @@ -80,7 +75,7 @@ public class AvatarDrawable extends Drawable { this(); isProfile = profile; if (user != null) { - setInfo(user.first_name, user.last_name, false); + setInfoByName(user.first_name+" "+ user.last_name); } } @@ -88,7 +83,7 @@ public class AvatarDrawable extends Drawable { this(); isProfile = profile; if (chat != null) { - setInfo(chat.title, null, chat.id < 0); + setInfoByName(chat.title); } } @@ -120,27 +115,28 @@ public class AvatarDrawable extends Drawable { return arrColorsProfilesText[getColorIndex(id)]; } - public static int getNameColorForId(int id) { - return arrColorsNames[getColorIndex(id)]; + public static int getNameColor(String name) { + int id = strChecksum(name); + return arrColors[getColorIndex(id)]; } - public void setInfo(TLRPC.User user) { + public void setInfoByUser(TLRPC.User user) { if (user != null) { - setInfo(user.first_name, user.last_name, false); + setInfoByName(user.first_name +" "+ user.last_name); } } - public void setInfo(TLRPC.Chat chat) { + public void setInfoByChat(TLRPC.Chat chat) { if (chat != null) { - setInfo(chat.title, null, chat.id < 0); + setInfoByName(chat.title); } } - public void setColor(int value) { + public void setColor_(int value) { color = value; } - private int strChecksum(String str) { + private static int strChecksum(String str) { int ret = 0; if( str!=null ) { int i; @@ -152,8 +148,10 @@ public class AvatarDrawable extends Drawable { return ret; } - public void setInfo(String firstName, String lastName, boolean isBroadcast) { - int id = strChecksum(firstName) + strChecksum(lastName); + public void setInfoByName(String firstName) { + String lastName = null; + + int id = strChecksum(firstName); if (isProfile) { color = arrColorsProfiles[getColorIndex(id)]; @@ -161,8 +159,6 @@ public class AvatarDrawable extends Drawable { color = arrColors[getColorIndex(id)]; } - drawBrodcast = isBroadcast; - if (firstName == null || firstName.length() == 0) { firstName = lastName; lastName = null; @@ -234,22 +230,16 @@ public class AvatarDrawable extends Drawable { canvas.translate(bounds.left, bounds.top); canvas.drawCircle(size / 2, size / 2, size / 2, paint); - if (drawBrodcast && broadcastDrawable != null) { - int x = (size - broadcastDrawable.getIntrinsicWidth()) / 2; - int y = (size - broadcastDrawable.getIntrinsicHeight()) / 2; - broadcastDrawable.setBounds(x, y, x + broadcastDrawable.getIntrinsicWidth(), y + broadcastDrawable.getIntrinsicHeight()); - broadcastDrawable.draw(canvas); - } else { - if (textLayout != null) { - canvas.translate((size - textWidth) / 2 - textLeft, (size - textHeight) / 2); - textLayout.draw(canvas); - } else if (drawPhoto && photoDrawable != null) { - int x = (size - photoDrawable.getIntrinsicWidth()) / 2; - int y = (size - photoDrawable.getIntrinsicHeight()) / 2; - photoDrawable.setBounds(x, y, x + photoDrawable.getIntrinsicWidth(), y + photoDrawable.getIntrinsicHeight()); - photoDrawable.draw(canvas); - } + if (textLayout != null) { + canvas.translate((size - textWidth) / 2 - textLeft, (size - textHeight) / 2); + textLayout.draw(canvas); + } else if (drawPhoto && photoDrawable != null) { + int x = (size - photoDrawable.getIntrinsicWidth()) / 2; + int y = (size - photoDrawable.getIntrinsicHeight()) / 2; + photoDrawable.setBounds(x, y, x + photoDrawable.getIntrinsicWidth(), y + photoDrawable.getIntrinsicHeight()); + photoDrawable.draw(canvas); } + canvas.restore(); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlert.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlert.java index 4c52ff340..48d01caa9 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlert.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAttachAlert.java @@ -240,7 +240,7 @@ public class ChatAttachAlert extends BottomSheet implements NotificationCenter.N currentUser = user; TLRPC.FileLocation photo = null; nameTextView.setText(ContactsController.formatName(user.first_name, user.last_name)); - avatarDrawable.setInfo(user); + avatarDrawable.setInfoByUser(user); if (user != null && user.photo != null) { photo = user.photo.photo_small; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAvatarContainer.java b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAvatarContainer.java index a1f540ea8..4d4075d94 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAvatarContainer.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Components/ChatAvatarContainer.java @@ -302,7 +302,7 @@ public class ChatAvatarContainer extends FrameLayout { */ // MrAvatar ... - avatarDrawable.setInfo(MrMailbox.MrChatGetName(parentFragment.m_hChat), null, false); + avatarDrawable.setInfoByName(MrMailbox.MrChatGetName(parentFragment.m_hChat)); if (avatarImageView != null) { avatarImageView.setImage(newPhoto, "50_50", avatarDrawable); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateFinalActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateFinalActivity.java index f52f2cdac..740b87c0d 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateFinalActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/GroupCreateFinalActivity.java @@ -212,7 +212,7 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati avatarImage = new BackupImageView(context); avatarImage.setRoundRadius(AndroidUtilities.dp(32)); - avatarDrawable.setInfo(null, null, chatType == ChatObject.CHAT_TYPE_BROADCAST); + avatarDrawable.setInfoByName(null); avatarImage.setImageDrawable(avatarDrawable); frameLayout.addView(avatarImage); FrameLayout.LayoutParams layoutParams1 = (FrameLayout.LayoutParams) avatarImage.getLayoutParams(); @@ -301,7 +301,7 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati @Override public void afterTextChanged(Editable s) { - avatarDrawable.setInfo(nameTextView.length() > 0 ? nameTextView.getText().toString() : null, null, false); + avatarDrawable.setInfoByName(nameTextView.length() > 0 ? nameTextView.getText().toString() : null); avatarImage.invalidate(); } }); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java index 4eef113ac..bc213103e 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java @@ -1577,7 +1577,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. rD = (int) ((Color.red(color) - Color.red(color2)) * progress); gD = (int) ((Color.green(color) - Color.green(color2)) * progress); bD = (int) ((Color.blue(color) - Color.blue(color2)) * progress); - avatarDrawable.setColor(Color.rgb(Color.red(color2) + rD, Color.green(color2) + gD, Color.blue(color2) + bD)); + avatarDrawable.setColor_(Color.rgb(Color.red(color2) + rD, Color.green(color2) + gD, Color.blue(color2) + bD)); avatarImage.invalidate(); } @@ -2036,7 +2036,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. photo = user.photo.photo_small; photoBig = user.photo.photo_big; } - avatarDrawable.setInfo(user); + avatarDrawable.setInfoByUser(user); avatarImage.setImage(photo, "50_50", avatarDrawable); String newString = UserObject.getUserName(user); @@ -2161,7 +2161,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter. photo = chat.photo.photo_small; photoBig = chat.photo.photo_big; } - avatarDrawable.setInfo(chat); + avatarDrawable.setInfoByChat(chat); avatarImage.setImage(photo, "50_50", avatarDrawable); avatarImage.getImageReceiver().setVisible(!PhotoViewer.getInstance().isShowingImage(photoBig), false); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java index 36ffdbc8b..a954c5c0e 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java @@ -1204,7 +1204,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter } AvatarDrawable avatarDrawable = new AvatarDrawable(user, true); - avatarDrawable.setColor(Theme.ACTION_BAR_MAIN_AVATAR_COLOR); + avatarDrawable.setColor_(Theme.ACTION_BAR_MAIN_AVATAR_COLOR); /* EDIT BY MR if (avatarImage != null) { avatarImage.setImage(photo, "50_50", avatarDrawable);