Skip to content

Commit ce73c36

Browse files
author
“Akshay
committed
[MOB - 6493] - Message read and remove bug fix
1 parent b374b12 commit ce73c36

File tree

2 files changed

+28
-11
lines changed

2 files changed

+28
-11
lines changed

iterableapi-ui/src/main/java/com/iterable/iterableapi/ui/inbox/IterableInboxFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ public void onInboxUpdated() {
244244

245245
@Override
246246
public void onListItemTapped(@NonNull IterableInAppMessage message) {
247-
IterableApi.getInstance().getInAppManager().setRead(message, true, null);
247+
IterableApi.getInstance().getInAppManager().setRead(message, true, null, null);
248248

249249
if (inboxMode == InboxMode.ACTIVITY) {
250250
startActivity(new Intent(getContext(), IterableInboxMessageActivity.class).putExtra(IterableInboxMessageActivity.ARG_MESSAGE_ID, message.getMessageId()));
@@ -255,7 +255,7 @@ public void onListItemTapped(@NonNull IterableInAppMessage message) {
255255

256256
@Override
257257
public void onListItemDeleted(@NonNull IterableInAppMessage message, @NonNull IterableInAppDeleteActionType source) {
258-
IterableApi.getInstance().getInAppManager().removeMessage(message, source, IterableInAppLocation.INBOX, null, null);
258+
IterableApi.getInstance().getInAppManager().removeMessage(message, source, IterableInAppLocation.INBOX);
259259
}
260260

261261
@Override

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

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,16 @@ public synchronized int getUnreadInboxMessagesCount() {
128128
return unreadInboxMessageCount;
129129
}
130130

131+
public synchronized void setRead(@NonNull IterableInAppMessage message, boolean read) {
132+
setRead(message, read, null, null);
133+
}
131134
/**
132135
* Set the read flag on an inbox message
133136
* @param message Inbox message object retrieved from {@link IterableInAppManager#getInboxMessages()}
134137
* @param read Read state flag. true = read, false = unread
135138
* @param successHandler The callback which returns `success`.
136139
*/
137-
public synchronized void setRead(@NonNull IterableInAppMessage message, boolean read, @Nullable IterableHelper.SuccessHandler successHandler) {
140+
public synchronized void setRead(@NonNull IterableInAppMessage message, boolean read, @Nullable IterableHelper.SuccessHandler successHandler, @Nullable IterableHelper.FailureHandler failureHandler) {
138141
message.setRead(read);
139142
if (successHandler != null) {
140143
successHandler.onSuccess(new JSONObject()); // passing blank json object here as onSuccess is @Nonnull
@@ -243,7 +246,7 @@ public void execute(Uri url) {
243246
scheduleProcessing();
244247
}
245248
})) {
246-
setRead(message, true, null);
249+
setRead(message, true, null, null);
247250
if (consume) {
248251
message.markForDeletion(true);
249252
}
@@ -253,16 +256,30 @@ public void execute(Uri url) {
253256
/**
254257
* Remove message from the list
255258
* @param message The message to be removed
256-
* @param successHandler The callback which returns `success`.
257-
* @param failureHandler The callback which returns `failure`.
258259
*/
259-
public synchronized void removeMessage(@NonNull IterableInAppMessage message, @Nullable IterableHelper.SuccessHandler successHandler, @Nullable IterableHelper.FailureHandler failureHandler) {
260-
message.setConsumed(true);
261-
api.inAppConsume(message.getMessageId(), successHandler, failureHandler);
262-
notifyOnChange();
260+
public synchronized void removeMessage(@NonNull IterableInAppMessage message) {
261+
removeMessage(message, null, null, null, null);
263262
}
264263

265-
public synchronized void removeMessage(@NonNull IterableInAppMessage message, @NonNull IterableInAppDeleteActionType source, @NonNull IterableInAppLocation clickLocation, @Nullable IterableHelper.SuccessHandler successHandler, @Nullable IterableHelper.FailureHandler failureHandler) {
264+
/**
265+
* Remove message from the list
266+
* @param message The message to be removed
267+
* @param source Source from where the message removal occured. Use IterableInAppDeleteActionType for available sources
268+
* @param clickLocation Where was the message clicked. Use IterableInAppLocation for available Click Locations
269+
*/
270+
public synchronized void removeMessage(@NonNull IterableInAppMessage message, @NonNull IterableInAppDeleteActionType source, @NonNull IterableInAppLocation clickLocation) {
271+
removeMessage(message, source, clickLocation, null, null);
272+
}
273+
274+
/**
275+
* Remove message from the list
276+
* @param message The message to be removed
277+
* @param source Source from where the message removal occured. Use IterableInAppDeleteActionType for available sources
278+
* @param clickLocation Where was the message clicked. Use IterableInAppLocation for available Click Locations
279+
* @param successHandler The callback which returns `success`.
280+
* @param failureHandler The callback which returns `failure`.
281+
*/
282+
public synchronized void removeMessage(@NonNull IterableInAppMessage message, @Nullable IterableInAppDeleteActionType source, @Nullable IterableInAppLocation clickLocation, @Nullable IterableHelper.SuccessHandler successHandler, @Nullable IterableHelper.FailureHandler failureHandler) {
266283
IterableLogger.printInfo();
267284
message.setConsumed(true);
268285
api.inAppConsume(message, source, clickLocation, successHandler, failureHandler);

0 commit comments

Comments
 (0)