@@ -64,6 +64,7 @@ boolean isBanner() {
64
64
65
65
@ NonNull private Activity activity ;
66
66
@ NonNull private OSInAppMessageInternal message ;
67
+ @ NonNull private OSInAppMessageContent messageContent ;
67
68
68
69
@ Nullable private String currentActivityName = null ;
69
70
private Integer lastPageHeight = null ;
@@ -77,9 +78,10 @@ interface OneSignalGenericCallback {
77
78
void onComplete ();
78
79
}
79
80
80
- protected WebViewManager (@ NonNull OSInAppMessageInternal message , @ NonNull Activity activity ) {
81
+ protected WebViewManager (@ NonNull OSInAppMessageInternal message , @ NonNull Activity activity , @ NonNull OSInAppMessageContent content ) {
81
82
this .message = message ;
82
83
this .activity = activity ;
84
+ this .messageContent = content ;
83
85
}
84
86
85
87
/**
@@ -91,7 +93,7 @@ protected WebViewManager(@NonNull OSInAppMessageInternal message, @NonNull Activ
91
93
*/
92
94
static void showMessageContent (@ NonNull final OSInAppMessageInternal message , @ NonNull final OSInAppMessageContent content ) {
93
95
final Activity currentActivity = OneSignal .getCurrentActivity ();
94
- OneSignal .onesignalLog (OneSignal .LOG_LEVEL .DEBUG , "in app message showHTMLString on currentActivity: " + currentActivity );
96
+ OneSignal .onesignalLog (OneSignal .LOG_LEVEL .DEBUG , "in app message showMessageContent on currentActivity: " + currentActivity );
95
97
/* IMPORTANT
96
98
* This is the starting route for grabbing the current Activity and passing it to InAppMessageView */
97
99
if (currentActivity != null ) {
@@ -103,11 +105,11 @@ static void showMessageContent(@NonNull final OSInAppMessageInternal message, @N
103
105
@ Override
104
106
public void onComplete () {
105
107
lastInstance = null ;
106
- initInAppMessage (currentActivity , message , content . getContentHtml () );
108
+ initInAppMessage (currentActivity , message , content );
107
109
}
108
110
});
109
111
} else {
110
- initInAppMessage (currentActivity , message , content . getContentHtml () );
112
+ initInAppMessage (currentActivity , message , content );
111
113
}
112
114
return ;
113
115
}
@@ -130,14 +132,14 @@ static void dismissCurrentInAppMessage() {
130
132
}
131
133
}
132
134
133
- private static void initInAppMessage (@ NonNull final Activity currentActivity , @ NonNull OSInAppMessageInternal message , @ NonNull String htmlStr ) {
135
+ private static void initInAppMessage (@ NonNull final Activity currentActivity , @ NonNull OSInAppMessageInternal message , @ NonNull OSInAppMessageContent content ) {
134
136
try {
135
137
final String base64Str = Base64 .encodeToString (
136
- htmlStr .getBytes ("UTF-8" ),
138
+ content . getContentHtml () .getBytes ("UTF-8" ),
137
139
Base64 .NO_WRAP
138
140
);
139
141
140
- final WebViewManager webViewManager = new WebViewManager (message , currentActivity );
142
+ final WebViewManager webViewManager = new WebViewManager (message , currentActivity , content );
141
143
lastInstance = webViewManager ;
142
144
143
145
// Web view must be created on the main thread.
@@ -200,7 +202,9 @@ private void handleRenderComplete(JSONObject jsonObject) {
200
202
Position displayType = getDisplayLocation (jsonObject );
201
203
int pageHeight = displayType == Position .FULL_SCREEN ? -1 : getPageHeightData (jsonObject );
202
204
boolean dragToDismissDisabled = getDragToDismissDisabled (jsonObject );
203
- createNewInAppMessageView (displayType , pageHeight , dragToDismissDisabled );
205
+ messageContent .setDisplayLocation (displayType );
206
+ messageContent .setPageHeight (pageHeight );
207
+ createNewInAppMessageView (dragToDismissDisabled );
204
208
}
205
209
206
210
private int getPageHeightData (JSONObject jsonObject ) {
@@ -414,9 +418,9 @@ private void setMessageView(InAppMessageView view) {
414
418
}
415
419
}
416
420
417
- private void createNewInAppMessageView (@ NonNull Position displayLocation , int pageHeight , boolean dragToDismissDisabled ) {
418
- lastPageHeight = pageHeight ;
419
- InAppMessageView newView = new InAppMessageView (webView , displayLocation , pageHeight , message . getDisplayDuration () , dragToDismissDisabled );
421
+ private void createNewInAppMessageView (boolean dragToDismissDisabled ) {
422
+ lastPageHeight = messageContent . getPageHeight () ;
423
+ InAppMessageView newView = new InAppMessageView (webView , messageContent , dragToDismissDisabled );
420
424
setMessageView (newView );
421
425
messageView .setMessageController (new InAppMessageView .InAppMessageViewListener () {
422
426
@ Override
0 commit comments