mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-12 10:32:36 +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;
|
package com.nextcloud.talk.controllers;
|
||||||
|
|
||||||
|
|
||||||
|
import android.content.ClipData;
|
||||||
|
import android.content.ClipboardManager;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
@ -68,6 +71,7 @@ import com.otaliastudios.autocomplete.AutocompleteCallback;
|
|||||||
import com.otaliastudios.autocomplete.AutocompletePresenter;
|
import com.otaliastudios.autocomplete.AutocompletePresenter;
|
||||||
import com.otaliastudios.autocomplete.CharPolicy;
|
import com.otaliastudios.autocomplete.CharPolicy;
|
||||||
import com.stfalcon.chatkit.commons.ImageLoader;
|
import com.stfalcon.chatkit.commons.ImageLoader;
|
||||||
|
import com.stfalcon.chatkit.commons.models.IMessage;
|
||||||
import com.stfalcon.chatkit.messages.MessageInput;
|
import com.stfalcon.chatkit.messages.MessageInput;
|
||||||
import com.stfalcon.chatkit.messages.MessagesList;
|
import com.stfalcon.chatkit.messages.MessagesList;
|
||||||
import com.stfalcon.chatkit.messages.MessagesListAdapter;
|
import com.stfalcon.chatkit.messages.MessagesListAdapter;
|
||||||
@ -93,7 +97,7 @@ import retrofit2.Response;
|
|||||||
|
|
||||||
@AutoInjector(NextcloudTalkApplication.class)
|
@AutoInjector(NextcloudTalkApplication.class)
|
||||||
public class ChatController extends BaseController implements MessagesListAdapter.OnLoadMoreListener,
|
public class ChatController extends BaseController implements MessagesListAdapter.OnLoadMoreListener,
|
||||||
MessagesListAdapter.Formatter<Date> {
|
MessagesListAdapter.Formatter<Date>, MessagesListAdapter.OnMessageLongClickListener {
|
||||||
private static final String TAG = "ChatController";
|
private static final String TAG = "ChatController";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@ -122,7 +126,6 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
TODO:
|
TODO:
|
||||||
- copy message
|
|
||||||
- check push notifications
|
- check push notifications
|
||||||
- new conversation handling
|
- new conversation handling
|
||||||
*/
|
*/
|
||||||
@ -175,6 +178,8 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||||||
adapter.setLoadMoreListener(this);
|
adapter.setLoadMoreListener(this);
|
||||||
adapter.setDateHeadersFormatter(this::format);
|
adapter.setDateHeadersFormatter(this::format);
|
||||||
|
|
||||||
|
adapter.setOnMessageLongClickListener(this);
|
||||||
|
|
||||||
setupMentionAutocomplete();
|
setupMentionAutocomplete();
|
||||||
|
|
||||||
messageInput.getInputEditText().setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
|
messageInput.getInputEditText().setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
|
||||||
@ -510,4 +515,18 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||||||
|
|
||||||
return callIntent;
|
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