@@ -308,22 +308,16 @@ define(function (require, exports, module) {
308308 isHDTracking = prefs . get ( "healthDataTracking" ) ,
309309 isEventDataAlreadySent ;
310310
311- var options = {
312- location : {
313- scope : "default"
314- }
315- } ;
316-
317311 if ( isHDTracking ) {
318- isEventDataAlreadySent = PreferencesManager . getViewState ( Eventparams . eventName ) ;
319- PreferencesManager . setViewState ( Eventparams . eventName , 1 , options ) ;
312+ isEventDataAlreadySent = HealthLogger . analyticsEventMap . get ( Eventparams . eventName ) ;
313+ HealthLogger . analyticsEventMap . set ( Eventparams . eventName , true ) ;
320314 if ( ! isEventDataAlreadySent || forceSend ) {
321315 sendAnalyticsDataToServer ( Eventparams )
322316 . done ( function ( ) {
323- PreferencesManager . setViewState ( Eventparams . eventName , 1 , options ) ;
317+ HealthLogger . analyticsEventMap . set ( Eventparams . eventName , true ) ;
324318 result . resolve ( ) ;
325319 } ) . fail ( function ( ) {
326- PreferencesManager . setViewState ( Eventparams . eventName , 0 , options ) ;
320+ HealthLogger . analyticsEventMap . set ( Eventparams . eventName , false ) ;
327321 result . reject ( ) ;
328322 } ) ;
329323 } else {
@@ -336,6 +330,17 @@ define(function (require, exports, module) {
336330 return result . promise ( ) ;
337331 }
338332
333+ /**
334+ * This function is auto called after 24 hours to empty the map
335+ * Map is used to make sure that we send an event only once per 24 hours
336+ **/
337+
338+ function emptyAnalyticsMap ( ) {
339+ HealthLogger . analyticsEventMap . clear ( ) ;
340+ setTimeout ( emptyAnalyticsMap , ONE_DAY ) ;
341+ }
342+ setTimeout ( emptyAnalyticsMap , ONE_DAY ) ;
343+
339344 // Expose a command to test data sending capability, but limit it to dev environment only
340345 CommandManager . register ( "Sends health data and Analytics data for testing purpose" , "sendHealthData" , function ( ) {
341346 if ( brackets . config . environment === "stage" ) {
0 commit comments