Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
Keeperorowner authored Dec 8, 2024
1 parent c40cac3 commit e0df340
Showing 1 changed file with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,11 @@ public static void initProcessing(ClassLoader classLoader) {
XposedHelpers.findAndHookMethod(messagesStorage, AutomationResolver.resolve("MessagesStorage", "markMessagesAsDeletedInternal", AutomationResolver.ResolverType.Method), long.class, ArrayList.class, boolean.class, int.class, int.class, new AbstractMethodHook() {
@Override
protected void beforeMethod(MethodHookParam param) {

long currentUserId = UserConfig.getCurrentUser().getId(); // 获取当前登录用户ID
long deletingUserId = (long) param.args[3]; // 删除消息的用户ID
boolean isCurrentUserDeleting = (deletingUserId == currentUserId);

if (Configs.isAntiRecall()) {
ArrayList<Integer> deletedMessages = new ArrayList<>();

Expand All @@ -339,6 +344,7 @@ protected void beforeMethod(MethodHookParam param) {
channel_id = 0;

for (Integer msgId : original) {
if (isCurrentUserDeleting) { deletedMessages.add(msgId); } else {
DeletedMessageInfo shouldDeletedMessage = isShouldDeletedMessage(channel_id, msgId);
DeletedMessageInfo shouldDeletedMessage2 = isShouldDeletedMessage2(channel_id, msgId);
if (shouldDeletedMessage2 != null || isDeletedMessage(channel_id, msgId) == null) {
Expand All @@ -349,6 +355,7 @@ protected void beforeMethod(MethodHookParam param) {
shouldDeletedMessageInfo2.remove(shouldDeletedMessage2);
}
}
}

ArrayList<Integer> fork = new ArrayList<>(original);
fork.removeAll(deletedMessages);
Expand All @@ -368,6 +375,11 @@ protected void beforeMethod(MethodHookParam param) {
XposedHelpers.findAndHookMethod(messagesStorage, AutomationResolver.resolve("MessagesStorage", "updateDialogsWithDeletedMessagesInternal", AutomationResolver.ResolverType.Method), long.class, long.class, ArrayList.class, ArrayList.class, new AbstractMethodHook() {
@Override
protected void beforeMethod(MethodHookParam param) {

long currentUserId = UserConfig.getCurrentUser().getId(); // 获取当前登录用户ID
long deletingUserId = (long) param.args[3]; // 删除消息的用户ID
boolean isCurrentUserDeleting = (deletingUserId == currentUserId);

if (Configs.isAntiRecall()) {
long channelID = -((long) param.args[1]);
if (channelID > 0)
Expand All @@ -385,6 +397,7 @@ protected void beforeMethod(MethodHookParam param) {
return;

for (Integer msgId : original) {
if (isCurrentUserDeleting) { deletedMessages.add(msgId); } else {
if (isShouldDeletedMessage(channelID, msgId) == null)
if (isDeletedMessage(channelID, msgId) != null)
addShouldDeletedMessage(channelID, msgId);
Expand All @@ -398,6 +411,7 @@ else if (isShouldDeletedMessage2(channelID, msgId) == null)
else
deletedMessages.add(msgId);
}
}

ArrayList<Integer> fork = new ArrayList<>(original);
fork.removeAll(deletedMessages);
Expand Down

0 comments on commit e0df340

Please sign in to comment.