diff --git a/pulse/src/main/java/com/navi/pulse/PulseHelper.kt b/pulse/src/main/java/com/navi/pulse/PulseHelper.kt index cf2857d271..9ed3f6de29 100644 --- a/pulse/src/main/java/com/navi/pulse/PulseHelper.kt +++ b/pulse/src/main/java/com/navi/pulse/PulseHelper.kt @@ -11,6 +11,7 @@ import android.content.Context import com.navi.pulse.event.PulseEventManager import com.navi.pulse.network.PulseRetrofitProvider import com.navi.pulse.util.PulseLogger +import java.util.concurrent.ConcurrentHashMap /** * A helper class that apps can interact with @@ -36,7 +37,15 @@ object PulseHelper { fun trackEvent(eventName: String, properties: Map? = null) { if (eventName.isEmpty()) return - PulseLogger.log("PULSE_EVENT : ", eventName.plus(" ").plus(properties?.toString())) - PulseEventManager.trackEvent(eventName, properties, applicationContext) + //PulseLogger.log("PULSE_EVENT : ", eventName.plus(" ").plus(properties?.toString())) + val propertiesConcurrentHashMap : ConcurrentHashMap = ConcurrentHashMap() + properties?.let { + val iterator = it.entries.iterator() + while (iterator.hasNext()) { + val (key, value) = iterator.next() + propertiesConcurrentHashMap[key] = value + } + } + PulseEventManager.trackEvent(eventName, propertiesConcurrentHashMap, applicationContext) } } diff --git a/pulse/src/main/java/com/navi/pulse/event/PulseEventManager.kt b/pulse/src/main/java/com/navi/pulse/event/PulseEventManager.kt index 380870b04c..c63aec0ae1 100644 --- a/pulse/src/main/java/com/navi/pulse/event/PulseEventManager.kt +++ b/pulse/src/main/java/com/navi/pulse/event/PulseEventManager.kt @@ -32,6 +32,7 @@ import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import java.lang.reflect.Type import java.util.* +import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.Executors import java.util.concurrent.TimeUnit import kotlin.concurrent.fixedRateTimer @@ -45,7 +46,7 @@ object PulseEventManager { fun trackEvent( eventName: String, - properties: Map? = null, + properties: ConcurrentHashMap = ConcurrentHashMap(), applicationContext: Context ) { coroutineDispatcher.executor.execute { diff --git a/pulse/src/main/java/com/navi/pulse/util/PulseUtils.kt b/pulse/src/main/java/com/navi/pulse/util/PulseUtils.kt index e21d4b6dce..cd8dcc1bd1 100644 --- a/pulse/src/main/java/com/navi/pulse/util/PulseUtils.kt +++ b/pulse/src/main/java/com/navi/pulse/util/PulseUtils.kt @@ -19,15 +19,7 @@ import java.util.concurrent.ConcurrentHashMap object PulseUtils { @WorkerThread - fun buildEvent(eventName: String, properties: Map? = null): PulseEvent { - val propertiesConcurrentHashMap: ConcurrentHashMap = ConcurrentHashMap() - properties?.let { - val iterator = it.entries.iterator() - while (iterator.hasNext()) { - val (key, value) = iterator.next() - propertiesConcurrentHashMap[key] = value - } - } + fun buildEvent(eventName: String, propertiesConcurrentHashMap: ConcurrentHashMap = ConcurrentHashMap()): PulseEvent { val timeStamp = System.currentTimeMillis() PulseSDKConfig.getSessionId()?.let { sessionId -> propertiesConcurrentHashMap[SESSION_ID] = sessionId diff --git a/pulse/src/main/java/com/navi/pulse/worker/SyncEventsWorker.kt b/pulse/src/main/java/com/navi/pulse/worker/SyncEventsWorker.kt index 59a4ab8c18..5018e25d9d 100644 --- a/pulse/src/main/java/com/navi/pulse/worker/SyncEventsWorker.kt +++ b/pulse/src/main/java/com/navi/pulse/worker/SyncEventsWorker.kt @@ -11,6 +11,7 @@ import android.content.Context import androidx.work.CoroutineWorker import androidx.work.WorkerParameters import com.navi.pulse.event.PulseEventManager +import java.util.concurrent.ConcurrentHashMap /** * This Worker's only job is to wake up the app, @@ -20,7 +21,7 @@ class SyncEventsWorker(val context: Context, workerParameters: WorkerParameters) CoroutineWorker(context, workerParameters) { override suspend fun doWork(): Result { - PulseEventManager.trackEvent("heartbeat", null, context) + PulseEventManager.trackEvent("heartbeat", ConcurrentHashMap(), context) return Result.success() } } \ No newline at end of file