|
|
|
@ -495,7 +495,12 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
ivAvatar.setTag(message.id);
|
|
|
|
|
ivAvatar.setVisibility(View.INVISIBLE);
|
|
|
|
|
tvFrom.setTag(message.id);
|
|
|
|
|
|
|
|
|
|
Address[] addresses = (Address[]) args.getSerializable("addresses");
|
|
|
|
|
ContactInfo info = ContactInfo.get(context, addresses, true);
|
|
|
|
|
if (info != null && info.hasDisplayName())
|
|
|
|
|
setFrom(info, addresses);
|
|
|
|
|
else
|
|
|
|
|
tvFrom.setText(MessageHelper.formatAddresses(addresses, !compact, false));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -503,7 +508,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
protected ContactInfo onExecute(Context context, Bundle args) {
|
|
|
|
|
Address[] addresses = (Address[]) args.getSerializable("addresses");
|
|
|
|
|
|
|
|
|
|
ContactInfo info = ContactInfo.get(context, addresses);
|
|
|
|
|
ContactInfo info = ContactInfo.get(context, addresses, false);
|
|
|
|
|
|
|
|
|
|
if ((info == null || !info.hasPhoto()) &&
|
|
|
|
|
identicons && addresses != null && addresses.length > 0) {
|
|
|
|
@ -530,13 +535,9 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((long) tvFrom.getTag() == id) {
|
|
|
|
|
if (info != null && info.hasDisplayName())
|
|
|
|
|
try {
|
|
|
|
|
if (info != null && info.hasDisplayName()) {
|
|
|
|
|
Address[] addresses = (Address[]) args.getSerializable("addresses");
|
|
|
|
|
((InternetAddress) addresses[0]).setPersonal(info.getDisplayName());
|
|
|
|
|
tvFrom.setText(MessageHelper.formatAddresses(addresses, !compact, false));
|
|
|
|
|
} catch (UnsupportedEncodingException ex) {
|
|
|
|
|
Log.w(ex);
|
|
|
|
|
setFrom(info, addresses);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -545,6 +546,16 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|
|
|
|
protected void onException(Bundle args, Throwable ex) {
|
|
|
|
|
Helper.unexpectedError(context, owner, ex);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void setFrom(ContactInfo info, Address[] addresses) {
|
|
|
|
|
try {
|
|
|
|
|
((InternetAddress) addresses[0]).setPersonal(info.getDisplayName());
|
|
|
|
|
tvFrom.setText(MessageHelper.formatAddresses(addresses, !compact, false));
|
|
|
|
|
} catch (UnsupportedEncodingException ex) {
|
|
|
|
|
Log.w(ex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}.execute(context, owner, aargs, "message:avatar");
|
|
|
|
|
} else {
|
|
|
|
|
ivAvatar.setVisibility(View.GONE);
|
|
|
|
|