Exemple #1
0
        //Called when new data should be pull from the fitbit API
        private void OnPullFromFitbit(object sender, ElapsedEventArgs eventArgs)
        {
            _fitbitTimer.Interval = Settings.SYNCHRONIZE_INTERVALL_SECOND;

            Logger.WriteToConsole("Try to sync with Fitbit");

            try
            {
                DateTimeOffset latestSync = FitbitConnector.GetLatestSyncDate();
                if (latestSync == DateTimeOffset.MinValue)
                {
                    Logger.WriteToConsole("Can't sync now. No timestamp received.");
                }
                else
                {
                    Logger.WriteToConsole("Latest sync date: " + latestSync.ToString(Settings.FORMAT_DAY_AND_TIME));
                    Database.GetInstance().SetSettings(Settings.LAST_SYNCED_DATE, latestSync.ToString(Settings.FORMAT_DAY_AND_TIME));
                    latestSync = latestSync.AddDays(-1);

                    GetStepData(latestSync);
                    GetActivityData(latestSync);
                    GetHRData(latestSync);
                    GetSleepData(latestSync);
                }
            }
            catch (Exception e)
            {
                Logger.WriteToLogFile(e);
            }
        }
Exemple #2
0
        //Retrieves sleep data from fitbit
        private static void GetSleepData(DateTimeOffset latestSync)
        {
            List <DateTimeOffset> days = DatabaseConnector.GetDaysToSynchronize(DataType.SLEEP);

            foreach (DateTimeOffset day in days)
            {
                Logger.WriteToConsole("Sync sleep: " + day);
                SleepData sleepData = FitbitConnector.GetSleepDataForDay(day);
                DatabaseConnector.SaveSleepData(sleepData, day);
                if (day < latestSync)
                {
                    Logger.WriteToConsole("Finished syncing sleep for day: " + day);
                    DatabaseConnector.SetSynchronizedDay(day, DataType.SLEEP);
                }
            }
        }
Exemple #3
0
        //Retrieves activity data from fitbit
        private static void GetActivityData(DateTimeOffset latestSync)
        {
            List <DateTimeOffset> days = DatabaseConnector.GetDaysToSynchronize(DataType.ACTIVITIES);

            foreach (DateTimeOffset day in days)
            {
                Logger.WriteToConsole("Sync Activity: " + day.ToString(Settings.FORMAT_DAY));
                ActivityData activityData = FitbitConnector.GetActivityDataForDay(day);
                DatabaseConnector.SaveActivityData(activityData, day);
                if (day < latestSync)
                {
                    Logger.WriteToConsole("Finished syncing Activity for day: " + day.ToString(Settings.FORMAT_DAY));
                    DatabaseConnector.SetSynchronizedDay(day, DataType.ACTIVITIES);
                }
            }
        }
Exemple #4
0
        //Retrieves the step data from fitbit
        private static void GetStepData(DateTimeOffset latestSync)
        {
            List <DateTimeOffset> days = DatabaseConnector.GetDaysToSynchronize(DataType.STEPS);

            foreach (DateTimeOffset day in days)
            {
                Logger.WriteToConsole("Sync Steps: " + day.ToString(Settings.FORMAT_DAY));

                if (Settings.IsDetailedCollectionEnabled)
                {
                    StepData stepData = FitbitConnector.GetStepDataForDay(day);
                    DatabaseConnector.SaveStepDataForDay(stepData, day, false);
                }

                StepData aggregatedData = FitbitConnector.GetStepDataAggregatedForDay(day);
                DatabaseConnector.SaveStepDataForDay(aggregatedData, day, true);

                if (day < latestSync)
                {
                    Logger.WriteToConsole("Finished syncing Steps for day: " + day.ToString(Settings.FORMAT_DAY));
                    DatabaseConnector.SetSynchronizedDay(day, DataType.STEPS);
                }
            }
        }
Exemple #5
0
        //Retrieves HR data from fitbit
        private static void GetHRData(DateTimeOffset latestSync)
        {
            List <DateTimeOffset> days = DatabaseConnector.GetDaysToSynchronize(DataType.HR);

            foreach (DateTimeOffset day in days)
            {
                Logger.WriteToConsole("Sync HR: " + day.ToString(Settings.FORMAT_DAY));
                Tuple <List <HeartRateDayData>, List <HeartrateIntraDayData> > hrData = FitbitConnector.GetHeartrateForDay(day);
                DatabaseConnector.SaveHRData(hrData.Item1);

                if (Settings.IsDetailedCollectionEnabled)
                {
                    DatabaseConnector.SaveHRIntradayData(hrData.Item2);
                }

                if (day < latestSync)
                {
                    Logger.WriteToConsole("Finished syncing HR for day: " + day.ToString(Settings.FORMAT_DAY));
                    DatabaseConnector.SetSynchronizedDay(day, DataType.HR);
                }
            }
        }
Exemple #6
0
 //Called when new tokens were received from fitbit
 private void Browser_RegistrationTokenEvent(string token)
 {
     CheckIfSecretsAreAvailable();
     FitbitConnector.GetFirstAccessToken(token);
 }
        public void OpenSettings()
        {
            try
            {
                // Open Settings and get response
                var settings = GetCurrentSettings();

                // Update/Save Settings
                var updatedSettings = Retrospection.Handler.GetInstance().OpenSettings(settings);

                if (updatedSettings.PopUpEnabled.HasValue)
                {
                    if (GetUserEfficiencyTracker() != null)
                    {
                        GetUserEfficiencyTracker().PopUpEnabled = updatedSettings.PopUpEnabled.Value;
                    }
                }
                if (updatedSettings.PopUpInterval.HasValue)
                {
                    if (GetUserEfficiencyTracker() != null)
                    {
                        GetUserEfficiencyTracker().PopUpIntervalInMins = TimeSpan.FromMinutes(updatedSettings.PopUpInterval.Value);
                    }
                }
                if (updatedSettings.UserInputTrackerEnabled.HasValue)
                {
                    if (GetUserInputTracker() != null)
                    {
                        GetUserInputTracker().UserInputTrackerEnabled = updatedSettings.UserInputTrackerEnabled.Value;
                    }
                }
                if (updatedSettings.TimeSpentShowEmailsEnabled.HasValue)
                {
                    if (GetTimeSpentVisualizerVisualizer() != null)
                    {
                        GetTimeSpentVisualizerVisualizer().TimeSpentShowEmailsEnabled = updatedSettings.TimeSpentShowEmailsEnabled.Value;
                    }
                }
                if (updatedSettings.TimeSpentShowProgramsEnabled.HasValue)
                {
                    if (GetTimeSpentVisualizerVisualizer() != null)
                    {
                        GetTimeSpentVisualizerVisualizer().TimeSpentShowProgramsEnabled = updatedSettings.TimeSpentShowProgramsEnabled.Value;
                    }
                }
                if (updatedSettings.OpenRetrospectionInFullScreen.HasValue)
                {
                    Retrospection.Handler.GetInstance().OpenRetrospectionInFullScreen = updatedSettings.OpenRetrospectionInFullScreen.Value;
                }
                if (updatedSettings.Office365ApiEnabled.HasValue)
                {
                    if (GetMSOfficeTracker() != null)
                    {
                        GetMSOfficeTracker().MsOfficeTrackerEnabled = updatedSettings.Office365ApiEnabled.Value;
                    }
                    //if (GetPeopleVisualizer() != null) GetPeopleVisualizer().PeopleVisualizerEnabled = updatedSettings.Office365ApiEnabled.Value;
                }
                if (updatedSettings.FlowLightEnabled.HasValue)
                {
                    FlowLight.Handler.GetInstance().FlowLightEnabled = updatedSettings.FlowLightEnabled.Value;
                }
                if (updatedSettings.FlowLightSkypeForBusinessEnabled.HasValue)
                {
                    FlowLight.Handler.GetInstance().SkypeForBusinessEnabled = updatedSettings.FlowLightSkypeForBusinessEnabled.Value;
                }
                if (updatedSettings.FlowLightAutomaticEnabled.HasValue)
                {
                    FlowLight.Handler.GetInstance().AutomaticEnabled = updatedSettings.FlowLightAutomaticEnabled.Value;
                }
                if (updatedSettings.FlowLightDnDEnabled.HasValue)
                {
                    FlowLight.Handler.GetInstance().DnDEnabled = updatedSettings.FlowLightDnDEnabled.Value;
                }
                if (updatedSettings.FlowLightSensitivityLevel.HasValue)
                {
                    FlowLight.Handler.GetInstance().SensitivityLevel = updatedSettings.FlowLightSensitivityLevel.Value;
                }
                if (updatedSettings.FlowLightBlacklist != null)
                {
                    GetFlowTracker().SetSetting_Application_Blacklist(updatedSettings.FlowLightBlacklist);
                }
                if (updatedSettings.PolarTrackerEnabled.HasValue)
                {
                    if (GetPolarTracker() != null)
                    {
                        GetPolarTracker().ChangeEnableState(updatedSettings.PolarTrackerEnabled);
                    }
                }

                if (updatedSettings.FitbitTrackerEnabled.HasValue)
                {
                    if (GetFitbitTracker() != null)
                    {
                        GetFitbitTracker().ChangeEnabledState(updatedSettings.FitbitTrackerEnabled);
                    }
                }

                if (updatedSettings.FitbitTokenRevoked.HasValue)
                {
                    FitbitConnector.RevokeAccessToken(SecretStorage.GetAccessToken());
                }
            }
            catch (Exception e)
            {
                Logger.WriteToLogFile(e);
            }
        }
 private void Browser_RegistrationTokenEvent(string token)
 {
     FitbitConnector.GetFirstAccessToken(token);
 }
        public void OpenSettings()
        {
            try
            {
                // Open Settings and get response
                var settings = GetCurrentSettings();

                // Update/Save Settings
                var updatedSettings = Retrospection.Handler.GetInstance().OpenSettings(settings);

                if (updatedSettings.PopUpEnabled.HasValue)
                {
                    if (GetUserEfficiencyTracker() != null)
                    {
                        GetUserEfficiencyTracker().PopUpEnabled = updatedSettings.PopUpEnabled.Value;
                    }
                }
                if (updatedSettings.PopUpInterval.HasValue)
                {
                    if (GetUserEfficiencyTracker() != null)
                    {
                        GetUserEfficiencyTracker().PopUpIntervalInMins = TimeSpan.FromMinutes(updatedSettings.PopUpInterval.Value);
                    }
                }
                if (updatedSettings.UserInputTrackerEnabled.HasValue)
                {
                    if (GetUserInputTracker() != null)
                    {
                        GetUserInputTracker().UserInputTrackerEnabled = updatedSettings.UserInputTrackerEnabled.Value;
                    }
                }
                if (updatedSettings.TimeSpentShowEmailsEnabled.HasValue)
                {
                    if (GetTimeSpentVisualizerVisualizer() != null)
                    {
                        GetTimeSpentVisualizerVisualizer().TimeSpentShowEmailsEnabled = updatedSettings.TimeSpentShowEmailsEnabled.Value;
                    }
                }
                if (updatedSettings.TimeSpentHideMeetingsWithoutAttendeesEnabled.HasValue)
                {
                    if (GetTimeSpentVisualizerVisualizer() != null)
                    {
                        GetTimeSpentVisualizerVisualizer().TimeSpentHideMeetingsWithoutAttendeesEnabled = updatedSettings.TimeSpentHideMeetingsWithoutAttendeesEnabled.Value;
                    }
                }
                if (updatedSettings.TimeSpentShowProgramsEnabled.HasValue)
                {
                    if (GetTimeSpentVisualizerVisualizer() != null)
                    {
                        GetTimeSpentVisualizerVisualizer().TimeSpentShowProgramsEnabled = updatedSettings.TimeSpentShowProgramsEnabled.Value;
                    }
                }
                if (updatedSettings.OpenRetrospectionInFullScreen.HasValue)
                {
                    Retrospection.Handler.GetInstance().OpenRetrospectionInFullScreen = updatedSettings.OpenRetrospectionInFullScreen.Value;
                }
                if (updatedSettings.Office365ApiEnabled.HasValue)
                {
                    if (GetMSOfficeTracker() != null)
                    {
                        GetMSOfficeTracker().MsOfficeTrackerEnabled = updatedSettings.Office365ApiEnabled.Value;
                    }
                    //if (GetPeopleVisualizer() != null) GetPeopleVisualizer().PeopleVisualizerEnabled = updatedSettings.Office365ApiEnabled.Value;
                }
                if (updatedSettings.PolarTrackerEnabled.HasValue)
                {
                    if (GetPolarTracker() != null)
                    {
                        GetPolarTracker().ChangeEnableState(updatedSettings.PolarTrackerEnabled);
                    }
                }

                if (updatedSettings.FitbitTrackerEnabled.HasValue)
                {
                    if (GetFitbitTracker() != null)
                    {
                        GetFitbitTracker().ChangeEnabledState(updatedSettings.FitbitTrackerEnabled);
                    }
                }

                if (updatedSettings.FitbitTokenRevoked.HasValue)
                {
                    FitbitConnector.RevokeAccessToken(SecretStorage.GetAccessToken());
                }
            }
            catch (Exception e)
            {
                Logger.WriteToLogFile(e);
            }
        }