diff --git a/res/layout/chat_bubble.xml b/res/layout/chat_bubble.xml index 38b9a5784..1933f372a 100644 --- a/res/layout/chat_bubble.xml +++ b/res/layout/chat_bubble.xml @@ -142,7 +142,6 @@ android:id="@+id/message" style="@style/font11" android:autoLink="web" - android:textIsSelectable="true" android:linksClickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content"/> diff --git a/res/menu/chat_bubble_menu_with_resend.xml b/res/menu/chat_bubble_menu_with_resend.xml new file mode 100644 index 000000000..4ca08409b --- /dev/null +++ b/res/menu/chat_bubble_menu_with_resend.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 212b63db7..776ec20af 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -195,10 +195,10 @@ Sent Resend An error occurs when opening this file. - Infos + Info Admin Name your group - Infos + Info Admin Participants Leave the group @@ -220,7 +220,7 @@ Leave Do you want to delete and leave the selected conversations? - Infos + Info Registered @@ -522,5 +522,5 @@ Linphone Service Linphone Notification Group chat room subject - Group chat room infos + Group chat room info diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index d563108cf..509d9b246 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -188,7 +188,6 @@ public class ChatEventsAdapter extends ListSelectionAdapter { holder.messageStatus.setVisibility(View.INVISIBLE); holder.messageSendingInProgress.setVisibility(View.GONE); holder.imdmLayout.setVisibility(View.INVISIBLE); - holder.imdmLabel.setOnClickListener(null); holder.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); if (isEditionEnabled()) { @@ -245,12 +244,6 @@ public class ChatEventsAdapter extends ListSelectionAdapter { holder.imdmIcon.setImageResource(R.drawable.chat_error); holder.imdmLabel.setText(R.string.error); holder.imdmLabel.setTextColor(mContext.getResources().getColor(R.color.colorI)); - holder.imdmLabel.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - //TODO resend message - } - }); } else if (status == ChatMessage.State.FileTransferError) { holder.imdmLayout.setVisibility(View.VISIBLE); holder.imdmIcon.setImageResource(R.drawable.chat_error); diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index d8acb4c0f..2f7772e80 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -332,8 +332,20 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); + + AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; + EventLog event = (EventLog) mEventsAdapter.getItem(info.position); + if (event.getType() != EventLog.Type.ConferenceChatMessage) { + return; + } + MenuInflater inflater = getActivity().getMenuInflater(); - inflater.inflate(R.menu.chat_bubble_menu, menu); + ChatMessage message = event.getChatMessage(); + if (message.getState() == ChatMessage.State.NotDelivered) { + inflater.inflate(R.menu.chat_bubble_menu_with_resend, menu); + } else { + inflater.inflate(R.menu.chat_bubble_menu, menu); + } } @Override @@ -349,6 +361,10 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con String messageId = message.getMessageId(); switch(item.getItemId()) { + case R.id.resend: + mEventsAdapter.removeItem(info.position); + message.resend(); + return true; case R.id.imdn_infos: LinphoneActivity.instance().goToChatMessageImdnInfos(getRemoteSipUri(), messageId); return true; diff --git a/src/android/org/linphone/firebase/FirebaseMessaging.java b/src/android/org/linphone/firebase/FirebaseMessaging.java index f7199d1ef..49cf49271 100644 --- a/src/android/org/linphone/firebase/FirebaseMessaging.java +++ b/src/android/org/linphone/firebase/FirebaseMessaging.java @@ -52,5 +52,4 @@ public class FirebaseMessaging extends FirebaseMessagingService { }); } } - }