Skip to content

Commit 6778c23

Browse files
authored
Merge pull request #1445 from OneSignal/fix/IAM-not-persisting-after-backgrounding
Remove `messageWasDismissedByBackPress` and `lostFocus` to redisplay IAM after backgrounding app
2 parents 5604baf + d09e80e commit 6778c23

File tree

4 files changed

+3
-19
lines changed

4 files changed

+3
-19
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/ActivityLifecycleHandler.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,6 @@ static class AppFocusRunnable implements Runnable {
276276
public void run() {
277277
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "ActivityLifecycleHandler running AppFocusRunnable");
278278
backgrounded = true;
279-
for (Map.Entry<String, ActivityAvailableListener> entry : sActivityAvailableListeners.entrySet()) {
280-
entry.getValue().lostFocus();
281-
}
282279
OneSignal.onAppLostFocus();
283280
completed = true;
284281
}

OneSignalSDK/onesignal/src/main/java/com/onesignal/OSInAppMessageController.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -688,12 +688,6 @@ void messageWasDismissed(@NonNull OSInAppMessageInternal message, boolean failed
688688
dismissCurrentMessage(message);
689689
}
690690

691-
void messageWasDismissedByBackPress(@NonNull OSInAppMessageInternal message) {
692-
logger.debug("In app message OSInAppMessageController messageWasDismissed by back press: " + message.toString());
693-
// IAM was not dismissed by user, will be redisplay again until user dismiss it
694-
dismissCurrentMessage(message);
695-
}
696-
697691
private boolean shouldWaitForPromptsBeforeDismiss() {
698692
return currentPrompt != null;
699693
}

OneSignalSDK/onesignal/src/main/java/com/onesignal/WebViewManager.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -344,13 +344,6 @@ void stopped(@NonNull Activity activity) {
344344
messageView.removeAllViews();
345345
}
346346

347-
@Override
348-
void lostFocus() {
349-
OneSignal.getInAppMessageController().messageWasDismissedByBackPress(message);
350-
removeActivityListener();
351-
setMessageView(null);
352-
}
353-
354347
private void showMessageView(@Nullable Integer newHeight) {
355348
synchronized (messageViewSyncLock) {
356349
if (messageView == null) {

OneSignalSDK/unittest/src/test/java/com/test/onesignal/InAppMessageIntegrationTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -605,14 +605,14 @@ public void doNotReshowInAppIfDismissed_evenAfterColdRestart() throws Exception
605605
}
606606

607607
@Test
608-
public void doNotReshowInAppUntilTriggerIfAppBackPressed() throws Exception {
608+
public void testReshowInAppMessageIfAppBackgrounded() throws Exception {
609609
// 1. Start app
610610
initializeSdkWithMultiplePendingMessages();
611611
// 2. Trigger showing In App and dismiss it
612612
OneSignal.addTrigger("test_2", 2);
613613
assertEquals(1, OneSignalPackagePrivateHelper.getInAppMessageDisplayQueue().size());
614614
assertTrue(OneSignalPackagePrivateHelper.isInAppMessageShowing());
615-
// 3. Emulate back pressing
615+
// 3. Emulate backgrounding app
616616
pauseActivity(blankActivityController);
617617
blankActivityController.destroy();
618618
threadAndTaskWait();
@@ -621,7 +621,7 @@ public void doNotReshowInAppUntilTriggerIfAppBackPressed() throws Exception {
621621
OneSignalInit();
622622
threadAndTaskWait();
623623
assertEquals(1, OneSignalPackagePrivateHelper.getInAppMessageDisplayQueue().size());
624-
assertFalse(OneSignalPackagePrivateHelper.isInAppMessageShowing());
624+
assertTrue(OneSignalPackagePrivateHelper.isInAppMessageShowing());
625625
}
626626

627627
@Test

0 commit comments

Comments
 (0)