@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