@@ -40,28 +40,28 @@ public OSSessionManager(@NonNull SessionListener sessionListener, OSTrackerFacto
40
40
}
41
41
42
42
void initSessionFromCache () {
43
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager initSessionFromCache" );
43
+ logger .debug ( "OneSignal SessionManager initSessionFromCache" );
44
44
trackerFactory .initFromCache ();
45
45
}
46
46
47
47
void addSessionIds (@ NonNull JSONObject jsonObject , List <OSInfluence > endingInfluences ) {
48
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager addSessionData with influences: " + endingInfluences .toString ());
48
+ logger .debug ( "OneSignal SessionManager addSessionData with influences: " + endingInfluences .toString ());
49
49
trackerFactory .addSessionData (jsonObject , endingInfluences );
50
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager addSessionIds on jsonObject: " + jsonObject );
50
+ logger .debug ( "OneSignal SessionManager addSessionIds on jsonObject: " + jsonObject );
51
51
}
52
52
53
53
void restartSessionIfNeeded (OneSignal .AppEntryAction entryAction ) {
54
- List <OSChannelTracker > channelTrackers = trackerFactory .getChannelToResetByEntryAction (entryAction );
54
+ List <OSChannelTracker > channelTrackers = trackerFactory .getChannelsToResetByEntryAction (entryAction );
55
55
List <OSInfluence > updatedInfluences = new ArrayList <>();
56
56
57
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager restartSessionIfNeeded with entryAction: " + entryAction + "\n channelTrackers: " + channelTrackers .toString ());
57
+ logger .debug ( "OneSignal SessionManager restartSessionIfNeeded with entryAction: " + entryAction + "\n channelTrackers: " + channelTrackers .toString ());
58
58
for (OSChannelTracker channelTracker : channelTrackers ) {
59
59
JSONArray lastIds = channelTracker .getLastReceivedIds ();
60
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager restartSessionIfNeeded lastIds: " + lastIds );
60
+ logger .debug ( "OneSignal SessionManager restartSessionIfNeeded lastIds: " + lastIds );
61
61
62
62
OSInfluence influence = channelTracker .getCurrentSessionInfluence ();
63
63
boolean updated ;
64
- if (lastIds != null && lastIds .length () > 0 )
64
+ if (lastIds .length () > 0 )
65
65
updated = setSession (channelTracker , OSInfluenceType .INDIRECT , null , lastIds );
66
66
else
67
67
updated = setSession (channelTracker , OSInfluenceType .UNATTRIBUTED , null , null );
@@ -74,34 +74,35 @@ void restartSessionIfNeeded(OneSignal.AppEntryAction entryAction) {
74
74
}
75
75
76
76
void onInAppMessageReceived (@ NonNull String messageId ) {
77
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager onInAppMessageReceived messageId: " + messageId );
77
+ logger .debug ( "OneSignal SessionManager onInAppMessageReceived messageId: " + messageId );
78
78
OSChannelTracker inAppMessageTracker = trackerFactory .getIAMChannelTracker ();
79
79
inAppMessageTracker .saveLastId (messageId );
80
+ inAppMessageTracker .resetAndInitInfluence ();
80
81
}
81
82
82
83
void onDirectInfluenceFromIAMClick (@ NonNull String messageId ) {
83
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager onDirectInfluenceFromIAMClick messageId: " + messageId );
84
+ logger .debug ( "OneSignal SessionManager onDirectInfluenceFromIAMClick messageId: " + messageId );
84
85
OSChannelTracker inAppMessageTracker = trackerFactory .getIAMChannelTracker ();
85
86
// We don't care about ending the session duration because IAM doesn't influence a session
86
87
setSession (inAppMessageTracker , OSInfluenceType .DIRECT , messageId , null );
87
88
}
88
89
89
90
void onDirectInfluenceFromIAMClickFinished () {
90
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager onDirectInfluenceFromIAMClickFinished" );
91
+ logger .debug ( "OneSignal SessionManager onDirectInfluenceFromIAMClickFinished" );
91
92
OSChannelTracker inAppMessageTracker = trackerFactory .getIAMChannelTracker ();
92
93
inAppMessageTracker .resetAndInitInfluence ();
93
94
}
94
95
95
96
void onNotificationReceived (@ Nullable String notificationId ) {
96
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager onNotificationReceived notificationId: " + notificationId );
97
+ logger .debug ( "OneSignal SessionManager onNotificationReceived notificationId: " + notificationId );
97
98
if (notificationId == null || notificationId .isEmpty ())
98
99
return ;
99
100
OSChannelTracker notificationTracker = trackerFactory .getNotificationChannelTracker ();
100
101
notificationTracker .saveLastId (notificationId );
101
102
}
102
103
103
104
void onDirectInfluenceFromNotificationOpen (OneSignal .AppEntryAction entryAction , @ Nullable String notificationId ) {
104
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager onDirectInfluenceFromNotificationOpen notificationId: " + notificationId );
105
+ logger .debug ( "OneSignal SessionManager onDirectInfluenceFromNotificationOpen notificationId: " + notificationId );
105
106
if (notificationId == null || notificationId .isEmpty ())
106
107
return ;
107
108
@@ -126,9 +127,9 @@ void attemptSessionUpgrade(OneSignal.AppEntryAction entryAction) {
126
127
}
127
128
128
129
private void attemptSessionUpgrade (OneSignal .AppEntryAction entryAction , @ Nullable String directId ) {
129
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager attemptSessionUpgrade with entryAction: " + entryAction );
130
+ logger .debug ( "OneSignal SessionManager attemptSessionUpgrade with entryAction: " + entryAction );
130
131
OSChannelTracker channelTrackerByAction = trackerFactory .getChannelByEntryAction (entryAction );
131
- List <OSChannelTracker > channelTrackersToReset = trackerFactory .getChannelToResetByEntryAction (entryAction );
132
+ List <OSChannelTracker > channelTrackersToReset = trackerFactory .getChannelsToResetByEntryAction (entryAction );
132
133
List <OSInfluence > influencesToEnd = new ArrayList <>();
133
134
OSInfluence lastInfluence = null ;
134
135
@@ -143,7 +144,7 @@ private void attemptSessionUpgrade(OneSignal.AppEntryAction entryAction, @Nullab
143
144
}
144
145
145
146
if (updated ) {
146
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager attemptSessionUpgrade channel updated, search for ending direct influences on channels: " + channelTrackersToReset );
147
+ logger .debug ( "OneSignal SessionManager attemptSessionUpgrade channel updated, search for ending direct influences on channels: " + channelTrackersToReset );
147
148
influencesToEnd .add (lastInfluence );
148
149
// Only one session influence channel can be DIRECT at the same time
149
150
// Reset other DIRECT channels, they will init an INDIRECT influence
@@ -155,13 +156,13 @@ private void attemptSessionUpgrade(OneSignal.AppEntryAction entryAction, @Nullab
155
156
}
156
157
}
157
158
}
158
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager attemptSessionUpgrade try UNATTRIBUTED to INDIRECT upgrade" );
159
+ logger .debug ( "OneSignal SessionManager attemptSessionUpgrade try UNATTRIBUTED to INDIRECT upgrade" );
159
160
// We will try to override the UNATTRIBUTED session with INDIRECT
160
161
for (OSChannelTracker channelTracker : channelTrackersToReset ) {
161
162
if (channelTracker .getInfluenceType ().isUnattributed ()) {
162
163
JSONArray lastIds = channelTracker .getLastReceivedIds ();
163
164
// There are new ids for attribution and the application was open again without resetting session
164
- if (lastIds != null && lastIds .length () > 0 && !entryAction .isAppClose ()) {
165
+ if (lastIds .length () > 0 && !entryAction .isAppClose ()) {
165
166
// Save influence to ended it later if needed
166
167
// This influence will be unattributed
167
168
OSInfluence influence = channelTracker .getCurrentSessionInfluence ();
@@ -229,7 +230,7 @@ private boolean willChangeSession(@NonNull OSChannelTracker channelTracker,
229
230
}
230
231
231
232
private void sendSessionEndingWithInfluences (List <OSInfluence > endingInfluences ) {
232
- logger .log ( OneSignal . LOG_LEVEL . DEBUG , "OneSignal SessionManager sendSessionEndingWithInfluences with influences: " + endingInfluences );
233
+ logger .debug ( "OneSignal SessionManager sendSessionEndingWithInfluences with influences: " + endingInfluences );
233
234
// Only end session if there are influences available to end
234
235
if (endingInfluences .size () > 0 )
235
236
sessionListener .onSessionEnding (endingInfluences );
0 commit comments