Google is committed to advancing racial equity for Black communities. See how.

SleepSegmentEvent

public class SleepSegmentEvent extends Object
implements Parcelable

Represents the result of segmenting sleep after the user is awake. Its contents depend on the status code:

  • If the status code is STATUS_SUCCESSFUL or STATUS_MISSING_DATA, then an instance of this class contains a detected sleep start time and a detected sleep end time. These times represent the beginning and end of sleep during a particular day.
  • If the status code is STATUS_NOT_DETECTED, then an instance of this class contains no other information.

To retrieve any detected sleep start/end times, call getStartTimeMillis() and getEndTimeMillis(), respectively. Note that both of these times are the UNIX epoch time (milliseconds since 1/1/1970 UTC).

The sleep detection result depends on sampled device motion and ambient light readings during the past day. For customized sleep segmentation, use SleepClassifyEvent.

Constant Summary

int STATUS_MISSING_DATA Sleep segment was detected, but there was some missing data near the detected sleep segment.
int STATUS_NOT_DETECTED Sleep segment is not detected in the past day, or there isn't enough confidence that the user slept during the past day.
int STATUS_SUCCESSFUL Successfully detected sleep segment in the past day.

Inherited Constant Summary

Field Summary

public static final Creator<SleepSegmentEvent> CREATOR

Public Method Summary

boolean
static List<SleepSegmentEvent>
extractEvents(Intent intent)
Extract the detected sleep segment events from an Intent.
long
getEndTimeMillis()
If the status is STATUS_SUCCESS or STATUS_MISSING_DATA, this method returns the UNIX epoch time for the moment when the system detects that the user stops sleeping and wakes up.
long
getSegmentDurationMillis()
The amount of elapsed time, in milliseconds, that the system detected that the user was asleep based on the device sensor data.
long
getStartTimeMillis()
If the status is STATUS_SUCCESS or STATUS_MISSING_DATA, this method returns the UNIX epoch time (milliseconds since 1/1/1970 UTC) for the moment when the system detects that the user begins sleeping.
int
getStatus()
Get a status code that indicates whether the system succeeded in detecting sleep and gathering sleep data.
static boolean
hasEvents(Intent intent)
Check whether the Intent has any SleepSegmentEvent.
int
String
void
writeToParcel(Parcel out, int flags)

Inherited Method Summary

Constants

public static final int STATUS_MISSING_DATA

Sleep segment was detected, but there was some missing data near the detected sleep segment. This could happen for a variety of reasons, including the following: the user turned off their device, the user delayed logging into their device after a system reboot or system upgrade, or an event occurred that paused the detection.

Constant Value: 1

public static final int STATUS_NOT_DETECTED

Sleep segment is not detected in the past day, or there isn't enough confidence that the user slept during the past day. This could happen for a variety of reasons, including the following: too much missing data, the user sleeps with the light, the user interacts with their device often, or the user's device doesn't support the sensors needed for sleep detection.

Constant Value: 2

public static final int STATUS_SUCCESSFUL

Successfully detected sleep segment in the past day.

Constant Value: 0

Fields

public static final Creator<SleepSegmentEvent> CREATOR

Public Methods

public boolean equals (Object o)

public static List<SleepSegmentEvent> extractEvents (Intent intent)

Extract the list of SleepSegmentEvent from an Intent.

Parameters
intent the Intent to extract from
Returns
  • a list of SleepSegmentEvents if the intent has events, or an empty list if the intent doesn't contain any events.

public long getEndTimeMillis ()

If the status is STATUS_SUCCESS or STATUS_MISSING_DATA, this method returns the UNIX epoch time for the moment when the system detects that the user stops sleeping and wakes up. If the status is STATUS_NOT_DETECTED, this method returns 0.

Returns
  • the epoch time of the sleep segment end time.

public long getSegmentDurationMillis ()

The amount of elapsed time, in milliseconds, that the system detected that the user was asleep based on the device sensor data. If the status is STATUS_NOT_DETECTED, this method returns 0.

Returns
  • the sleep segment duration in milliseconds.

public long getStartTimeMillis ()

If the status is STATUS_SUCCESS or STATUS_MISSING_DATA, this method returns the UNIX epoch time (milliseconds since 1/1/1970 UTC) for the moment when the system detects that the user begins sleeping. If the status is STATUS_NOT_DETECTED, this method returns 0.

Returns
  • the epoch time of the sleep segment start time

public int getStatus ()

Get a status code that indicates whether the system succeeded in detecting sleep and gathering sleep data.

Returns
  • the status of the sleep segment detection.

public static boolean hasEvents (Intent intent)

Check whether an Intent has any detected sleep segment events.

Parameters
intent the Intent to extract from
Returns
  • true if the Intent has events

public int hashCode ()

public String toString ()

public void writeToParcel (Parcel out, int flags)