mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-12 02:19:44 +00:00
Add message copy functionality
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
3c3de7e465
commit
27c60bcce4
@ -21,6 +21,9 @@
|
||||
package com.nextcloud.talk.controllers;
|
||||
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
@ -68,6 +71,7 @@ import com.otaliastudios.autocomplete.AutocompleteCallback;
|
||||
import com.otaliastudios.autocomplete.AutocompletePresenter;
|
||||
import com.otaliastudios.autocomplete.CharPolicy;
|
||||
import com.stfalcon.chatkit.commons.ImageLoader;
|
||||
import com.stfalcon.chatkit.commons.models.IMessage;
|
||||
import com.stfalcon.chatkit.messages.MessageInput;
|
||||
import com.stfalcon.chatkit.messages.MessagesList;
|
||||
import com.stfalcon.chatkit.messages.MessagesListAdapter;
|
||||
@ -93,7 +97,7 @@ import retrofit2.Response;
|
||||
|
||||
@AutoInjector(NextcloudTalkApplication.class)
|
||||
public class ChatController extends BaseController implements MessagesListAdapter.OnLoadMoreListener,
|
||||
MessagesListAdapter.Formatter<Date> {
|
||||
MessagesListAdapter.Formatter<Date>, MessagesListAdapter.OnMessageLongClickListener {
|
||||
private static final String TAG = "ChatController";
|
||||
|
||||
@Inject
|
||||
@ -122,7 +126,6 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
||||
|
||||
/*
|
||||
TODO:
|
||||
- copy message
|
||||
- check push notifications
|
||||
- new conversation handling
|
||||
*/
|
||||
@ -175,6 +178,8 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
||||
adapter.setLoadMoreListener(this);
|
||||
adapter.setDateHeadersFormatter(this::format);
|
||||
|
||||
adapter.setOnMessageLongClickListener(this);
|
||||
|
||||
setupMentionAutocomplete();
|
||||
|
||||
messageInput.getInputEditText().setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
|
||||
@ -510,4 +515,18 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
||||
|
||||
return callIntent;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onMessageLongClick(IMessage message) {
|
||||
if (getActivity() != null) {
|
||||
ClipboardManager clipboardManager = (android.content.ClipboardManager)
|
||||
getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
ClipData clipData = android.content.ClipData.newPlainText(
|
||||
getResources().getString(R.string.nc_app_name), message.getText());
|
||||
if (clipboardManager != null) {
|
||||
clipboardManager.setPrimaryClip(clipData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user