public void DidChangeToState(HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, NSDate date) { DispatchQueue.MainQueue.DispatchAsync(() => { this.HandleWorkoutSessionState(toState, fromState); }); }
private void HandleWorkoutSessionState(HKWorkoutSessionState toState, HKWorkoutSessionState fromState) { if (fromState == HKWorkoutSessionState.NotStarted && toState == HKWorkoutSessionState.Running) { this.startDate = new NSDate(); this.StartTimer(); this.StartAccumulatingData(); } else if (toState == HKWorkoutSessionState.Ended) { this.StopAccumulatingData(); this.endDate = new NSDate(); this.StopTimer(); this.healthStoreManager.SaveWorkout(workoutSession, this.startDate, this.endDate); } this.UpdateLabels(); this.UpdateStates(); }
public void DidChangeToState(HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, NSDate date) { DispatchQueue.MainQueue.DispatchAsync(delegate { // Take action based on the change in state switch (toState) { case HKWorkoutSessionState.Running: BeginWorkout((DateTime)date); break; case HKWorkoutSessionState.Ended: EndWorkout((DateTime)date); break; default: Console.WriteLine($"Unexpected workout session: {toState}."); break; } }); }
public override void DidChangeToState(HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, NSDate date) { // Take action based on the change in state switch (toState) { case HKWorkoutSessionState.NotStarted: break; case HKWorkoutSessionState.Paused: RaisePaused(); break; case HKWorkoutSessionState.Running: RaiseRunning(); break; case HKWorkoutSessionState.Ended: RaiseEnded(); break; } }
public void DidChangeToState (HKWorkoutSession workoutSession, HKWorkoutSessionState toState, HKWorkoutSessionState fromState, NSDate date) { DispatchQueue.MainQueue.DispatchAsync (delegate { // Take action based on the change in state switch (toState) { case HKWorkoutSessionState.Running: BeginWorkout ((DateTime)date); break; case HKWorkoutSessionState.Ended: EndWorkout ((DateTime)date); break; default: Console.WriteLine ($"Unexpected workout session: {toState}."); break; } }); }