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) {