From 78b8918524aa065165c0c382440a287c40338348 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Wed, 2 May 2018 21:23:02 +0200 Subject: added 'view conversation' to context menu --- src/main/java/de/pixart/messenger/ui/SearchActivity.java | 13 ++++++++++--- src/main/res/menu/search_result_context.xml | 3 +++ src/main/res/values/strings.xml | 1 + 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/pixart/messenger/ui/SearchActivity.java b/src/main/java/de/pixart/messenger/ui/SearchActivity.java index 7c43bf37c..298bca6c0 100644 --- a/src/main/java/de/pixart/messenger/ui/SearchActivity.java +++ b/src/main/java/de/pixart/messenger/ui/SearchActivity.java @@ -129,6 +129,9 @@ public class SearchActivity extends XmppActivity implements TextWatcher, OnSearc final Message message = selectedMessageReference.get(); if (message != null) { switch (item.getItemId()) { + case R.id.open_conversation: + switchToConversation(wrap(message.getConversation())); + break; case R.id.share_with: ShareUtil.share(this, message); break; @@ -140,6 +143,7 @@ public class SearchActivity extends XmppActivity implements TextWatcher, OnSearc break; case R.id.quote_message: quote(message); + break; } } return super.onContextItemSelected(item); @@ -148,17 +152,20 @@ public class SearchActivity extends XmppActivity implements TextWatcher, OnSearc private void quote(Message message) { String text = MessageUtils.prepareQuote(message); final Conversational conversational = message.getConversation(); + switchToConversationAndQuote(wrap(message.getConversation()), text); + } + + private Conversation wrap(Conversational conversational) { final Conversation conversation; if (conversational instanceof Conversation) { - conversation = (Conversation) conversational; + return (Conversation) conversational; } else { - conversation = xmppConnectionService.findOrCreateConversation(conversational.getAccount(), + return xmppConnectionService.findOrCreateConversation(conversational.getAccount(), conversational.getJid(), conversational.getMode() == Conversational.MODE_MULTI, true, true); } - switchToConversationAndQuote(conversation, text); } @Override diff --git a/src/main/res/menu/search_result_context.xml b/src/main/res/menu/search_result_context.xml index 9d68233d4..cea8e6cf7 100644 --- a/src/main/res/menu/search_result_context.xml +++ b/src/main/res/menu/search_result_context.xml @@ -29,6 +29,9 @@ + diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index e8edc5d50..281374208 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -783,4 +783,5 @@ Conversations needs access to the microphone Search messages GIF + View conversation -- cgit v1.2.3