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