//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); } }
//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); } } }
//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); } } }
//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); } } }
//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); } } }
//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); } }