diff --git a/res/menu/profile_context.xml b/res/menu/profile_context.xml index aa68f333b..de29350f3 100644 --- a/res/menu/profile_context.xml +++ b/res/menu/profile_context.xml @@ -10,6 +10,11 @@ android:icon="@drawable/ic_delete_white_24dp" app:showAsAction="always"/> + + diff --git a/src/org/thoughtcrime/securesms/MessageSelectorFragment.java b/src/org/thoughtcrime/securesms/MessageSelectorFragment.java index 08727fb79..3deae3d04 100644 --- a/src/org/thoughtcrime/securesms/MessageSelectorFragment.java +++ b/src/org/thoughtcrime/securesms/MessageSelectorFragment.java @@ -91,4 +91,8 @@ public abstract class MessageSelectorFragment intent.putExtra(ConversationActivity.STARTING_POSITION_EXTRA, DcMsg.getMessagePosition(dcMsg, dcContext)); startActivity(intent); } + + protected void handleShare(final DcMsg dcMsg) { + dcContext.openForViewOrShare(getContext(), dcMsg.getId(), Intent.ACTION_SEND); + } } diff --git a/src/org/thoughtcrime/securesms/ProfileDocumentsFragment.java b/src/org/thoughtcrime/securesms/ProfileDocumentsFragment.java index 3fc8a1ed1..a52b34f8e 100644 --- a/src/org/thoughtcrime/securesms/ProfileDocumentsFragment.java +++ b/src/org/thoughtcrime/securesms/ProfileDocumentsFragment.java @@ -177,6 +177,7 @@ public class ProfileDocumentsFragment menu.findItem(R.id.details).setVisible(singleSelection); menu.findItem(R.id.show_in_chat).setVisible(singleSelection); menu.findItem(R.id.save).setVisible(singleSelection); + menu.findItem(R.id.share).setVisible(singleSelection); } private ProfileDocumentsAdapter getListAdapter() { @@ -217,6 +218,9 @@ public class ProfileDocumentsFragment handleDeleteMessages(getListAdapter().getSelectedMedia()); mode.finish(); return true; + case R.id.share: + handleShare(getSelectedMessageRecord(getListAdapter().getSelectedMedia())); + return true; case R.id.show_in_chat: handleShowInChat(getSelectedMessageRecord(getListAdapter().getSelectedMedia())); return true; diff --git a/src/org/thoughtcrime/securesms/ProfileGalleryFragment.java b/src/org/thoughtcrime/securesms/ProfileGalleryFragment.java index 771766eff..57277701b 100644 --- a/src/org/thoughtcrime/securesms/ProfileGalleryFragment.java +++ b/src/org/thoughtcrime/securesms/ProfileGalleryFragment.java @@ -189,6 +189,7 @@ public class ProfileGalleryFragment menu.findItem(R.id.details).setVisible(singleSelection); menu.findItem(R.id.show_in_chat).setVisible(singleSelection); menu.findItem(R.id.save).setVisible(singleSelection); + menu.findItem(R.id.share).setVisible(singleSelection); } private ProfileGalleryAdapter getListAdapter() { @@ -229,6 +230,9 @@ public class ProfileGalleryFragment handleDeleteMessages(getListAdapter().getSelectedMedia()); mode.finish(); return true; + case R.id.share: + handleShare(getSelectedMessageRecord(getListAdapter().getSelectedMedia())); + return true; case R.id.show_in_chat: handleShowInChat(getSelectedMessageRecord(getListAdapter().getSelectedMedia())); return true; diff --git a/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java b/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java index 0f9192084..5c556dc8a 100644 --- a/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java +++ b/src/org/thoughtcrime/securesms/ProfileSettingsFragment.java @@ -250,6 +250,10 @@ public class ProfileSettingsFragment extends Fragment mode.getMenuInflater().inflate(R.menu.profile_context, menu); DcChat dcChat = dcContext.getChat(chatId); menu.findItem(R.id.delete).setVisible(!dcChat.isMailingList()); + menu.findItem(R.id.details).setVisible(false); + menu.findItem(R.id.show_in_chat).setVisible(false); + menu.findItem(R.id.save).setVisible(false); + menu.findItem(R.id.share).setVisible(false); mode.setTitle("1"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {