Skip to content

Commit 33580ac

Browse files
authored
Merge pull request #388 from Iterable/jay/MOB-3564-in-app-delivery-tracking
[MOB-3564] ignore messages that are already read for delivery
2 parents b7815ca + 3733809 commit 33580ac

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

iterableapi/src/main/java/com/iterable/iterableapi/IterableInAppManager.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@ private void syncWithRemoteQueue(List<IterableInAppMessage> remoteQueue) {
318318
if (!isInAppStored) {
319319
storage.addMessage(message);
320320
onMessageAdded(message);
321+
321322
changed = true;
322323
}
323324

@@ -337,11 +338,13 @@ private void syncWithRemoteQueue(List<IterableInAppMessage> remoteQueue) {
337338
for (IterableInAppMessage localMessage : storage.getMessages()) {
338339
if (!remoteQueueMap.containsKey(localMessage.getMessageId())) {
339340
storage.removeMessage(localMessage);
341+
340342
changed = true;
341343
}
342344
}
343345

344346
scheduleProcessing();
347+
345348
if (changed) {
346349
notifyOnChange();
347350
}
@@ -407,7 +410,9 @@ public void run() {
407410
}
408411

409412
private void onMessageAdded(IterableInAppMessage message) {
410-
api.trackInAppDelivery(message);
413+
if (!message.isRead()) {
414+
api.trackInAppDelivery(message);
415+
}
411416
}
412417

413418
private boolean isShowingInApp() {

0 commit comments

Comments
 (0)