Implement distance conversion.
[kraftakt.git] / gfitsync.go
index c5b4b62..28c0685 100644 (file)
@@ -259,6 +259,18 @@ func handleNotification(ctx context.Context, s *fitbit.Subscription) error {
                return fmt.Errorf("gfitClient.SetCalories(%d) = %v", summary.Summary.CaloriesOut, err)
        }
 
+       var distanceMeters float64
+       for _, d := range summary.Summary.Distances {
+               if d.Activity != "total" {
+                       continue
+               }
+               distanceMeters = 1000.0 * d.Distance
+               break
+       }
+       if err := gfitClient.SetDistance(ctx, distanceMeters, tm); err != nil {
+               return fmt.Errorf("gfitClient.SetDistance(%d) = %v", distanceMeters, err)
+       }
+
        if err := gfitClient.SetHeartRate(ctx, summary.Summary.HeartRateZones, summary.Summary.RestingHeartRate, tm); err != nil {
                return fmt.Errorf("gfitClient.SetHeartRate() = %v", err)
        }