Skip to content

Commit e2981db

Browse files
Ayyanchira“Akshayevan.greer@iterable.com
authored
Merge changes (#594)
* Merge changes * updates minSdkVersion * Revert "updates minSdkVersion" This reverts commit c4ca0aa. --------- Co-authored-by: “Akshay <“[email protected]”> Co-authored-by: [email protected] <[email protected]>
1 parent 47b9a9a commit e2981db

File tree

4 files changed

+35
-13
lines changed

4 files changed

+35
-13
lines changed

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

+1-1
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()));

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

+26-9
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);

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ public IterableNotificationBuilder createNotification(Context context, Bundle ex
194194
trampolineActivityIntent.setClass(context, IterableTrampolineActivity.class);
195195
trampolineActivityIntent.putExtras(extras);
196196
trampolineActivityIntent.putExtra(IterableConstants.ITERABLE_DATA_ACTION_IDENTIFIER, IterableConstants.ITERABLE_ACTION_DEFAULT);
197-
trampolineActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
197+
trampolineActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
198198

199199
// Action buttons
200200
if (notificationData.getActionButtons() != null) {

iterableapi/src/test/java/com/iterable/iterableapi/IterableInboxTest.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public void testRemoveMessageSuccessCallbackOnSuccessfulResponse() throws Except
9898
final JSONObject responseData = new JSONObject("{\"key\":\"value\"}");
9999
dispatcher.enqueueResponse("/events/inAppConsume", new MockResponse().setResponseCode(200).setBody(responseData.toString()));
100100

101-
inAppManager.removeMessage(inboxMessages.get(0), new IterableHelper.SuccessHandler() {
101+
inAppManager.removeMessage(inboxMessages.get(0), null, null, new IterableHelper.SuccessHandler() {
102102
@Override
103103
public void onSuccess(@NonNull JSONObject data) {
104104
signal.countDown();
@@ -127,7 +127,7 @@ public void testRemoveMessageFailureCallbackOnFailedResponse() throws Exception
127127
final JSONObject responseData = new JSONObject("{\"key\":\"value\"}");
128128
dispatcher.enqueueResponse("/events/inAppConsume", new MockResponse().setResponseCode(500).setBody(responseData.toString()));
129129

130-
inAppManager.removeMessage(inboxMessages.get(0), new IterableHelper.SuccessHandler() {
130+
inAppManager.removeMessage(inboxMessages.get(0), null, null, new IterableHelper.SuccessHandler() {
131131
@Override
132132
public void onSuccess(@NonNull JSONObject data) {
133133
assertFalse(true);
@@ -169,6 +169,11 @@ public void onSuccess(@NonNull JSONObject data) {
169169
callbackCalled[0] = true;
170170
assertTrue(callbackCalled[0]);
171171
}
172+
}, new IterableHelper.FailureHandler() {
173+
@Override
174+
public void onFailure(@NonNull String reason, @Nullable JSONObject data) {
175+
assertFalse(true);
176+
}
172177
});
173178

174179
// Wait for callback to be called

0 commit comments

Comments
 (0)