File tree Expand file tree Collapse file tree
iterableapi/src/main/java/com/iterable/iterableapi Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ data class EmbeddedImpressionData(
99 val placementId : Long ,
1010 var displayCount : Int = 0 ,
1111 var duration : Float = 0.0f ,
12- var start : Date ? = null
12+ @Volatile var start : Date ? = null
1313) {
1414 constructor (
1515 messageId: String ,
Original file line number Diff line number Diff line change @@ -108,13 +108,15 @@ public class EmbeddedSessionManager {
108108 }
109109
110110 private fun updateDisplayCountAndDuration (impressionData : EmbeddedImpressionData ): EmbeddedImpressionData {
111- val start = impressionData.start
112- if (start != null ) {
113- impressionData.displayCount = impressionData.displayCount.plus(1 )
114- impressionData.duration =
115- impressionData.duration.plus((Date ().time - start.time) / 1000.0 )
116- .toFloat()
117- impressionData.start = null
111+ synchronized(impressionData) {
112+ val start = impressionData.start
113+ if (start != null ) {
114+ impressionData.displayCount = impressionData.displayCount.plus(1 )
115+ impressionData.duration =
116+ impressionData.duration.plus((Date ().time - start.time) / 1000.0 )
117+ .toFloat()
118+ impressionData.start = null
119+ }
118120 }
119121 return impressionData
120122 }
You can’t perform that action at this time.
0 commit comments