From 00915e56ff236ecb8d0ed084080bc3c3f57fcca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20Kr=C3=BCger?= Date: Tue, 20 Jul 2021 10:46:43 +0200 Subject: [PATCH] Allow only forwarding of regualr text messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also go back directly to the conversation list. Go back history is reseted. Signed-off-by: Tim Krüger --- .../java/com/nextcloud/talk/controllers/ChatController.kt | 8 +++++++- .../talk/controllers/ConversationsListController.java | 8 +++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt index 2875ea51d..0976d71ce 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt @@ -95,6 +95,7 @@ import com.facebook.imagepipeline.image.CloseableImage import com.google.android.flexbox.FlexboxLayout import com.nextcloud.talk.R import com.nextcloud.talk.activities.MagicCallActivity +import com.nextcloud.talk.activities.MainActivity import com.nextcloud.talk.adapters.messages.IncomingLocationMessageViewHolder import com.nextcloud.talk.adapters.messages.IncomingPreviewMessageViewHolder import com.nextcloud.talk.adapters.messages.IncomingVoiceMessageViewHolder @@ -2061,7 +2062,7 @@ class ChatController(args: Bundle) : override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { android.R.id.home -> { - router.popCurrentController() + (activity as MainActivity).resetConversationsList() return true } R.id.conversation_video_call -> { @@ -2168,6 +2169,7 @@ class ChatController(args: Bundle) : R.id.action_forward_message -> { val bundle = Bundle() bundle.putBoolean("forwardMessage", true) + bundle.putString("forwardMessageText", message?.text) getRouter().pushController( RouterTransaction.with(ConversationsListController(bundle)).pushChangeHandler (HorizontalChangeHandler()).popChangeHandler(HorizontalChangeHandler())) @@ -2311,6 +2313,10 @@ class ChatController(args: Bundle) : (message as ChatMessage).user.id.substring(6) != currentConversation?.actorId && currentConversation?.type != Conversation.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL menu.findItem(R.id.action_delete_message).isVisible = isShowMessageDeletionButton(message) + menu.findItem(R.id.action_forward_message).isVisible = ChatMessage.MessageType.REGULAR_TEXT_MESSAGE.equals( + (message as ChatMessage) + .getMessageType() + ) if (menu.hasVisibleItems()) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) { setForceShowIcon(true) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java index 90ca9a081..4462e4e75 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java @@ -139,6 +139,7 @@ public class ConversationsListController extends BaseController implements Searc public static final String TAG = "ConvListController"; public static final int ID_DELETE_CONVERSATION_DIALOG = 0; private static final String KEY_SEARCH_QUERY = "ContactsController.searchQuery"; + private final Bundle bundle; @Inject UserUtils userUtils; @@ -209,6 +210,7 @@ public class ConversationsListController extends BaseController implements Searc super(); setHasOptionsMenu(true); forwardMessage = bundle.getBoolean("forwardMessage"); + this.bundle = bundle; } @Override @@ -760,7 +762,7 @@ public class ConversationsListController extends BaseController implements Searc shareToScreenWasShown = true; handleSharedData(); }else if (forwardMessage) { - forwardMessage(); + openConversation(bundle.getString("forwardMessageText")); } else { openConversation(); } @@ -768,10 +770,6 @@ public class ConversationsListController extends BaseController implements Searc return true; } - private void forwardMessage() { - System.out.println("Add code to forward a message here"); - } - private void handleSharedData() { collectDataFromIntent(); if (!textToPaste.isEmpty()) {