From e3303fe03573e123b66b1833e5a19751c9eede4c Mon Sep 17 00:00:00 2001 From: MarcusStorvangJonassen <95277125+MarcusStorvangJonassen@users.noreply.github.com> Date: Fri, 4 Apr 2025 17:57:17 +0200 Subject: [PATCH] A potential fix for the delay for now --- .../ViewModels/ActivityHistoryViewModel.cs | 22 +++++++++---------- BeSafePlus/Views/ActivityHistoryPage.xaml.cs | 12 ++++++---- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs b/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs index 1da8524..14e2db5 100644 --- a/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs +++ b/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs @@ -74,9 +74,9 @@ namespace BeSafePlus.ViewModels } } } - private void UpdateSteps(int steps) + private async void UpdateSteps(int steps) { - MainThread.BeginInvokeOnMainThread(() => + await MainThread.InvokeOnMainThreadAsync(async () => { AccumulatedSteps = steps; @@ -101,15 +101,7 @@ namespace BeSafePlus.ViewModels TotalStepsThisWeek = WeeklyStepData.Sum(data => data.Steps); - Task.Run(async () => - { - await LoadMonthlySteps(); - - MainThread.BeginInvokeOnMainThread(() => - { - OnPropertyChanged(nameof(TotalStepsThisMonth)); - }); - }); + await LoadMonthlySteps(); OnPropertyChanged(nameof(WeeklyStepData)); @@ -146,7 +138,13 @@ namespace BeSafePlus.ViewModels public int TotalStepsThisMonth { get => _totalStepsThisMonth; - set => SetProperty(ref _totalStepsThisMonth, value); + set + { + if (SetProperty(ref _totalStepsThisMonth, value)) + { + OnPropertyChanged(nameof(TotalStepsThisMonth)); + } + } } public string WeekLabel => GetWeekLabel(); public string MonthLabel => GetMonthLabel(); diff --git a/BeSafePlus/Views/ActivityHistoryPage.xaml.cs b/BeSafePlus/Views/ActivityHistoryPage.xaml.cs index e9cd98c..a6be905 100644 --- a/BeSafePlus/Views/ActivityHistoryPage.xaml.cs +++ b/BeSafePlus/Views/ActivityHistoryPage.xaml.cs @@ -40,13 +40,17 @@ namespace BeSafePlus { base.OnAppearing(); - await _viewModel.LoadStepGoal(); + var loadStepGoalTask = _viewModel.LoadStepGoal(); - await _viewModel.LoadWeeklySteps(); + var loadWeeklyStepsTask = _viewModel.LoadWeeklySteps(); - await _viewModel.LoadMonthlySteps(); + var loadMonthlyStepsTask = _viewModel.LoadMonthlySteps(); - _viewModel.AccumulatedSteps = await _viewModel.GetStepCount(); + var getStepCountTask = _viewModel.GetStepCount(); + + await Task.WhenAll(loadStepGoalTask, loadWeeklyStepsTask, loadMonthlyStepsTask, getStepCountTask); + + _viewModel.AccumulatedSteps = await getStepCountTask; LoadChart(); -- GitLab