@startuml SensorManager --> AltitudeSumManager LocationManager --> TrackRecordingService ElevationSumManager --> TrackRecordingService TrackRecordingService --> TrackRecordingServiceConnection TrackRecordingService --> CustomContentProvider CustomContentProvider --> Database Database --> CustomContentProvider CustomContentProvider --> TrackDataHub CustomContentProvider --> ShareContentProvider TrackDataHub --> StatisticsRecordingFragment : TrackPoints, TrackStatistics, Waypoints (push) TrackDataHub --> StatisticsRecordedFragment : TrackPoints, TrackStatistics, Waypoints (push) TrackDataHub --> ChartFragment --> ChartView TrackRecordingServiceConnection --> StatisticsRecordingFragment : Sensor data (heartrate, cadence, altitude gain; pull 1s) TrackRecordingServiceConnection --> TrackController : Start time (pull, onStart) @enduml