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
orSTATUS_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> | |
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 | |
int |
hashCode()
|
String |
toString()
|
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.
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.
public static final int STATUS_SUCCESSFUL
Successfully detected sleep segment in the past day.
Fields
public static final Creator<SleepSegmentEvent> CREATOR
Public Methods
public boolean equals (Object o)
public static List<SleepSegmentEvent> extractEvents (Intent intent)
Extracts the list of SleepSegmentEvent
from an Intent
.
Parameters
intent | the Intent to extract from |
---|
Returns
- a list of
SleepSegmentEvent
s 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)
Checks whether the Intent
has any SleepSegmentEvent
.
Parameters
intent | the Intent to extract from |
---|
Returns
- true if the Intent has events