Skip to content

Commit ecf6f29

Browse files
committed
Enhance SeenTick to handle multiple user JID references for message read storage
1 parent b6da3ca commit ecf6f29

File tree

1 file changed

+12
-3
lines changed
  • app/src/main/java/com/wmods/wppenhacer/xposed/features/general

1 file changed

+12
-3
lines changed

app/src/main/java/com/wmods/wppenhacer/xposed/features/general/SeenTick.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -435,8 +435,12 @@ private void sendBlueTickMsg(FMessageWpp.UserJid userJid, ArrayList<FMessageWpp>
435435
Object sendJob = XposedHelpers.newInstance(
436436
mSendReadClass, userJid.userJid, participant, null, null, messageIds, -1, 1L, false
437437
);
438-
439438
WaJobManagerMethod.invoke(mWaJobManager, sendJob);
439+
440+
Object sendJob2 = XposedHelpers.newInstance(
441+
mSendReadClass, userJid.phoneJid, participant, null, null, messageIds, -1, 1L, false
442+
);
443+
WaJobManagerMethod.invoke(mWaJobManager, sendJob2);
440444
}
441445
} catch (Throwable e) {
442446
logDebug(e);
@@ -445,14 +449,16 @@ private void sendBlueTickMsg(FMessageWpp.UserJid userJid, ArrayList<FMessageWpp>
445449

446450
private void sendBlueTickStatus(FMessageWpp.UserJid currentJid) {
447451
CompletableFuture.runAsync(() -> {
448-
if (statuses.isEmpty() || currentJid == null || currentJid.equals("status_me")) return;
452+
if (statuses.isEmpty() || currentJid == null || "status_me".equals(currentJid)) return;
449453
try {
450454
var arr_s = statuses.stream().map(item -> item.getKey().messageID).toArray(String[]::new);
451455
Arrays.stream(arr_s).forEach(s -> MessageStore.getInstance().storeMessageRead(s));
452456
var userJidSender = WppCore.createUserJid("status@broadcast");
453457
WppCore.setPrivBoolean(arr_s[0] + "_rpass", true);
454-
var sendJob = XposedHelpers.newInstance(mSendReadClass, userJidSender, currentJid.userJid, null, null, arr_s, -1, 0L, false);
458+
var sendJob = XposedHelpers.newInstance(mSendReadClass, userJidSender, currentJid.phoneJid, null, null, arr_s, -1, 0L, false);
455459
WaJobManagerMethod.invoke(mWaJobManager, sendJob);
460+
var sendJob2 = XposedHelpers.newInstance(mSendReadClass, userJidSender, currentJid.userJid, null, null, arr_s, -1, 0L, false);
461+
WaJobManagerMethod.invoke(mWaJobManager, sendJob2);
456462
statuses.clear();
457463
} catch (Throwable e) {
458464
XposedBridge.log("Error: " + e.getMessage());
@@ -477,6 +483,9 @@ private void sendBlueTickMedia(FMessageWpp fMessage) {
477483
var participantInfo = constructor.newInstance(userJid.userJid, participant, rowsId, new String[]{messageId});
478484
var sendJob = XposedHelpers.newInstance(sendPlayerClass, participantInfo, false);
479485
WaJobManagerMethod.invoke(mWaJobManager, sendJob);
486+
var participantInfo2 = constructor.newInstance(userJid.phoneJid, participant, rowsId, new String[]{messageId});
487+
var sendJob2 = XposedHelpers.newInstance(sendPlayerClass, participantInfo2, false);
488+
WaJobManagerMethod.invoke(mWaJobManager, sendJob2);
480489
} catch (Throwable e) {
481490
logDebug(e);
482491
}

0 commit comments

Comments
 (0)