diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java index 84e0039d8d..668fe59f5f 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java @@ -32205,6 +32205,7 @@ private void processSaveMessage() { media.add(info); SendMessagesHelper.prepareSendingMedia(getAccountInstance(), media, getUserConfig().getClientUserId(), null, null, null, null, true, true, null, false, 0, 0, false, null, quickReplyShortcut, getQuickReplyId(), 0, false); } + BulletinFactory.of(ChatActivity.this).showForwardedBulletinWithTag(getUserConfig().getClientUserId(), messages.size()); } else { forwardMessages(messages, false, false, true, 0, getUserConfig().getClientUserId()); createUndoView(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java b/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java index 745cc128ed..ac7d06e1d7 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java @@ -5443,8 +5443,35 @@ public void dismiss() { } else if (id == gallery_menu_qr) { QrHelper.showQrDialog(parentFragment, resourcesProvider, qrResults, true); } else if (id == gallery_menu_save_messages) { - var accountInstance = AccountInstance.getInstance(currentAccount); - accountInstance.getSendMessagesHelper().sendMessage(new ArrayList<>(Collections.singletonList(currentMessageObject)),accountInstance.getUserConfig().getClientUserId(),false, false, true, 0); + boolean noforwards = currentMessageObject != null && (MessagesController.getInstance(currentAccount).isChatNoForwards(currentMessageObject.getChatId()) || (currentMessageObject.messageOwner != null && currentMessageObject.messageOwner.noforwards) || currentMessageObject.hasRevealedExtendedMedia()); + if (noforwards){ + String path = currentMessageObject.messageOwner.attachPath; + if (path != null && !path.isEmpty()) { + File temp = new File(path); + if (!temp.exists()) { + path = null; + } + } + if (path == null || path.isEmpty()) { + path = parentChatActivity.getFileLoader().getPathToMessage(currentMessageObject.messageOwner).toString(); + } + ArrayList media = new ArrayList<>(); + SendMessagesHelper.SendingMediaInfo info = new SendMessagesHelper.SendingMediaInfo(); + info.path = path; + info.thumbPath = null; + info.videoEditedInfo = null; + info.isVideo = path.endsWith(".mp4"); + info.caption = null; + info.entities = null; + info.masks = null; + info.ttl = 0; + media.add(info); + SendMessagesHelper.prepareSendingMedia(parentChatActivity.getAccountInstance(), media, parentChatActivity.getUserConfig().getClientUserId(), null, null, null, null, true, true, null, false, 0, 0, false, null, parentChatActivity.quickReplyShortcut, parentChatActivity.getQuickReplyId(), 0, false); + BulletinFactory.of(fragment).showForwardedBulletinWithTag(parentChatActivity.getUserConfig().getClientUserId(), 1); + } else { + var accountInstance = AccountInstance.getInstance(currentAccount); + accountInstance.getSendMessagesHelper().sendMessage(new ArrayList<>(Collections.singletonList(currentMessageObject)), accountInstance.getUserConfig().getClientUserId(), false, false, true, 0); + } } else if (id == gallery_menu_copy_photo) { MessageUtils.getInstance(currentAccount).addMessageToClipboard(currentMessageObject, () -> { if (BulletinFactory.canShowBulletin(parentFragment)) {