diff --git a/res/layout/chat_bubble.xml b/res/layout/chat_bubble.xml index 5323345db..1c750b0b3 100644 --- a/res/layout/chat_bubble.xml +++ b/res/layout/chat_bubble.xml @@ -77,29 +77,13 @@ android:layout_below="@id/separator" android:orientation="horizontal"> - + android:layout_height="wrap_content" + android:paddingLeft="10dp" + android:paddingTop="10dp"> - - - + diff --git a/res/layout/chat_imdn_cell.xml b/res/layout/chat_imdn_cell.xml index 89ad40a54..2537e5d7d 100644 --- a/res/layout/chat_imdn_cell.xml +++ b/res/layout/chat_imdn_cell.xml @@ -27,7 +27,7 @@ android:gravity="center_vertical"> @@ -52,7 +52,7 @@ android:maxLines="1" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_toRightOf="@id/avatar_layout" + android:layout_toRightOf="@id/avatar" android:layout_toLeftOf="@id/time" android:layout_marginLeft="10dp" android:layout_marginRight="5dp" diff --git a/res/layout/chat_infos_cell.xml b/res/layout/chat_infos_cell.xml index 27f8406b1..afab9e900 100644 --- a/res/layout/chat_infos_cell.xml +++ b/res/layout/chat_infos_cell.xml @@ -14,7 +14,7 @@ android:gravity="center_vertical"> @@ -94,7 +94,7 @@ diff --git a/res/layout/contact_avatar.xml b/res/layout/contact_avatar.xml index 1aa9b9c83..234417d60 100644 --- a/res/layout/contact_avatar.xml +++ b/res/layout/contact_avatar.xml @@ -2,8 +2,8 @@ @@ -30,4 +30,13 @@ android:gravity="center" android:maxLines="1"/> + + \ No newline at end of file diff --git a/res/layout/contact_cell.xml b/res/layout/contact_cell.xml index 87f104e29..d9692f7f6 100644 --- a/res/layout/contact_cell.xml +++ b/res/layout/contact_cell.xml @@ -34,7 +34,7 @@ android:gravity="center_vertical"> @@ -83,7 +83,7 @@ diff --git a/res/layout/history_cell.xml b/res/layout/history_cell.xml index 1caddbd88..9081e91ca 100644 --- a/res/layout/history_cell.xml +++ b/res/layout/history_cell.xml @@ -65,7 +65,7 @@ android:gravity="center_vertical"> @@ -79,7 +79,7 @@ android:src="@drawable/call_status_incoming" android:contentDescription="@string/content_description_call_direction" android:padding="7dp" - android:layout_toRightOf="@id/avatar_layout" + android:layout_toRightOf="@id/avatar" android:layout_width="wrap_content" android:layout_height="match_parent" android:adjustViewBounds="true" diff --git a/res/layout/search_contact_cell.xml b/res/layout/search_contact_cell.xml index 4ea557e04..81921cc01 100644 --- a/res/layout/search_contact_cell.xml +++ b/res/layout/search_contact_cell.xml @@ -8,7 +8,7 @@ android:orientation="vertical"> @@ -25,7 +25,7 @@ android:gravity="center_vertical" android:orientation="vertical" android:layout_marginRight="70dp" - android:layout_toRightOf="@id/avatar_layout" + android:layout_toRightOf="@id/avatar" android:layout_marginLeft="5dp" android:layout_alignParentTop="true" android:layout_alignParentBottom="true"> diff --git a/src/android/org/linphone/call/CallHistoryAdapter.java b/src/android/org/linphone/call/CallHistoryAdapter.java index f8c0e3285..f9b611092 100644 --- a/src/android/org/linphone/call/CallHistoryAdapter.java +++ b/src/android/org/linphone/call/CallHistoryAdapter.java @@ -55,8 +55,7 @@ public class CallHistoryAdapter extends SelectableAdapter { holder.messageStatus.setVisibility(View.INVISIBLE); holder.messageSendingInProgress.setVisibility(View.GONE); holder.imdmLayout.setVisibility(View.INVISIBLE); - holder.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); if (isEditionEnabled()) { holder.delete.setOnCheckedChangeListener(null); @@ -249,7 +249,7 @@ public class ChatEventsAdapter extends SelectableAdapter { Compatibility.setTextAppearance(holder.contactName, mContext, R.style.font3); Compatibility.setTextAppearance(holder.fileTransferAction, mContext, R.style.font15); holder.fileTransferAction.setBackgroundResource(R.drawable.resizable_confirm_delete_button); - holder.contactPictureMask.setImageResource(R.drawable.avatar_chat_mask_outgoing); + ContactAvatar.setAvatarMask(holder.avatarLayout, R.drawable.avatar_chat_mask_outgoing); } else { for (LinphoneContact c : mParticipants) { if (c != null && c.hasAddress(remoteSender.asStringUriOnly())) { @@ -270,7 +270,7 @@ public class ChatEventsAdapter extends SelectableAdapter { Compatibility.setTextAppearance(holder.contactName, mContext, R.style.font9); Compatibility.setTextAppearance(holder.fileTransferAction, mContext, R.style.font8); holder.fileTransferAction.setBackgroundResource(R.drawable.resizable_assistant_button); - holder.contactPictureMask.setImageResource(R.drawable.avatar_chat_mask); + ContactAvatar.setAvatarMask(holder.avatarLayout, R.drawable.avatar_chat_mask); } if (contact == null) { @@ -282,14 +282,10 @@ public class ChatEventsAdapter extends SelectableAdapter { } else { displayName = LinphoneUtils.getAddressDisplayName(remoteSender); } - - holder.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); - if (contact.hasPhoto()) { - LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), holder.contactPicture, contact.getThumbnailUri()); - } + ContactAvatar.displayAvatar(contact, holder.avatarLayout); } else { displayName = LinphoneUtils.getAddressDisplayName(remoteSender); - holder.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); + ContactAvatar.displayAvatar(displayName, holder.avatarLayout); } holder.contactName.setText(LinphoneUtils.timestampToHumanDate(mContext, message.getTime(), R.string.messages_date_format) + " - " + displayName); diff --git a/src/android/org/linphone/chat/ChatRoomViewHolder.java b/src/android/org/linphone/chat/ChatRoomViewHolder.java index 6902fad56..9273781fa 100644 --- a/src/android/org/linphone/chat/ChatRoomViewHolder.java +++ b/src/android/org/linphone/chat/ChatRoomViewHolder.java @@ -26,6 +26,7 @@ import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.CheckBox; import android.widget.ImageView; +import android.widget.RelativeLayout; import android.widget.TextView; import org.linphone.LinphoneManager; @@ -51,8 +52,7 @@ public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View. public TextView displayName; public TextView unreadMessages; public CheckBox delete; - public ImageView contactPicture; - public TextView generatedAvatar; + public RelativeLayout avatarLayout; public ImageView lastMessageFileTransfer; public Context mContext; public ChatRoom mRoom; @@ -71,8 +71,7 @@ public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View. displayName = itemView.findViewById(R.id.sipUri); unreadMessages = itemView.findViewById(R.id.unreadMessages); delete = itemView.findViewById(R.id.delete_chatroom); - contactPicture = itemView.findViewById(R.id.contact_picture); - generatedAvatar = itemView.findViewById(R.id.generated_avatar); + avatarLayout = itemView.findViewById(R.id.avatar_layout); lastMessageFileTransfer = itemView.findViewById(R.id.lastMessageFileTransfer); mListener = listener; @@ -159,17 +158,17 @@ public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View. if (mRoom.hasCapability(ChatRoomCapabilities.OneToOne.toInt())) { LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(mRoom.getPeerAddress()); if (contact != null) { - ContactAvatar.displayAvatar(contact, contactPicture, generatedAvatar); + ContactAvatar.displayAvatar(contact, avatarLayout); } else { String username = mRoom.getPeerAddress().getDisplayName(); if (username == null) { username = mRoom.getPeerAddress().getUsername(); } - ContactAvatar.displayAvatar(username, generatedAvatar); + ContactAvatar.displayAvatar(username, avatarLayout); } } else { - contactPicture.setImageBitmap(mDefaultGroupBitmap); - generatedAvatar.setVisibility(View.GONE); + ((ImageView)avatarLayout.findViewById(R.id.contact_picture)).setImageBitmap(mDefaultGroupBitmap); + avatarLayout.findViewById(R.id.generated_avatar).setVisibility(View.GONE); } } diff --git a/src/android/org/linphone/chat/GroupInfoAdapter.java b/src/android/org/linphone/chat/GroupInfoAdapter.java index 90643fa77..3c7f582e5 100644 --- a/src/android/org/linphone/chat/GroupInfoAdapter.java +++ b/src/android/org/linphone/chat/GroupInfoAdapter.java @@ -26,6 +26,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.RelativeLayout; import android.widget.TextView; import org.linphone.LinphoneUtils; @@ -44,8 +45,7 @@ public class GroupInfoAdapter extends RecyclerView.Adapter