public final class SleepStageInterval
- Object
- SleepStageInterval
A contiguous span of one
SleepStage inside a SleepSample.Fields
public static final int NO_PLATFORM_CODE = -1 | Returned by getPlatformCode() when the port did not record one. |
Constructors
public SleepStageInterval(SleepStageInterval other) | A copy of other, carrying its platform code. |
public SleepStageInterval(SleepStage stage, long startMillis, long endMillis) | Creates a stage interval. |
Methods
public int getPlatformCode() | The raw platform value, or NO_PLATFORM_CODE. |
public void setPlatformCode(int platformCode) | Records the platform’s own value. |
public SleepStage getStage() | The stage this span was classified as. |
public long getStartMillis() | Inclusive start, epoch millis UTC. |
public long getEndMillis() | Exclusive end, epoch millis UTC. |
public long getDurationMillis() | The length of this span in milliseconds. |
public String toString() | Returns a string representation of the object. |
Inherited methods
Field details
NO_PLATFORM_CODE
public static final int NO_PLATFORM_CODE = -1Returned by
getPlatformCode() when the port did not record one.Constructor details
SleepStageInterval
public SleepStageInterval(SleepStageInterval other)A copy of other, carrying its platform code.
Exists because the platform code is mutable, which is what made the
shallow list copies visible: SleepSample.create and
HealthWire.copyOf copied the list and kept the elements, so a caller
holding an interval it had written – or one handed back by a read –
could change a stored record by setting a code on it, with no write
and no persistence. The list being unmodifiable stopped the shape of
the session changing and not the contents of its parts.
SleepStageInterval
public SleepStageInterval(SleepStage stage, long startMillis, long endMillis)Creates a stage interval.
Throws
IllegalArgumentException- if
stageis null or the end precedes the start.
Method details
getPlatformCode
public int getPlatformCode()The raw platform value, or NO_PLATFORM_CODE.
HKCategoryValueSleepAnalysis on iOS, the Health Connect stage
constant on Android. Meaningless across platforms by design: read it
only after checking which one you are on.
setPlatformCode
public void setPlatformCode(int platformCode)Records the platform’s own value. Called by ports while reading.
getStage
public SleepStage getStage()The stage this span was classified as.
getStartMillis
public long getStartMillis()Inclusive start, epoch millis UTC.
getEndMillis
public long getEndMillis()Exclusive end, epoch millis UTC.
getDurationMillis
public long getDurationMillis()The length of this span in milliseconds.
toString
public String toString()Returns a string representation of the object. In general, the toString method returns a string that “textually represents” this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.
The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@’, and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:
getClass().getName() + ‘@’ + Integer.toHexString(hashCode())