ExerciseSegment


public final class ExerciseSegment
extends Object

java.lang.Object
   ↳ android.health.connect.datatypes.ExerciseSegment


Represents particular exercise within exercise session (see ExerciseSessionRecord).

Each record contains start and end time of the exercise, exercise type and optional number of repetitions, weight, set index and rate of perceived exertion.

Summary

Nested classes

class ExerciseSegment.Builder

Builder class for ExerciseSegment 

Public methods

boolean equals(Object o)

Indicates whether some other object is "equal to" this one.

Instant getEndTime()
float getRateOfPerceivedExertion()

Gets the rate of perceived exertion (RPE) for this exercise segment.

int getRepetitionsCount()
int getSegmentType()
int getSetIndex()

Gets the set index for this exercise segment.

Instant getStartTime()
Mass getWeight()

Gets the weight associated with this exercise segment.

boolean hasRateOfPerceivedExertion()

Returns true if this segment has an associated rate of perceived exertion.

boolean hasSetIndex()

Returns true if this segment has an associated set index.

int hashCode()

Returns a hash code value for the object.

Inherited methods

Public methods

equals

Added in API level 34
public boolean equals (Object o)

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o Object: the reference object with which to compare.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getEndTime

Added in API level 34
public Instant getEndTime ()

Returns
Instant This value cannot be null.

getRateOfPerceivedExertion

public float getRateOfPerceivedExertion ()

Gets the rate of perceived exertion (RPE) for this exercise segment.

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 segment.

Returns
float Value is between 0.0f and 10.0f inclusive

Throws
IllegalStateException if rate of perceived exertion is not set.

getRepetitionsCount

Added in API level 34
public int getRepetitionsCount ()

Returns
int Value is 0 or greater

getSegmentType

Added in API level 34
public int getSegmentType ()

Returns
int Value is ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_UNKNOWN, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BENCH_SIT_UP, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BIKING, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BIKING_STATIONARY, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_FORWARD_TWIST, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_ELLIPTICAL, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_PILATES, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_ROWING_MACHINE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_RUNNING, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_RUNNING_TREADMILL, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING_MACHINE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_STRETCHING, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_OPEN_WATER, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_POOL, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_UPPER_TWIST, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_WALKING, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_WEIGHTLIFTING, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_WHEELCHAIR, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_OTHER_WORKOUT, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_YOGA, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_ARM_CURL, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BACK_EXTENSION, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BALL_SLAM, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BENCH_PRESS, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_BURPEE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_CRUNCH, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DEADLIFT, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DOUBLE_ARM_TRICEPS_EXTENSION, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_DUMBBELL_ROW, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_FRONT_RAISE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_HIP_THRUST, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_HULA_HOOP, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_JUMPING_JACK, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_JUMP_ROPE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_KETTLEBELL_SWING, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_LATERAL_RAISE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_LAT_PULL_DOWN, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_LEG_CURL, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_LEG_EXTENSION, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_LEG_PRESS, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_LEG_RAISE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_LUNGE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_MOUNTAIN_CLIMBER, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_PLANK, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_PULL_UP, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_PUNCH, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SHOULDER_PRESS, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SIT_UP, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SQUAT, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_FREESTYLE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_BACKSTROKE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_BREASTSTROKE, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_BUTTERFLY, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_MIXED, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_SWIMMING_OTHER, ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_REST, or ExerciseSegmentType.EXERCISE_SEGMENT_TYPE_PAUSE

getSetIndex

public int getSetIndex ()

Gets the set index for this exercise segment.

The set index is a non-negative integer starting at zero.

A set is a group of consecutive repetitions (reps) of a specific exercise performed without a break, e.g. 10 push-ups in a row without stopping.

A set index represents the position of this set relative to other sets in the session. For instance, if an exercise has three sets, they will have setIndex values of 0, 1, and 2 respectively.

Multiple segments may be part of a single set, for example if a collection of activities are considered to be a single set, in which case those segments would have the same set index.

The set index is may also go back to zero in a single ExerciseSession. For example, if three sets of one activity are completed followed by three sets of another, setIndex values of 0, 1, 2, 0, 1, 2 would be expected for those segments.

Use hasSetIndex() to check whether a set index exists for this segment. Multiple segments can share the same set index.

Returns
int Value is 0 or greater

Throws
IllegalStateException if set index is not set.

getStartTime

Added in API level 34
public Instant getStartTime ()

Returns
Instant This value cannot be null.

getWeight

public Mass getWeight ()

Gets the weight associated with this exercise segment.

Returns null if weight is not set.

Returns
Mass

hasRateOfPerceivedExertion

public boolean hasRateOfPerceivedExertion ()

Returns true if this segment has an associated rate of perceived exertion.

Returns
boolean

hasSetIndex

public boolean hasSetIndex ()

Returns true if this segment has an associated set index.

Returns
boolean

hashCode

Added in API level 34
public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

Returns
int a hash code value for this object.