Added resend option to context menu if needed + fixed all english 'Infos' to 'Info'

This commit is contained in:
Sylvain Berfini 2018-04-11 14:19:56 +02:00
parent 4fe70a50ea
commit 5de27a0393
6 changed files with 38 additions and 14 deletions

View file

@ -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"/>

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/resend"
android:title="@string/resend" />
<item android:id="@+id/copy_text"
android:title="@string/copy_text" />
<item android:id="@+id/imdn_infos"
android:title="@string/imdn_info" />
<item android:id="@+id/delete_message"
android:title="@string/delete" />
</menu>

View file

@ -195,10 +195,10 @@
<string name="sent">Sent</string>
<string name="resend">Resend</string>
<string name="error_opening_file">An error occurs when opening this file.</string>
<string name="conversation_information">Infos</string>
<string name="conversation_information">Info</string>
<string name="administrator">Admin</string>
<string name="conversation_subject_hint">Name your group</string>
<string name="chat_room_infos_title">Infos</string>
<string name="chat_room_infos_title">Info</string>
<string name="chat_room_infos_admin">Admin</string>
<string name="chat_room_participants">Participants</string>
<string name="chat_room_leave_group">Leave the group</string>
@ -220,7 +220,7 @@
<string name="chat_room_leave_button">Leave</string>
<string name="chat_room_delete_dialog">Do you want to delete and leave the selected conversations?</string>
<string name="separator">:&#160;</string>
<string name="imdn_info">Infos</string>
<string name="imdn_info">Info</string>
<!-- Status Bar -->
<string name="status_connected">Registered</string>
@ -522,5 +522,5 @@
<string name="content_title_notification_service">Linphone Service</string>
<string name="content_title_notification">Linphone Notification</string>
<string name="content_description_conversation_subject">Group chat room subject</string>
<string name="content_description_conversation_infos">Group chat room infos</string>
<string name="content_description_conversation_infos">Group chat room info</string>
</resources>

View file

@ -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);

View file

@ -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;

View file

@ -52,5 +52,4 @@ public class FirebaseMessaging extends FirebaseMessagingService {
});
}
}
}