Skip to content

Fragments

TrainingKit Android provides two fragment entry points.

GoFragment

  • Use for classic workouts.
  • Constructor pattern:
kotlin
GoFragment.newInstance(workoutContent, workoutConfig, jwtToken)

WorkoutVideoFragment

  • Use for streaming video workouts.
  • Constructor pattern:
kotlin
WorkoutVideoFragment.newInstance(workoutContent, workoutConfig, jwtToken)

Shared inputs

  • workoutContent: GraphQL session payload.
  • workoutConfig: JSON customization and behavior options.
  • jwtToken: A signed JWT issued by your backend.

Completion callbacks

Both fragment types emit the same workout lifecycle, but through their respective host interfaces.

Lifecycle signalGoFragment classic callbackWorkoutVideoFragment video callbackPurpose
SavesaveWorkout(state: SaveWorkoutState)saveWorkout(saveState: SaveWorkoutState): Promise<*, *, *>Persist completed workout state.
Quit / closecloseGoMode(state: SaveWorkoutState?)Host close handling / goToNextScreen() after the video flowRestore host navigation when the workout is left or finished.
EventtrackEvent(name: Tracking.Event, properties: Map<Tracking.Property, String>?)trackEvent(data: TrackingData)Forward TrainingKit analytics metadata.

Register or implement this handling before the fragment is displayed so completion and tracking signals are not lost.