ExerciseSessionRecord
  public
  
  final
  
  class
  ExerciseSessionRecord
  
  
  
  
  
  
  
    extends IntervalRecord
  
  
  
  
  
  
  
    
  Captures exercise or a sequence of exercises. This can be a playing game like football or a
 sequence of fitness exercises.
 
Each record needs a start time, end time and session type. In addition, each record has two
 optional independent lists of time intervals: ExerciseSegment represents particular
 exercise within session, ExerciseLap represents a lap time within session.
Summary
| Nested classes | 
|---|
  
    
      | 
        
        
        
        
        class | ExerciseSessionRecord.BuilderBuilder class for ExerciseSessionRecord | 
    
    
| Inherited methods | 
|---|
|  | 
|  | 
| 
    From class
      
        
          java.lang.Object
        
      
      
  
  
  
    | 
        
        
        
        
        
        Object | 
      clone()
      Creates and returns a copy of this object.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this one.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      finalize()
      Called by the garbage collector on an object when garbage collection
 determines that there are no more references to the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        Class<?> | 
      getClass()
      Returns the runtime class of this Object. |  
  
  
    | 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notify()
      Wakes up a single thread that is waiting on this object's
 monitor.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notifyAll()
      Wakes up all threads that are waiting on this object's monitor.
        
    
 |  
  
  
    | 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis, int nanos)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait()
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted.
        
    
 |  | 
Fields
    EXERCISE_DURATION_TOTAL
    
public static final AggregationType<Long> EXERCISE_DURATION_TOTAL
    
    
    
  Metric identifier to retrieve total exercise session duration using aggregate APIs in HealthConnectManager. Calculated in milliseconds.
    
 
Public methods
    equals
    
public boolean equals (Object o)
    
    
    
  Indicates whether some other object is "equal to" this one.
    
    | Parameters | 
|---|
      
        | o | Object: This value may benull. | 
    
    
      | Returns | 
|---|
      
        | boolean | trueif this object is the same as the obj | 
    
 
    getExerciseType
    
public int getExerciseType ()
    
    
    
  Returns exerciseType of this session.
    
      | Returns | 
|---|
      
        | int | Value is ExerciseSessionType.EXERCISE_SESSION_TYPE_UNKNOWN,ExerciseSessionType.EXERCISE_SESSION_TYPE_BADMINTON,ExerciseSessionType.EXERCISE_SESSION_TYPE_BASEBALL,ExerciseSessionType.EXERCISE_SESSION_TYPE_BASKETBALL,ExerciseSessionType.EXERCISE_SESSION_TYPE_BIKING,ExerciseSessionType.EXERCISE_SESSION_TYPE_BIKING_STATIONARY,ExerciseSessionType.EXERCISE_SESSION_TYPE_BOOT_CAMP,ExerciseSessionType.EXERCISE_SESSION_TYPE_BOXING,ExerciseSessionType.EXERCISE_SESSION_TYPE_CALISTHENICS,ExerciseSessionType.EXERCISE_SESSION_TYPE_CRICKET,ExerciseSessionType.EXERCISE_SESSION_TYPE_DANCING,ExerciseSessionType.EXERCISE_SESSION_TYPE_ELLIPTICAL,ExerciseSessionType.EXERCISE_SESSION_TYPE_EXERCISE_CLASS,ExerciseSessionType.EXERCISE_SESSION_TYPE_FENCING,ExerciseSessionType.EXERCISE_SESSION_TYPE_FOOTBALL_AMERICAN,ExerciseSessionType.EXERCISE_SESSION_TYPE_FOOTBALL_AUSTRALIAN,ExerciseSessionType.EXERCISE_SESSION_TYPE_FRISBEE_DISC,ExerciseSessionType.EXERCISE_SESSION_TYPE_GOLF,ExerciseSessionType.EXERCISE_SESSION_TYPE_GUIDED_BREATHING,ExerciseSessionType.EXERCISE_SESSION_TYPE_GYMNASTICS,ExerciseSessionType.EXERCISE_SESSION_TYPE_HANDBALL,ExerciseSessionType.EXERCISE_SESSION_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING,ExerciseSessionType.EXERCISE_SESSION_TYPE_HIKING,ExerciseSessionType.EXERCISE_SESSION_TYPE_ICE_HOCKEY,ExerciseSessionType.EXERCISE_SESSION_TYPE_ICE_SKATING,ExerciseSessionType.EXERCISE_SESSION_TYPE_MARTIAL_ARTS,ExerciseSessionType.EXERCISE_SESSION_TYPE_PADDLING,ExerciseSessionType.EXERCISE_SESSION_TYPE_PARAGLIDING,ExerciseSessionType.EXERCISE_SESSION_TYPE_PILATES,ExerciseSessionType.EXERCISE_SESSION_TYPE_RACQUETBALL,ExerciseSessionType.EXERCISE_SESSION_TYPE_ROCK_CLIMBING,ExerciseSessionType.EXERCISE_SESSION_TYPE_ROLLER_HOCKEY,ExerciseSessionType.EXERCISE_SESSION_TYPE_ROWING,ExerciseSessionType.EXERCISE_SESSION_TYPE_ROWING_MACHINE,ExerciseSessionType.EXERCISE_SESSION_TYPE_RUGBY,ExerciseSessionType.EXERCISE_SESSION_TYPE_RUNNING,ExerciseSessionType.EXERCISE_SESSION_TYPE_RUNNING_TREADMILL,ExerciseSessionType.EXERCISE_SESSION_TYPE_SAILING,ExerciseSessionType.EXERCISE_SESSION_TYPE_SCUBA_DIVING,ExerciseSessionType.EXERCISE_SESSION_TYPE_SKATING,ExerciseSessionType.EXERCISE_SESSION_TYPE_SKIING,ExerciseSessionType.EXERCISE_SESSION_TYPE_SNOWBOARDING,ExerciseSessionType.EXERCISE_SESSION_TYPE_SNOWSHOEING,ExerciseSessionType.EXERCISE_SESSION_TYPE_SOCCER,ExerciseSessionType.EXERCISE_SESSION_TYPE_SOFTBALL,ExerciseSessionType.EXERCISE_SESSION_TYPE_SQUASH,ExerciseSessionType.EXERCISE_SESSION_TYPE_STAIR_CLIMBING,ExerciseSessionType.EXERCISE_SESSION_TYPE_STAIR_CLIMBING_MACHINE,ExerciseSessionType.EXERCISE_SESSION_TYPE_STRENGTH_TRAINING,ExerciseSessionType.EXERCISE_SESSION_TYPE_STRETCHING,ExerciseSessionType.EXERCISE_SESSION_TYPE_SURFING,ExerciseSessionType.EXERCISE_SESSION_TYPE_SWIMMING_OPEN_WATER,ExerciseSessionType.EXERCISE_SESSION_TYPE_SWIMMING_POOL,ExerciseSessionType.EXERCISE_SESSION_TYPE_TABLE_TENNIS,ExerciseSessionType.EXERCISE_SESSION_TYPE_TENNIS,ExerciseSessionType.EXERCISE_SESSION_TYPE_VOLLEYBALL,ExerciseSessionType.EXERCISE_SESSION_TYPE_WALKING,ExerciseSessionType.EXERCISE_SESSION_TYPE_WATER_POLO,ExerciseSessionType.EXERCISE_SESSION_TYPE_WEIGHTLIFTING,ExerciseSessionType.EXERCISE_SESSION_TYPE_WHEELCHAIR,ExerciseSessionType.EXERCISE_SESSION_TYPE_OTHER_WORKOUT, orExerciseSessionType.EXERCISE_SESSION_TYPE_YOGA | 
    
 
    getLaps
    
public List<ExerciseLap> getLaps ()
    
    
    
  Returns laps of this session. Returns empty list if the session doesn't have exercise laps.
    
 
    getNotes
    
public CharSequence getNotes ()
    
    
    
  Returns notes for this activity. Returns null if the session doesn't have notes.
    
 
    getPlannedExerciseSessionId
    
public String getPlannedExerciseSessionId ()
    
    
    
  Returns the ID of the PlannedExerciseSessionRecord that this session was based upon.
 If not set, returns null.
    
 
    getRateOfPerceivedExertion
    
public float getRateOfPerceivedExertion ()
    
    
    
  Gets the rate of perceived exertion (RPE) for this exercise session.
 
Values correspond to the Borg CR10 RPE scale and must be in the range 0 to 10 inclusive.
 0: No exertion (at rest) 1: Very light 2-3: Light 4-5: Moderate 6-7: Hard 8-9: Very hard 10:
 Maximum effort
 
Use hasRateOfPerceivedExertion() to check whether RPE exists for this session.
    
      | Returns | 
|---|
      
        | float | Value is between 0.0f and 10.0f inclusive | 
    
      
  
 
    getRoute
    
public ExerciseRoute getRoute ()
    
    
    
  Returns route of this session. Returns null if the session doesn't have route.
    
 
    getSegments
    
public List<ExerciseSegment> getSegments ()
    
    
    
  Returns segments of this session. Returns empty list if the session doesn't have exercise
 segments.
    
 
    getTitle
    
public CharSequence getTitle ()
    
    
    
  Returns title of this session. Returns null if the session doesn't have title.
    
 
    hasRateOfPerceivedExertion
    
public boolean hasRateOfPerceivedExertion ()
    
    
    
  Returns true if this session has an associated rate of perceived exertion.
    
 
    hasRoute
    
public boolean hasRoute ()
    
    
    
  Returns if this session has recorded route.
    
      | Returns | 
|---|
      
        | boolean | This value cannot be null. | 
    
 
    hashCode
    
public int hashCode ()
    
    
    
  Returns a hash code value for the object.
    
      | Returns | 
|---|
      
        | int | a hash code value for this object. | 
    
 
  
  
    
  
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-09-17 UTC.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-17 UTC."],[],[]]