Skip to content

Commit e750c00

Browse files
committed
Move inAppMessageLifecycleHandler to OSInAppMessageController
1 parent eb49eb9 commit e750c00

File tree

3 files changed

+29
-12
lines changed

3 files changed

+29
-12
lines changed

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

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class OSInAppMessageController extends OSBackgroundManager implements OSDynamicT
4545

4646
private OSSystemConditionController systemConditionController;
4747
private OSInAppMessageRepository inAppMessageRepository;
48+
private OSInAppMessageLifecycleHandler inAppMessageLifecycleHandler;
4849

4950
OSTriggerController triggerController;
5051

@@ -349,38 +350,42 @@ void onMessageActionOccurredOnPreview(@NonNull final OSInAppMessageInternal mess
349350

350351
/**
351352
* IAM Lifecycle methods
352-
* The following methods call the public inAppMessageLifecycleHandler callbacks
353+
* The following methods call the public OSInAppMessageLifecycleHandler callbacks
353354
*/
355+
void setInAppMessageLifecycleHandler(@Nullable OSInAppMessageLifecycleHandler handler) {
356+
inAppMessageLifecycleHandler = handler;
357+
}
358+
354359
void onMessageWillDisplay(@NonNull final OSInAppMessageInternal message) {
355-
if (OneSignal.inAppMessageLifecycleHandler == null) {
360+
if (inAppMessageLifecycleHandler == null) {
356361
logger.verbose("OSInAppMessageController onMessageWillDisplay: inAppMessageLifecycleHandler is null");
357362
return;
358363
}
359-
OneSignal.inAppMessageLifecycleHandler.onWillDisplayInAppMessage(message);
364+
inAppMessageLifecycleHandler.onWillDisplayInAppMessage(message);
360365
}
361366

362367
void onMessageDidDisplay(@NonNull final OSInAppMessageInternal message) {
363-
if (OneSignal.inAppMessageLifecycleHandler == null) {
368+
if (inAppMessageLifecycleHandler == null) {
364369
logger.verbose("OSInAppMessageController onMessageDidDisplay: inAppMessageLifecycleHandler is null");
365370
return;
366371
}
367-
OneSignal.inAppMessageLifecycleHandler.onDidDisplayInAppMessage(message);
372+
inAppMessageLifecycleHandler.onDidDisplayInAppMessage(message);
368373
}
369374

370375
void onMessageWillDismiss(@NonNull final OSInAppMessageInternal message) {
371-
if (OneSignal.inAppMessageLifecycleHandler == null) {
376+
if (inAppMessageLifecycleHandler == null) {
372377
logger.verbose("OSInAppMessageController onMessageWillDismiss: inAppMessageLifecycleHandler is null");
373378
return;
374379
}
375-
OneSignal.inAppMessageLifecycleHandler.onWillDismissInAppMessage(message);
380+
inAppMessageLifecycleHandler.onWillDismissInAppMessage(message);
376381
}
377382

378383
void onMessageDidDismiss(@NonNull final OSInAppMessageInternal message) {
379-
if (OneSignal.inAppMessageLifecycleHandler == null) {
384+
if (inAppMessageLifecycleHandler == null) {
380385
logger.verbose("OSInAppMessageController onMessageDidDismiss: inAppMessageLifecycleHandler is null");
381386
return;
382387
}
383-
OneSignal.inAppMessageLifecycleHandler.onDidDismissInAppMessage(message);
388+
inAppMessageLifecycleHandler.onDidDismissInAppMessage(message);
384389
}
385390

386391
/* End IAM Lifecycle methods */

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class OSTaskRemoteController extends OSTaskController {
2828
static final String REMOVE_GROUPED_NOTIFICATIONS = "removeGroupedNotifications()";
2929
static final String REMOVE_NOTIFICATION = "removeNotification()";
3030
static final String PAUSE_IN_APP_MESSAGES = "pauseInAppMessages()";
31+
static final String SET_IN_APP_MESSAGE_LIFECYCLE_HANDLER = "setInAppMessageLifecycleHandler()";
3132
static final String APP_LOST_FOCUS = "onAppLostFocus()";
3233
static final String SEND_OUTCOME = "sendOutcome()";
3334
static final String SEND_UNIQUE_OUTCOME = "sendUniqueOutcome()";

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

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,6 @@ static Activity getCurrentActivity() {
376376
static OSNotificationWillShowInForegroundHandler notificationWillShowInForegroundHandler;
377377
static OSNotificationOpenedHandler notificationOpenedHandler;
378378
static OSInAppMessageClickHandler inAppMessageClickHandler;
379-
static OSInAppMessageLifecycleHandler inAppMessageLifecycleHandler;
380379

381380
// Is the init() of OneSignal SDK finished yet
382381
private static boolean initDone;
@@ -741,8 +740,20 @@ public static void setNotificationWillShowInForegroundHandler(@Nullable OSNotifi
741740
notificationWillShowInForegroundHandler = callback;
742741
}
743742

744-
public static void setInAppMessageLifecycleHandler(@Nullable OSInAppMessageLifecycleHandler handler) {
745-
inAppMessageLifecycleHandler = handler;
743+
public static void setInAppMessageLifecycleHandler(@Nullable final OSInAppMessageLifecycleHandler handler) {
744+
if (appContext == null) {
745+
logger.error("Waiting initWithContext. " +
746+
"Moving " + OSTaskRemoteController.SET_IN_APP_MESSAGE_LIFECYCLE_HANDLER + " operation to a pending task queue.");
747+
taskRemoteController.addTaskToQueue(new Runnable() {
748+
@Override
749+
public void run() {
750+
logger.debug("Running " + OSTaskRemoteController.SET_IN_APP_MESSAGE_LIFECYCLE_HANDLER + " operation from pending queue.");
751+
setInAppMessageLifecycleHandler(handler);
752+
}
753+
});
754+
return;
755+
}
756+
getInAppMessageController().setInAppMessageLifecycleHandler(handler);
746757
}
747758

748759
public static void setNotificationOpenedHandler(@Nullable OSNotificationOpenedHandler callback) {

0 commit comments

Comments
 (0)