use save API for msgs forwarded to "saved messages"

This commit is contained in:
adbenitez 2025-02-07 12:26:16 +01:00
parent d47196d899
commit ec7807e662

View file

@ -38,9 +38,24 @@ public class SendRelayedMessageUtil {
if (isForwarding(activity)) { if (isForwarding(activity)) {
int[] forwardedMessageIDs = getForwardedMessageIDs(activity); int[] forwardedMessageIDs = getForwardedMessageIDs(activity);
resetRelayingMessageContent(activity); resetRelayingMessageContent(activity);
if (forwardedMessageIDs == null) return;
Util.runOnAnyBackgroundThread(() -> { Util.runOnAnyBackgroundThread(() -> {
for (long chatId : chatIds) { DcContext dcContext = DcHelper.getContext(activity);
handleForwarding(activity, (int) chatId, forwardedMessageIDs); for (long longChatId : chatIds) {
int chatId = (int) longChatId;
if (dcContext.getChat(chatId).isSelfTalk()) {
for (int msgId : forwardedMessageIDs) {
DcMsg msg = dcContext.getMsg(msgId);
if (msg.canSave() && msg.getSavedMsgId() == 0 && msg.getChatId() != chatId) {
dcContext.saveMsgs(new int[]{msgId});
} else {
handleForwarding(activity, chatId, new int[]{msgId});
}
}
} else {
handleForwarding(activity, chatId, forwardedMessageIDs);
}
} }
}); });