diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index bd1a58662..d563108cf 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -159,6 +159,11 @@ public class ChatEventsAdapter extends ListSelectionAdapter { return i; } + public void removeItem(int i) { + mHistory.remove(i); + notifyDataSetChanged(); + } + @Override public View getView(int i, View view, ViewGroup viewGroup) { ChatBubbleViewHolder holder; diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 20d950d23..d8acb4c0f 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -22,6 +22,9 @@ package org.linphone.chat; import android.app.Activity; import android.app.Dialog; import android.app.Fragment; +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -350,8 +353,15 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con LinphoneActivity.instance().goToChatMessageImdnInfos(getRemoteSipUri(), messageId); return true; case R.id.copy_text: + if (message.hasTextContent()) { + ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText("Message", message.getTextContent()); + clipboard.setPrimaryClip(clip); + } return true; case R.id.delete_message: + mChatRoom.deleteMessage(message); + mEventsAdapter.removeItem(info.position); return true; default: return super.onContextItemSelected(item);