mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-09 14:28:34 +00:00
Disable multiselect actions for inapplicable message types.
This commit is contained in:
parent
d9c78e5c3e
commit
fc0cfd5188
@ -373,6 +373,7 @@ public class ConversationFragment extends Fragment
|
|||||||
boolean actionMessage = false;
|
boolean actionMessage = false;
|
||||||
boolean hasText = false;
|
boolean hasText = false;
|
||||||
boolean sharedContact = false;
|
boolean sharedContact = false;
|
||||||
|
boolean viewOnce = false;
|
||||||
|
|
||||||
if (actionMode != null && messageRecords.size() == 0) {
|
if (actionMode != null && messageRecords.size() == 0) {
|
||||||
actionMode.finish();
|
actionMode.finish();
|
||||||
@ -392,6 +393,10 @@ public class ConversationFragment extends Fragment
|
|||||||
if (messageRecord.isMms() && !((MmsMessageRecord) messageRecord).getSharedContacts().isEmpty()) {
|
if (messageRecord.isMms() && !((MmsMessageRecord) messageRecord).getSharedContacts().isEmpty()) {
|
||||||
sharedContact = true;
|
sharedContact = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (messageRecord.isViewOnce()) {
|
||||||
|
viewOnce = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (messageRecords.size() > 1) {
|
if (messageRecords.size() > 1) {
|
||||||
@ -405,12 +410,13 @@ public class ConversationFragment extends Fragment
|
|||||||
|
|
||||||
menu.findItem(R.id.menu_context_resend).setVisible(messageRecord.isFailed());
|
menu.findItem(R.id.menu_context_resend).setVisible(messageRecord.isFailed());
|
||||||
menu.findItem(R.id.menu_context_save_attachment).setVisible(!actionMessage &&
|
menu.findItem(R.id.menu_context_save_attachment).setVisible(!actionMessage &&
|
||||||
|
!viewOnce &&
|
||||||
messageRecord.isMms() &&
|
messageRecord.isMms() &&
|
||||||
!messageRecord.isMmsNotification() &&
|
!messageRecord.isMmsNotification() &&
|
||||||
((MediaMmsMessageRecord)messageRecord).containsMediaSlide() &&
|
((MediaMmsMessageRecord)messageRecord).containsMediaSlide() &&
|
||||||
((MediaMmsMessageRecord)messageRecord).getSlideDeck().getStickerSlide() == null);
|
((MediaMmsMessageRecord)messageRecord).getSlideDeck().getStickerSlide() == null);
|
||||||
|
|
||||||
menu.findItem(R.id.menu_context_forward).setVisible(!actionMessage && !sharedContact);
|
menu.findItem(R.id.menu_context_forward).setVisible(!actionMessage && !sharedContact && !viewOnce);
|
||||||
menu.findItem(R.id.menu_context_details).setVisible(!actionMessage);
|
menu.findItem(R.id.menu_context_details).setVisible(!actionMessage);
|
||||||
menu.findItem(R.id.menu_context_reply).setVisible(canReplyToMessage(actionMessage, messageRecord));
|
menu.findItem(R.id.menu_context_reply).setVisible(canReplyToMessage(actionMessage, messageRecord));
|
||||||
}
|
}
|
||||||
@ -561,6 +567,10 @@ public class ConversationFragment extends Fragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void handleForwardMessage(MessageRecord message) {
|
private void handleForwardMessage(MessageRecord message) {
|
||||||
|
if (message.isViewOnce()) {
|
||||||
|
throw new AssertionError("Cannot forward a view-once message.");
|
||||||
|
}
|
||||||
|
|
||||||
listener.onForwardClicked();
|
listener.onForwardClicked();
|
||||||
|
|
||||||
SimpleTask.run(getLifecycle(), () -> {
|
SimpleTask.run(getLifecycle(), () -> {
|
||||||
@ -645,6 +655,10 @@ public class ConversationFragment extends Fragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void handleSaveAttachment(final MediaMmsMessageRecord message) {
|
private void handleSaveAttachment(final MediaMmsMessageRecord message) {
|
||||||
|
if (message.isViewOnce()) {
|
||||||
|
throw new AssertionError("Cannot save a view-once message.");
|
||||||
|
}
|
||||||
|
|
||||||
SaveAttachmentTask.showWarningDialog(getActivity(), new DialogInterface.OnClickListener() {
|
SaveAttachmentTask.showWarningDialog(getActivity(), new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
List<SaveAttachmentTask.Attachment> attachments = Stream.of(message.getSlideDeck().getSlides())
|
List<SaveAttachmentTask.Attachment> attachments = Stream.of(message.getSlideDeck().getSlides())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user