Added copy text and delete code for chat message's context menu

This commit is contained in:
Sylvain Berfini 2018-04-11 13:22:34 +02:00
parent 7e613d5401
commit 8c14f5db25
2 changed files with 15 additions and 0 deletions

View file

@ -159,6 +159,11 @@ public class ChatEventsAdapter extends ListSelectionAdapter {
return i; return i;
} }
public void removeItem(int i) {
mHistory.remove(i);
notifyDataSetChanged();
}
@Override @Override
public View getView(int i, View view, ViewGroup viewGroup) { public View getView(int i, View view, ViewGroup viewGroup) {
ChatBubbleViewHolder holder; ChatBubbleViewHolder holder;

View file

@ -22,6 +22,9 @@ package org.linphone.chat;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.app.Fragment; import android.app.Fragment;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
@ -350,8 +353,15 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
LinphoneActivity.instance().goToChatMessageImdnInfos(getRemoteSipUri(), messageId); LinphoneActivity.instance().goToChatMessageImdnInfos(getRemoteSipUri(), messageId);
return true; return true;
case R.id.copy_text: 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; return true;
case R.id.delete_message: case R.id.delete_message:
mChatRoom.deleteMessage(message);
mEventsAdapter.removeItem(info.position);
return true; return true;
default: default:
return super.onContextItemSelected(item); return super.onContextItemSelected(item);