• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Signature format: 2.0
2package android.health.connect {
3
4  public final class AggregateRecordsGroupedByDurationResponse<T> {
5    method @Nullable public T get(@NonNull android.health.connect.datatypes.AggregationType<T>);
6    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOrigins(@NonNull android.health.connect.datatypes.AggregationType<T>);
7    method @NonNull public java.time.Instant getEndTime();
8    method @NonNull public java.time.Instant getStartTime();
9    method @Nullable public java.time.ZoneOffset getZoneOffset(@NonNull android.health.connect.datatypes.AggregationType<T>);
10  }
11
12  public final class AggregateRecordsGroupedByPeriodResponse<T> {
13    method @Nullable public T get(@NonNull android.health.connect.datatypes.AggregationType<T>);
14    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOrigins(@NonNull android.health.connect.datatypes.AggregationType<T>);
15    method @NonNull public java.time.LocalDateTime getEndTime();
16    method @NonNull public java.time.LocalDateTime getStartTime();
17    method @Nullable public java.time.ZoneOffset getZoneOffset(@NonNull android.health.connect.datatypes.AggregationType<T>);
18  }
19
20  public final class AggregateRecordsRequest<T> {
21    method @NonNull public java.util.Set<android.health.connect.datatypes.AggregationType<T>> getAggregationTypes();
22    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOriginsFilters();
23    method @NonNull public android.health.connect.TimeRangeFilter getTimeRangeFilter();
24  }
25
26  public static final class AggregateRecordsRequest.Builder<T> {
27    ctor public AggregateRecordsRequest.Builder(@NonNull android.health.connect.TimeRangeFilter);
28    method @NonNull public android.health.connect.AggregateRecordsRequest.Builder<T> addAggregationType(@NonNull android.health.connect.datatypes.AggregationType<T>);
29    method @NonNull public android.health.connect.AggregateRecordsRequest.Builder<T> addDataOriginsFilter(@NonNull android.health.connect.datatypes.DataOrigin);
30    method @NonNull public android.health.connect.AggregateRecordsRequest<T> build();
31  }
32
33  public final class AggregateRecordsResponse<T> {
34    method @Nullable public T get(@NonNull android.health.connect.datatypes.AggregationType<T>);
35    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOrigins(@NonNull android.health.connect.datatypes.AggregationType<T>);
36    method @Nullable public java.time.ZoneOffset getZoneOffset(@NonNull android.health.connect.datatypes.AggregationType<T>);
37  }
38
39  public class HealthConnectException extends java.lang.RuntimeException {
40    method public int getErrorCode();
41    field public static final int ERROR_DATA_SYNC_IN_PROGRESS = 8; // 0x8
42    field public static final int ERROR_INTERNAL = 2; // 0x2
43    field public static final int ERROR_INVALID_ARGUMENT = 3; // 0x3
44    field public static final int ERROR_IO = 4; // 0x4
45    field public static final int ERROR_RATE_LIMIT_EXCEEDED = 7; // 0x7
46    field public static final int ERROR_REMOTE = 6; // 0x6
47    field public static final int ERROR_SECURITY = 5; // 0x5
48    field public static final int ERROR_UNKNOWN = 1; // 0x1
49    field public static final int ERROR_UNSUPPORTED_OPERATION = 9; // 0x9
50  }
51
52  public class HealthConnectManager {
53    method @NonNull public <T> void aggregate(@NonNull android.health.connect.AggregateRecordsRequest<T>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.AggregateRecordsResponse<T>,android.health.connect.HealthConnectException>);
54    method public <T> void aggregateGroupByDuration(@NonNull android.health.connect.AggregateRecordsRequest<T>, @NonNull java.time.Duration, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.health.connect.AggregateRecordsGroupedByDurationResponse<T>>,android.health.connect.HealthConnectException>);
55    method public <T> void aggregateGroupByPeriod(@NonNull android.health.connect.AggregateRecordsRequest<T>, @NonNull java.time.Period, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.health.connect.AggregateRecordsGroupedByPeriodResponse<T>>,android.health.connect.HealthConnectException>);
56    method public void deleteRecords(@NonNull java.util.List<android.health.connect.RecordIdFilter>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>);
57    method public void deleteRecords(@NonNull Class<? extends android.health.connect.datatypes.Record>, @NonNull android.health.connect.TimeRangeFilter, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>);
58    method public void getChangeLogToken(@NonNull android.health.connect.changelog.ChangeLogTokenRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.changelog.ChangeLogTokenResponse,android.health.connect.HealthConnectException>);
59    method public void getChangeLogs(@NonNull android.health.connect.changelog.ChangeLogsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.changelog.ChangeLogsResponse,android.health.connect.HealthConnectException>);
60    method public void insertRecords(@NonNull java.util.List<android.health.connect.datatypes.Record>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.InsertRecordsResponse,android.health.connect.HealthConnectException>);
61    method public <T extends android.health.connect.datatypes.Record> void readRecords(@NonNull android.health.connect.ReadRecordsRequest<T>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.ReadRecordsResponse<T>,android.health.connect.HealthConnectException>);
62    method public void updateRecords(@NonNull java.util.List<android.health.connect.datatypes.Record>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>);
63    field public static final String ACTION_MANAGE_HEALTH_PERMISSIONS = "android.health.connect.action.MANAGE_HEALTH_PERMISSIONS";
64    field public static final String ACTION_REQUEST_EXERCISE_ROUTE = "android.health.connect.action.REQUEST_EXERCISE_ROUTE";
65    field public static final String CATEGORY_HEALTH_PERMISSIONS = "android.intent.category.HEALTH_PERMISSIONS";
66    field public static final String EXTRA_EXERCISE_ROUTE = "android.health.connect.extra.EXERCISE_ROUTE";
67    field public static final String EXTRA_SESSION_ID = "android.health.connect.extra.SESSION_ID";
68  }
69
70  public final class HealthPermissions {
71    field public static final String READ_ACTIVE_CALORIES_BURNED = "android.permission.health.READ_ACTIVE_CALORIES_BURNED";
72    field public static final String READ_BASAL_BODY_TEMPERATURE = "android.permission.health.READ_BASAL_BODY_TEMPERATURE";
73    field public static final String READ_BASAL_METABOLIC_RATE = "android.permission.health.READ_BASAL_METABOLIC_RATE";
74    field public static final String READ_BLOOD_GLUCOSE = "android.permission.health.READ_BLOOD_GLUCOSE";
75    field public static final String READ_BLOOD_PRESSURE = "android.permission.health.READ_BLOOD_PRESSURE";
76    field public static final String READ_BODY_FAT = "android.permission.health.READ_BODY_FAT";
77    field public static final String READ_BODY_TEMPERATURE = "android.permission.health.READ_BODY_TEMPERATURE";
78    field public static final String READ_BODY_WATER_MASS = "android.permission.health.READ_BODY_WATER_MASS";
79    field public static final String READ_BONE_MASS = "android.permission.health.READ_BONE_MASS";
80    field public static final String READ_CERVICAL_MUCUS = "android.permission.health.READ_CERVICAL_MUCUS";
81    field public static final String READ_DISTANCE = "android.permission.health.READ_DISTANCE";
82    field public static final String READ_ELEVATION_GAINED = "android.permission.health.READ_ELEVATION_GAINED";
83    field public static final String READ_EXERCISE = "android.permission.health.READ_EXERCISE";
84    field public static final String READ_EXERCISE_ROUTES = "android.permission.health.READ_EXERCISE_ROUTES";
85    field public static final String READ_FLOORS_CLIMBED = "android.permission.health.READ_FLOORS_CLIMBED";
86    field public static final String READ_HEART_RATE = "android.permission.health.READ_HEART_RATE";
87    field public static final String READ_HEART_RATE_VARIABILITY = "android.permission.health.READ_HEART_RATE_VARIABILITY";
88    field public static final String READ_HEIGHT = "android.permission.health.READ_HEIGHT";
89    field public static final String READ_HYDRATION = "android.permission.health.READ_HYDRATION";
90    field public static final String READ_INTERMENSTRUAL_BLEEDING = "android.permission.health.READ_INTERMENSTRUAL_BLEEDING";
91    field public static final String READ_LEAN_BODY_MASS = "android.permission.health.READ_LEAN_BODY_MASS";
92    field public static final String READ_MENSTRUATION = "android.permission.health.READ_MENSTRUATION";
93    field public static final String READ_NUTRITION = "android.permission.health.READ_NUTRITION";
94    field public static final String READ_OVULATION_TEST = "android.permission.health.READ_OVULATION_TEST";
95    field public static final String READ_OXYGEN_SATURATION = "android.permission.health.READ_OXYGEN_SATURATION";
96    field public static final String READ_POWER = "android.permission.health.READ_POWER";
97    field public static final String READ_RESPIRATORY_RATE = "android.permission.health.READ_RESPIRATORY_RATE";
98    field public static final String READ_RESTING_HEART_RATE = "android.permission.health.READ_RESTING_HEART_RATE";
99    field public static final String READ_SEXUAL_ACTIVITY = "android.permission.health.READ_SEXUAL_ACTIVITY";
100    field public static final String READ_SLEEP = "android.permission.health.READ_SLEEP";
101    field public static final String READ_SPEED = "android.permission.health.READ_SPEED";
102    field public static final String READ_STEPS = "android.permission.health.READ_STEPS";
103    field public static final String READ_TOTAL_CALORIES_BURNED = "android.permission.health.READ_TOTAL_CALORIES_BURNED";
104    field public static final String READ_VO2_MAX = "android.permission.health.READ_VO2_MAX";
105    field public static final String READ_WEIGHT = "android.permission.health.READ_WEIGHT";
106    field public static final String READ_WHEELCHAIR_PUSHES = "android.permission.health.READ_WHEELCHAIR_PUSHES";
107    field public static final String WRITE_ACTIVE_CALORIES_BURNED = "android.permission.health.WRITE_ACTIVE_CALORIES_BURNED";
108    field public static final String WRITE_BASAL_BODY_TEMPERATURE = "android.permission.health.WRITE_BASAL_BODY_TEMPERATURE";
109    field public static final String WRITE_BASAL_METABOLIC_RATE = "android.permission.health.WRITE_BASAL_METABOLIC_RATE";
110    field public static final String WRITE_BLOOD_GLUCOSE = "android.permission.health.WRITE_BLOOD_GLUCOSE";
111    field public static final String WRITE_BLOOD_PRESSURE = "android.permission.health.WRITE_BLOOD_PRESSURE";
112    field public static final String WRITE_BODY_FAT = "android.permission.health.WRITE_BODY_FAT";
113    field public static final String WRITE_BODY_TEMPERATURE = "android.permission.health.WRITE_BODY_TEMPERATURE";
114    field public static final String WRITE_BODY_WATER_MASS = "android.permission.health.WRITE_BODY_WATER_MASS";
115    field public static final String WRITE_BONE_MASS = "android.permission.health.WRITE_BONE_MASS";
116    field public static final String WRITE_CERVICAL_MUCUS = "android.permission.health.WRITE_CERVICAL_MUCUS";
117    field public static final String WRITE_DISTANCE = "android.permission.health.WRITE_DISTANCE";
118    field public static final String WRITE_ELEVATION_GAINED = "android.permission.health.WRITE_ELEVATION_GAINED";
119    field public static final String WRITE_EXERCISE = "android.permission.health.WRITE_EXERCISE";
120    field public static final String WRITE_EXERCISE_ROUTE = "android.permission.health.WRITE_EXERCISE_ROUTE";
121    field public static final String WRITE_FLOORS_CLIMBED = "android.permission.health.WRITE_FLOORS_CLIMBED";
122    field public static final String WRITE_HEART_RATE = "android.permission.health.WRITE_HEART_RATE";
123    field public static final String WRITE_HEART_RATE_VARIABILITY = "android.permission.health.WRITE_HEART_RATE_VARIABILITY";
124    field public static final String WRITE_HEIGHT = "android.permission.health.WRITE_HEIGHT";
125    field public static final String WRITE_HYDRATION = "android.permission.health.WRITE_HYDRATION";
126    field public static final String WRITE_INTERMENSTRUAL_BLEEDING = "android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING";
127    field public static final String WRITE_LEAN_BODY_MASS = "android.permission.health.WRITE_LEAN_BODY_MASS";
128    field public static final String WRITE_MENSTRUATION = "android.permission.health.WRITE_MENSTRUATION";
129    field public static final String WRITE_NUTRITION = "android.permission.health.WRITE_NUTRITION";
130    field public static final String WRITE_OVULATION_TEST = "android.permission.health.WRITE_OVULATION_TEST";
131    field public static final String WRITE_OXYGEN_SATURATION = "android.permission.health.WRITE_OXYGEN_SATURATION";
132    field public static final String WRITE_POWER = "android.permission.health.WRITE_POWER";
133    field public static final String WRITE_RESPIRATORY_RATE = "android.permission.health.WRITE_RESPIRATORY_RATE";
134    field public static final String WRITE_RESTING_HEART_RATE = "android.permission.health.WRITE_RESTING_HEART_RATE";
135    field public static final String WRITE_SEXUAL_ACTIVITY = "android.permission.health.WRITE_SEXUAL_ACTIVITY";
136    field public static final String WRITE_SLEEP = "android.permission.health.WRITE_SLEEP";
137    field public static final String WRITE_SPEED = "android.permission.health.WRITE_SPEED";
138    field public static final String WRITE_STEPS = "android.permission.health.WRITE_STEPS";
139    field public static final String WRITE_TOTAL_CALORIES_BURNED = "android.permission.health.WRITE_TOTAL_CALORIES_BURNED";
140    field public static final String WRITE_VO2_MAX = "android.permission.health.WRITE_VO2_MAX";
141    field public static final String WRITE_WEIGHT = "android.permission.health.WRITE_WEIGHT";
142    field public static final String WRITE_WHEELCHAIR_PUSHES = "android.permission.health.WRITE_WHEELCHAIR_PUSHES";
143  }
144
145  public class InsertRecordsResponse {
146    method @NonNull public java.util.List<android.health.connect.datatypes.Record> getRecords();
147  }
148
149  public final class LocalTimeRangeFilter implements android.health.connect.TimeRangeFilter {
150    method @Nullable public java.time.LocalDateTime getEndTime();
151    method @Nullable public java.time.LocalDateTime getStartTime();
152    method @NonNull public boolean isBounded();
153  }
154
155  public static final class LocalTimeRangeFilter.Builder {
156    ctor public LocalTimeRangeFilter.Builder();
157    method @NonNull public android.health.connect.LocalTimeRangeFilter build();
158    method @NonNull public android.health.connect.LocalTimeRangeFilter.Builder setEndTime(@Nullable java.time.LocalDateTime);
159    method @NonNull public android.health.connect.LocalTimeRangeFilter.Builder setStartTime(@Nullable java.time.LocalDateTime);
160  }
161
162  public abstract class ReadRecordsRequest<T extends android.health.connect.datatypes.Record> {
163    method @NonNull public Class<T> getRecordType();
164  }
165
166  public final class ReadRecordsRequestUsingFilters<T extends android.health.connect.datatypes.Record> extends android.health.connect.ReadRecordsRequest<T> {
167    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOrigins();
168    method @IntRange(from=1, to=5000) public int getPageSize();
169    method public long getPageToken();
170    method @Nullable public android.health.connect.TimeRangeFilter getTimeRangeFilter();
171    method public boolean isAscending();
172  }
173
174  public static final class ReadRecordsRequestUsingFilters.Builder<T extends android.health.connect.datatypes.Record> {
175    ctor public ReadRecordsRequestUsingFilters.Builder(@NonNull Class<T>);
176    method @NonNull public android.health.connect.ReadRecordsRequestUsingFilters.Builder<T> addDataOrigins(@NonNull android.health.connect.datatypes.DataOrigin);
177    method @NonNull public android.health.connect.ReadRecordsRequestUsingFilters<T> build();
178    method @NonNull public android.health.connect.ReadRecordsRequestUsingFilters.Builder<T> setAscending(boolean);
179    method @NonNull public android.health.connect.ReadRecordsRequestUsingFilters.Builder<T> setPageSize(@IntRange(from=1, to=5000) int);
180    method @NonNull public android.health.connect.ReadRecordsRequestUsingFilters.Builder<T> setPageToken(long);
181    method @NonNull public android.health.connect.ReadRecordsRequestUsingFilters.Builder<T> setTimeRangeFilter(@Nullable android.health.connect.TimeRangeFilter);
182  }
183
184  public final class ReadRecordsRequestUsingIds<T extends android.health.connect.datatypes.Record> extends android.health.connect.ReadRecordsRequest<T> {
185    method @NonNull public java.util.List<android.health.connect.RecordIdFilter> getRecordIdFilters();
186  }
187
188  public static final class ReadRecordsRequestUsingIds.Builder<T extends android.health.connect.datatypes.Record> {
189    ctor public ReadRecordsRequestUsingIds.Builder(@NonNull Class<T>);
190    method @NonNull public android.health.connect.ReadRecordsRequestUsingIds.Builder<T> addClientRecordId(@NonNull String);
191    method @NonNull public android.health.connect.ReadRecordsRequestUsingIds.Builder<T> addId(@NonNull String);
192    method @NonNull public android.health.connect.ReadRecordsRequestUsingIds<T> build();
193  }
194
195  public class ReadRecordsResponse<T extends android.health.connect.datatypes.Record> {
196    method public long getNextPageToken();
197    method @NonNull public java.util.List<T> getRecords();
198  }
199
200  public class RecordIdFilter {
201    method @NonNull public static android.health.connect.RecordIdFilter fromClientRecordId(@NonNull Class<? extends android.health.connect.datatypes.Record>, @NonNull String);
202    method @NonNull public static android.health.connect.RecordIdFilter fromId(@NonNull Class<? extends android.health.connect.datatypes.Record>, @NonNull String);
203    method @Nullable public String getClientRecordId();
204    method @Nullable public String getId();
205    method @NonNull public Class<? extends android.health.connect.datatypes.Record> getRecordType();
206  }
207
208  public final class TimeInstantRangeFilter implements android.health.connect.TimeRangeFilter {
209    method @Nullable public java.time.Instant getEndTime();
210    method @Nullable public java.time.Instant getStartTime();
211    method @NonNull public boolean isBounded();
212  }
213
214  public static final class TimeInstantRangeFilter.Builder {
215    ctor public TimeInstantRangeFilter.Builder();
216    method @NonNull public android.health.connect.TimeInstantRangeFilter build();
217    method @NonNull public android.health.connect.TimeInstantRangeFilter.Builder setEndTime(@Nullable java.time.Instant);
218    method @NonNull public android.health.connect.TimeInstantRangeFilter.Builder setStartTime(@Nullable java.time.Instant);
219  }
220
221  public interface TimeRangeFilter {
222  }
223
224}
225
226package android.health.connect.changelog {
227
228  public final class ChangeLogTokenRequest implements android.os.Parcelable {
229    method public int describeContents();
230    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOriginFilters();
231    method @NonNull public java.util.Set<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes();
232    method public void writeToParcel(@NonNull android.os.Parcel, int);
233    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.changelog.ChangeLogTokenRequest> CREATOR;
234  }
235
236  public static final class ChangeLogTokenRequest.Builder {
237    ctor public ChangeLogTokenRequest.Builder();
238    method @NonNull public android.health.connect.changelog.ChangeLogTokenRequest.Builder addDataOriginFilter(@NonNull android.health.connect.datatypes.DataOrigin);
239    method @NonNull public android.health.connect.changelog.ChangeLogTokenRequest.Builder addRecordType(@NonNull Class<? extends android.health.connect.datatypes.Record>);
240    method @NonNull public android.health.connect.changelog.ChangeLogTokenRequest build();
241  }
242
243  public final class ChangeLogTokenResponse implements android.os.Parcelable {
244    method public int describeContents();
245    method @NonNull public String getToken();
246    method public void writeToParcel(@NonNull android.os.Parcel, int);
247    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.changelog.ChangeLogTokenResponse> CREATOR;
248  }
249
250  public final class ChangeLogsRequest implements android.os.Parcelable {
251    method public int describeContents();
252    method @IntRange(from=1, to=5000) public int getPageSize();
253    method @NonNull public String getToken();
254    method public void writeToParcel(@NonNull android.os.Parcel, int);
255    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.changelog.ChangeLogsRequest> CREATOR;
256  }
257
258  public static final class ChangeLogsRequest.Builder {
259    ctor public ChangeLogsRequest.Builder(@NonNull String);
260    method @NonNull public android.health.connect.changelog.ChangeLogsRequest build();
261    method @NonNull public android.health.connect.changelog.ChangeLogsRequest.Builder setPageSize(@IntRange(from=1, to=5000) int);
262  }
263
264  public final class ChangeLogsResponse implements android.os.Parcelable {
265    method public int describeContents();
266    method @NonNull public java.util.List<android.health.connect.changelog.ChangeLogsResponse.DeletedLog> getDeletedLogs();
267    method @NonNull public String getNextChangesToken();
268    method @NonNull public java.util.List<android.health.connect.datatypes.Record> getUpsertedRecords();
269    method public boolean hasMorePages();
270    method public void writeToParcel(@NonNull android.os.Parcel, int);
271    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.changelog.ChangeLogsResponse> CREATOR;
272  }
273
274  public static final class ChangeLogsResponse.DeletedLog {
275    ctor public ChangeLogsResponse.DeletedLog(@NonNull String, long);
276    method @NonNull public String getDeletedRecordId();
277    method @NonNull public java.time.Instant getDeletedTime();
278  }
279
280}
281
282package android.health.connect.datatypes {
283
284  public final class ActiveCaloriesBurnedRecord extends android.health.connect.datatypes.IntervalRecord {
285    method @NonNull public android.health.connect.datatypes.units.Energy getEnergy();
286    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy> ACTIVE_CALORIES_TOTAL;
287  }
288
289  public static final class ActiveCaloriesBurnedRecord.Builder {
290    ctor public ActiveCaloriesBurnedRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Energy);
291    method @NonNull public android.health.connect.datatypes.ActiveCaloriesBurnedRecord build();
292    method @NonNull public android.health.connect.datatypes.ActiveCaloriesBurnedRecord.Builder clearEndZoneOffset();
293    method @NonNull public android.health.connect.datatypes.ActiveCaloriesBurnedRecord.Builder clearStartZoneOffset();
294    method @NonNull public android.health.connect.datatypes.ActiveCaloriesBurnedRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
295    method @NonNull public android.health.connect.datatypes.ActiveCaloriesBurnedRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
296  }
297
298  public final class AggregationType<T> {
299  }
300
301  public final class AppInfo {
302    method @Nullable public android.graphics.Bitmap getIcon();
303    method @Nullable public String getName();
304    method @NonNull public String getPackageName();
305  }
306
307  public final class BasalBodyTemperatureRecord extends android.health.connect.datatypes.InstantRecord {
308    method public int getMeasurementLocation();
309    method @NonNull public android.health.connect.datatypes.units.Temperature getTemperature();
310  }
311
312  public static final class BasalBodyTemperatureRecord.Builder {
313    ctor public BasalBodyTemperatureRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, int, @NonNull android.health.connect.datatypes.units.Temperature);
314    method @NonNull public android.health.connect.datatypes.BasalBodyTemperatureRecord build();
315    method @NonNull public android.health.connect.datatypes.BasalBodyTemperatureRecord.Builder clearZoneOffset();
316    method @NonNull public android.health.connect.datatypes.BasalBodyTemperatureRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
317  }
318
319  public final class BasalMetabolicRateRecord extends android.health.connect.datatypes.InstantRecord {
320    method @NonNull public android.health.connect.datatypes.units.Power getBasalMetabolicRate();
321    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy> BASAL_CALORIES_TOTAL;
322  }
323
324  public static final class BasalMetabolicRateRecord.Builder {
325    ctor public BasalMetabolicRateRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Power);
326    method @NonNull public android.health.connect.datatypes.BasalMetabolicRateRecord build();
327    method @NonNull public android.health.connect.datatypes.BasalMetabolicRateRecord.Builder clearZoneOffset();
328    method @NonNull public android.health.connect.datatypes.BasalMetabolicRateRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
329  }
330
331  public final class BloodGlucoseRecord extends android.health.connect.datatypes.InstantRecord {
332    method @NonNull public android.health.connect.datatypes.units.BloodGlucose getLevel();
333    method public int getMealType();
334    method public int getRelationToMeal();
335    method public int getSpecimenSource();
336  }
337
338  public static final class BloodGlucoseRecord.Builder {
339    ctor public BloodGlucoseRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, int, @NonNull android.health.connect.datatypes.units.BloodGlucose, int, int);
340    method @NonNull public android.health.connect.datatypes.BloodGlucoseRecord build();
341    method @NonNull public android.health.connect.datatypes.BloodGlucoseRecord.Builder clearZoneOffset();
342    method @NonNull public android.health.connect.datatypes.BloodGlucoseRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
343  }
344
345  public static final class BloodGlucoseRecord.RelationToMealType {
346    field public static final int RELATION_TO_MEAL_AFTER_MEAL = 4; // 0x4
347    field public static final int RELATION_TO_MEAL_BEFORE_MEAL = 3; // 0x3
348    field public static final int RELATION_TO_MEAL_FASTING = 2; // 0x2
349    field public static final int RELATION_TO_MEAL_GENERAL = 1; // 0x1
350    field public static final int RELATION_TO_MEAL_UNKNOWN = 0; // 0x0
351  }
352
353  public static final class BloodGlucoseRecord.SpecimenSource {
354    field public static final int SPECIMEN_SOURCE_CAPILLARY_BLOOD = 2; // 0x2
355    field public static final int SPECIMEN_SOURCE_INTERSTITIAL_FLUID = 1; // 0x1
356    field public static final int SPECIMEN_SOURCE_PLASMA = 3; // 0x3
357    field public static final int SPECIMEN_SOURCE_SERUM = 4; // 0x4
358    field public static final int SPECIMEN_SOURCE_TEARS = 5; // 0x5
359    field public static final int SPECIMEN_SOURCE_UNKNOWN = 0; // 0x0
360    field public static final int SPECIMEN_SOURCE_WHOLE_BLOOD = 6; // 0x6
361  }
362
363  public final class BloodPressureRecord extends android.health.connect.datatypes.InstantRecord {
364    method public int getBodyPosition();
365    method @NonNull public android.health.connect.datatypes.units.Pressure getDiastolic();
366    method public int getMeasurementLocation();
367    method @NonNull public android.health.connect.datatypes.units.Pressure getSystolic();
368    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure> DIASTOLIC_AVG;
369    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure> DIASTOLIC_MAX;
370    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure> DIASTOLIC_MIN;
371    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure> SYSTOLIC_AVG;
372    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure> SYSTOLIC_MAX;
373    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Pressure> SYSTOLIC_MIN;
374  }
375
376  public static final class BloodPressureRecord.BloodPressureMeasurementLocation {
377    field public static final int BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_UPPER_ARM = 3; // 0x3
378    field public static final int BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_WRIST = 1; // 0x1
379    field public static final int BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_UPPER_ARM = 4; // 0x4
380    field public static final int BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_WRIST = 2; // 0x2
381    field public static final int BLOOD_PRESSURE_MEASUREMENT_LOCATION_UNKNOWN = 0; // 0x0
382  }
383
384  public static final class BloodPressureRecord.BodyPosition {
385    field public static final int BODY_POSITION_LYING_DOWN = 3; // 0x3
386    field public static final int BODY_POSITION_RECLINING = 4; // 0x4
387    field public static final int BODY_POSITION_SITTING_DOWN = 2; // 0x2
388    field public static final int BODY_POSITION_STANDING_UP = 1; // 0x1
389    field public static final int BODY_POSITION_UNKNOWN = 0; // 0x0
390  }
391
392  public static final class BloodPressureRecord.Builder {
393    ctor public BloodPressureRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, int, @NonNull android.health.connect.datatypes.units.Pressure, @NonNull android.health.connect.datatypes.units.Pressure, int);
394    method @NonNull public android.health.connect.datatypes.BloodPressureRecord build();
395    method @NonNull public android.health.connect.datatypes.BloodPressureRecord.Builder clearZoneOffset();
396    method @NonNull public android.health.connect.datatypes.BloodPressureRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
397  }
398
399  public final class BodyFatRecord extends android.health.connect.datatypes.InstantRecord {
400    method @NonNull public android.health.connect.datatypes.units.Percentage getPercentage();
401  }
402
403  public static final class BodyFatRecord.Builder {
404    ctor public BodyFatRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Percentage);
405    method @NonNull public android.health.connect.datatypes.BodyFatRecord build();
406    method @NonNull public android.health.connect.datatypes.BodyFatRecord.Builder clearZoneOffset();
407    method @NonNull public android.health.connect.datatypes.BodyFatRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
408  }
409
410  public final class BodyTemperatureMeasurementLocation {
411    field public static final int MEASUREMENT_LOCATION_ARMPIT = 1; // 0x1
412    field public static final int MEASUREMENT_LOCATION_EAR = 8; // 0x8
413    field public static final int MEASUREMENT_LOCATION_FINGER = 2; // 0x2
414    field public static final int MEASUREMENT_LOCATION_FOREHEAD = 3; // 0x3
415    field public static final int MEASUREMENT_LOCATION_MOUTH = 4; // 0x4
416    field public static final int MEASUREMENT_LOCATION_RECTUM = 5; // 0x5
417    field public static final int MEASUREMENT_LOCATION_TEMPORAL_ARTERY = 6; // 0x6
418    field public static final int MEASUREMENT_LOCATION_TOE = 7; // 0x7
419    field public static final int MEASUREMENT_LOCATION_UNKNOWN = 0; // 0x0
420    field public static final int MEASUREMENT_LOCATION_VAGINA = 10; // 0xa
421    field public static final int MEASUREMENT_LOCATION_WRIST = 9; // 0x9
422  }
423
424  public final class BodyTemperatureRecord extends android.health.connect.datatypes.InstantRecord {
425    method public int getMeasurementLocation();
426    method @NonNull public android.health.connect.datatypes.units.Temperature getTemperature();
427  }
428
429  public static final class BodyTemperatureRecord.Builder {
430    ctor public BodyTemperatureRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, int, @NonNull android.health.connect.datatypes.units.Temperature);
431    method @NonNull public android.health.connect.datatypes.BodyTemperatureRecord build();
432    method @NonNull public android.health.connect.datatypes.BodyTemperatureRecord.Builder clearZoneOffset();
433    method @NonNull public android.health.connect.datatypes.BodyTemperatureRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
434  }
435
436  public final class BodyWaterMassRecord extends android.health.connect.datatypes.InstantRecord {
437    method @NonNull public android.health.connect.datatypes.units.Mass getBodyWaterMass();
438  }
439
440  public static final class BodyWaterMassRecord.Builder {
441    ctor public BodyWaterMassRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Mass);
442    method @NonNull public android.health.connect.datatypes.BodyWaterMassRecord build();
443    method @NonNull public android.health.connect.datatypes.BodyWaterMassRecord.Builder clearZoneOffset();
444    method @NonNull public android.health.connect.datatypes.BodyWaterMassRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
445  }
446
447  public final class BoneMassRecord extends android.health.connect.datatypes.InstantRecord {
448    method @NonNull public android.health.connect.datatypes.units.Mass getMass();
449  }
450
451  public static final class BoneMassRecord.Builder {
452    ctor public BoneMassRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Mass);
453    method @NonNull public android.health.connect.datatypes.BoneMassRecord build();
454    method @NonNull public android.health.connect.datatypes.BoneMassRecord.Builder clearZoneOffset();
455    method @NonNull public android.health.connect.datatypes.BoneMassRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
456  }
457
458  public final class CervicalMucusRecord extends android.health.connect.datatypes.InstantRecord {
459    method public int getAppearance();
460    method public int getSensation();
461  }
462
463  public static final class CervicalMucusRecord.Builder {
464    ctor public CervicalMucusRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, int, int);
465    method @NonNull public android.health.connect.datatypes.CervicalMucusRecord build();
466    method @NonNull public android.health.connect.datatypes.CervicalMucusRecord.Builder clearZoneOffset();
467    method @NonNull public android.health.connect.datatypes.CervicalMucusRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
468  }
469
470  public static final class CervicalMucusRecord.CervicalMucusAppearance {
471    field public static final int APPEARANCE_CREAMY = 3; // 0x3
472    field public static final int APPEARANCE_DRY = 1; // 0x1
473    field public static final int APPEARANCE_EGG_WHITE = 5; // 0x5
474    field public static final int APPEARANCE_STICKY = 2; // 0x2
475    field public static final int APPEARANCE_UNKNOWN = 0; // 0x0
476    field public static final int APPEARANCE_UNUSUAL = 6; // 0x6
477    field public static final int APPEARANCE_WATERY = 4; // 0x4
478  }
479
480  public static final class CervicalMucusRecord.CervicalMucusSensation {
481    field public static final int SENSATION_HEAVY = 3; // 0x3
482    field public static final int SENSATION_LIGHT = 1; // 0x1
483    field public static final int SENSATION_MEDIUM = 2; // 0x2
484    field public static final int SENSATION_UNKNOWN = 0; // 0x0
485  }
486
487  public final class CyclingPedalingCadenceRecord extends android.health.connect.datatypes.IntervalRecord {
488    method @NonNull public java.util.List<android.health.connect.datatypes.CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample> getSamples();
489    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Double> RPM_AVG;
490    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Double> RPM_MAX;
491    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Double> RPM_MIN;
492  }
493
494  public static final class CyclingPedalingCadenceRecord.Builder {
495    ctor public CyclingPedalingCadenceRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull java.util.List<android.health.connect.datatypes.CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample>);
496    method @NonNull public android.health.connect.datatypes.CyclingPedalingCadenceRecord build();
497    method @NonNull public android.health.connect.datatypes.CyclingPedalingCadenceRecord.Builder clearEndZoneOffset();
498    method @NonNull public android.health.connect.datatypes.CyclingPedalingCadenceRecord.Builder clearStartZoneOffset();
499    method @NonNull public android.health.connect.datatypes.CyclingPedalingCadenceRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
500    method @NonNull public android.health.connect.datatypes.CyclingPedalingCadenceRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
501  }
502
503  public static final class CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample {
504    ctor public CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample(double, @NonNull java.time.Instant);
505    method public double getRevolutionsPerMinute();
506    method @NonNull public java.time.Instant getTime();
507  }
508
509  public final class DataOrigin {
510    method @NonNull public String getPackageName();
511  }
512
513  public static final class DataOrigin.Builder {
514    ctor public DataOrigin.Builder();
515    method @NonNull public android.health.connect.datatypes.DataOrigin build();
516    method @NonNull public android.health.connect.datatypes.DataOrigin.Builder setPackageName(@NonNull String);
517  }
518
519  public final class Device {
520    method @Nullable public String getManufacturer();
521    method @Nullable public String getModel();
522    method public int getType();
523    field public static final int DEVICE_TYPE_CHEST_STRAP = 7; // 0x7
524    field public static final int DEVICE_TYPE_FITNESS_BAND = 6; // 0x6
525    field public static final int DEVICE_TYPE_HEAD_MOUNTED = 5; // 0x5
526    field public static final int DEVICE_TYPE_PHONE = 2; // 0x2
527    field public static final int DEVICE_TYPE_RING = 4; // 0x4
528    field public static final int DEVICE_TYPE_SCALE = 3; // 0x3
529    field public static final int DEVICE_TYPE_SMART_DISPLAY = 8; // 0x8
530    field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
531    field public static final int DEVICE_TYPE_WATCH = 1; // 0x1
532  }
533
534  public static final class Device.Builder {
535    ctor public Device.Builder();
536    method @NonNull public android.health.connect.datatypes.Device build();
537    method @NonNull public android.health.connect.datatypes.Device.Builder setManufacturer(@Nullable String);
538    method @NonNull public android.health.connect.datatypes.Device.Builder setModel(@Nullable String);
539    method @NonNull public android.health.connect.datatypes.Device.Builder setType(int);
540  }
541
542  public final class DistanceRecord extends android.health.connect.datatypes.IntervalRecord {
543    method @NonNull public android.health.connect.datatypes.units.Length getDistance();
544    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length> DISTANCE_TOTAL;
545  }
546
547  public static final class DistanceRecord.Builder {
548    ctor public DistanceRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Length);
549    method @NonNull public android.health.connect.datatypes.DistanceRecord build();
550    method @NonNull public android.health.connect.datatypes.DistanceRecord.Builder clearEndZoneOffset();
551    method @NonNull public android.health.connect.datatypes.DistanceRecord.Builder clearStartZoneOffset();
552    method @NonNull public android.health.connect.datatypes.DistanceRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
553    method @NonNull public android.health.connect.datatypes.DistanceRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
554  }
555
556  public final class ElevationGainedRecord extends android.health.connect.datatypes.IntervalRecord {
557    method @NonNull public android.health.connect.datatypes.units.Length getElevation();
558    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length> ELEVATION_GAINED_TOTAL;
559  }
560
561  public static final class ElevationGainedRecord.Builder {
562    ctor public ElevationGainedRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Length);
563    method @NonNull public android.health.connect.datatypes.ElevationGainedRecord build();
564    method @NonNull public android.health.connect.datatypes.ElevationGainedRecord.Builder clearEndZoneOffset();
565    method @NonNull public android.health.connect.datatypes.ElevationGainedRecord.Builder clearStartZoneOffset();
566    method @NonNull public android.health.connect.datatypes.ElevationGainedRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
567    method @NonNull public android.health.connect.datatypes.ElevationGainedRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
568  }
569
570  public final class ExerciseLap {
571    method @NonNull public java.time.Instant getEndTime();
572    method @Nullable public android.health.connect.datatypes.units.Length getLength();
573    method @NonNull public java.time.Instant getStartTime();
574  }
575
576  public static final class ExerciseLap.Builder {
577    ctor public ExerciseLap.Builder(@NonNull java.time.Instant, @NonNull java.time.Instant);
578    method @NonNull public android.health.connect.datatypes.ExerciseLap build();
579    method @NonNull public android.health.connect.datatypes.ExerciseLap.Builder setLength(@NonNull android.health.connect.datatypes.units.Length);
580  }
581
582  public final class ExerciseRoute implements android.os.Parcelable {
583    ctor public ExerciseRoute(@NonNull java.util.List<android.health.connect.datatypes.ExerciseRoute.Location>);
584    method public int describeContents();
585    method @NonNull public java.util.List<android.health.connect.datatypes.ExerciseRoute.Location> getRouteLocations();
586    method public void writeToParcel(@NonNull android.os.Parcel, int);
587    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.datatypes.ExerciseRoute> CREATOR;
588  }
589
590  public static final class ExerciseRoute.Location implements android.os.Parcelable {
591    method public int describeContents();
592    method @Nullable public android.health.connect.datatypes.units.Length getAltitude();
593    method @Nullable public android.health.connect.datatypes.units.Length getHorizontalAccuracy();
594    method @FloatRange(from=-90.0, to=90.0) public double getLatitude();
595    method @FloatRange(from=-180.0, to=180.0) public double getLongitude();
596    method @NonNull public java.time.Instant getTime();
597    method @Nullable public android.health.connect.datatypes.units.Length getVerticalAccuracy();
598    method public void writeToParcel(@NonNull android.os.Parcel, int);
599    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.datatypes.ExerciseRoute.Location> CREATOR;
600  }
601
602  public static final class ExerciseRoute.Location.Builder {
603    ctor public ExerciseRoute.Location.Builder(@NonNull java.time.Instant, @FloatRange(from=-90.0, to=90.0) double, @FloatRange(from=-180.0, to=180.0) double);
604    method @NonNull public android.health.connect.datatypes.ExerciseRoute.Location build();
605    method @NonNull public android.health.connect.datatypes.ExerciseRoute.Location.Builder setAltitude(@NonNull android.health.connect.datatypes.units.Length);
606    method @NonNull public android.health.connect.datatypes.ExerciseRoute.Location.Builder setHorizontalAccuracy(@NonNull android.health.connect.datatypes.units.Length);
607    method @NonNull public android.health.connect.datatypes.ExerciseRoute.Location.Builder setVerticalAccuracy(@NonNull android.health.connect.datatypes.units.Length);
608  }
609
610  public final class ExerciseSegment {
611    method @NonNull public java.time.Instant getEndTime();
612    method @IntRange(from=0) public int getRepetitionsCount();
613    method public int getSegmentType();
614    method @NonNull public java.time.Instant getStartTime();
615  }
616
617  public static final class ExerciseSegment.Builder {
618    ctor public ExerciseSegment.Builder(@NonNull java.time.Instant, @NonNull java.time.Instant, int);
619    method @NonNull public android.health.connect.datatypes.ExerciseSegment build();
620    method @NonNull public android.health.connect.datatypes.ExerciseSegment.Builder setRepetitionsCount(@IntRange(from=0) int);
621  }
622
623  public final class ExerciseSegmentType {
624    field public static final int EXERCISE_SEGMENT_TYPE_ARM_CURL = 26; // 0x1a
625    field public static final int EXERCISE_SEGMENT_TYPE_BACK_EXTENSION = 27; // 0x1b
626    field public static final int EXERCISE_SEGMENT_TYPE_BALL_SLAM = 28; // 0x1c
627    field public static final int EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS = 1; // 0x1
628    field public static final int EXERCISE_SEGMENT_TYPE_BENCH_PRESS = 29; // 0x1d
629    field public static final int EXERCISE_SEGMENT_TYPE_BENCH_SIT_UP = 2; // 0x2
630    field public static final int EXERCISE_SEGMENT_TYPE_BIKING = 3; // 0x3
631    field public static final int EXERCISE_SEGMENT_TYPE_BIKING_STATIONARY = 4; // 0x4
632    field public static final int EXERCISE_SEGMENT_TYPE_BURPEE = 30; // 0x1e
633    field public static final int EXERCISE_SEGMENT_TYPE_CRUNCH = 31; // 0x1f
634    field public static final int EXERCISE_SEGMENT_TYPE_DEADLIFT = 32; // 0x20
635    field public static final int EXERCISE_SEGMENT_TYPE_DOUBLE_ARM_TRICEPS_EXTENSION = 33; // 0x21
636    field public static final int EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM = 5; // 0x5
637    field public static final int EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM = 6; // 0x6
638    field public static final int EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE = 7; // 0x7
639    field public static final int EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE = 8; // 0x8
640    field public static final int EXERCISE_SEGMENT_TYPE_DUMBBELL_ROW = 34; // 0x22
641    field public static final int EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM = 9; // 0x9
642    field public static final int EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM = 10; // 0xa
643    field public static final int EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM = 11; // 0xb
644    field public static final int EXERCISE_SEGMENT_TYPE_ELLIPTICAL = 12; // 0xc
645    field public static final int EXERCISE_SEGMENT_TYPE_FORWARD_TWIST = 13; // 0xd
646    field public static final int EXERCISE_SEGMENT_TYPE_FRONT_RAISE = 35; // 0x23
647    field public static final int EXERCISE_SEGMENT_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING = 62; // 0x3e
648    field public static final int EXERCISE_SEGMENT_TYPE_HIP_THRUST = 36; // 0x24
649    field public static final int EXERCISE_SEGMENT_TYPE_HULA_HOOP = 37; // 0x25
650    field public static final int EXERCISE_SEGMENT_TYPE_JUMPING_JACK = 38; // 0x26
651    field public static final int EXERCISE_SEGMENT_TYPE_JUMP_ROPE = 39; // 0x27
652    field public static final int EXERCISE_SEGMENT_TYPE_KETTLEBELL_SWING = 40; // 0x28
653    field public static final int EXERCISE_SEGMENT_TYPE_LATERAL_RAISE = 41; // 0x29
654    field public static final int EXERCISE_SEGMENT_TYPE_LAT_PULL_DOWN = 42; // 0x2a
655    field public static final int EXERCISE_SEGMENT_TYPE_LEG_CURL = 43; // 0x2b
656    field public static final int EXERCISE_SEGMENT_TYPE_LEG_EXTENSION = 44; // 0x2c
657    field public static final int EXERCISE_SEGMENT_TYPE_LEG_PRESS = 45; // 0x2d
658    field public static final int EXERCISE_SEGMENT_TYPE_LEG_RAISE = 46; // 0x2e
659    field public static final int EXERCISE_SEGMENT_TYPE_LUNGE = 47; // 0x2f
660    field public static final int EXERCISE_SEGMENT_TYPE_MOUNTAIN_CLIMBER = 48; // 0x30
661    field public static final int EXERCISE_SEGMENT_TYPE_OTHER_WORKOUT = 64; // 0x40
662    field public static final int EXERCISE_SEGMENT_TYPE_PAUSE = 67; // 0x43
663    field public static final int EXERCISE_SEGMENT_TYPE_PILATES = 14; // 0xe
664    field public static final int EXERCISE_SEGMENT_TYPE_PLANK = 49; // 0x31
665    field public static final int EXERCISE_SEGMENT_TYPE_PULL_UP = 50; // 0x32
666    field public static final int EXERCISE_SEGMENT_TYPE_PUNCH = 51; // 0x33
667    field public static final int EXERCISE_SEGMENT_TYPE_REST = 66; // 0x42
668    field public static final int EXERCISE_SEGMENT_TYPE_ROWING_MACHINE = 15; // 0xf
669    field public static final int EXERCISE_SEGMENT_TYPE_RUNNING = 16; // 0x10
670    field public static final int EXERCISE_SEGMENT_TYPE_RUNNING_TREADMILL = 17; // 0x11
671    field public static final int EXERCISE_SEGMENT_TYPE_SHOULDER_PRESS = 52; // 0x34
672    field public static final int EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION = 53; // 0x35
673    field public static final int EXERCISE_SEGMENT_TYPE_SIT_UP = 54; // 0x36
674    field public static final int EXERCISE_SEGMENT_TYPE_SQUAT = 55; // 0x37
675    field public static final int EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING = 18; // 0x12
676    field public static final int EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING_MACHINE = 19; // 0x13
677    field public static final int EXERCISE_SEGMENT_TYPE_STRETCHING = 20; // 0x14
678    field public static final int EXERCISE_SEGMENT_TYPE_SWIMMING_BACKSTROKE = 57; // 0x39
679    field public static final int EXERCISE_SEGMENT_TYPE_SWIMMING_BREASTSTROKE = 58; // 0x3a
680    field public static final int EXERCISE_SEGMENT_TYPE_SWIMMING_BUTTERFLY = 59; // 0x3b
681    field public static final int EXERCISE_SEGMENT_TYPE_SWIMMING_FREESTYLE = 56; // 0x38
682    field public static final int EXERCISE_SEGMENT_TYPE_SWIMMING_MIXED = 60; // 0x3c
683    field public static final int EXERCISE_SEGMENT_TYPE_SWIMMING_OPEN_WATER = 21; // 0x15
684    field public static final int EXERCISE_SEGMENT_TYPE_SWIMMING_OTHER = 61; // 0x3d
685    field public static final int EXERCISE_SEGMENT_TYPE_SWIMMING_POOL = 22; // 0x16
686    field public static final int EXERCISE_SEGMENT_TYPE_UNKNOWN = 0; // 0x0
687    field public static final int EXERCISE_SEGMENT_TYPE_UPPER_TWIST = 23; // 0x17
688    field public static final int EXERCISE_SEGMENT_TYPE_WALKING = 24; // 0x18
689    field public static final int EXERCISE_SEGMENT_TYPE_WEIGHTLIFTING = 63; // 0x3f
690    field public static final int EXERCISE_SEGMENT_TYPE_WHEELCHAIR = 25; // 0x19
691    field public static final int EXERCISE_SEGMENT_TYPE_YOGA = 65; // 0x41
692  }
693
694  public final class ExerciseSessionRecord extends android.health.connect.datatypes.IntervalRecord {
695    method public int getExerciseType();
696    method @NonNull public java.util.List<android.health.connect.datatypes.ExerciseLap> getLaps();
697    method @Nullable public CharSequence getNotes();
698    method @Nullable public android.health.connect.datatypes.ExerciseRoute getRoute();
699    method @NonNull public java.util.List<android.health.connect.datatypes.ExerciseSegment> getSegments();
700    method @Nullable public CharSequence getTitle();
701    method @NonNull public boolean hasRoute();
702    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> EXERCISE_DURATION_TOTAL;
703  }
704
705  public static final class ExerciseSessionRecord.Builder {
706    ctor public ExerciseSessionRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, int);
707    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord build();
708    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord.Builder clearEndZoneOffset();
709    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord.Builder clearStartZoneOffset();
710    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
711    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord.Builder setLaps(@NonNull java.util.List<android.health.connect.datatypes.ExerciseLap>);
712    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord.Builder setNotes(@Nullable CharSequence);
713    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord.Builder setRoute(@Nullable android.health.connect.datatypes.ExerciseRoute);
714    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord.Builder setSegments(@NonNull java.util.List<android.health.connect.datatypes.ExerciseSegment>);
715    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
716    method @NonNull public android.health.connect.datatypes.ExerciseSessionRecord.Builder setTitle(@Nullable CharSequence);
717  }
718
719  public final class ExerciseSessionType {
720    field public static final int EXERCISE_SESSION_TYPE_BADMINTON = 1; // 0x1
721    field public static final int EXERCISE_SESSION_TYPE_BASEBALL = 2; // 0x2
722    field public static final int EXERCISE_SESSION_TYPE_BASKETBALL = 3; // 0x3
723    field public static final int EXERCISE_SESSION_TYPE_BIKING = 4; // 0x4
724    field public static final int EXERCISE_SESSION_TYPE_BIKING_STATIONARY = 5; // 0x5
725    field public static final int EXERCISE_SESSION_TYPE_BOOT_CAMP = 6; // 0x6
726    field public static final int EXERCISE_SESSION_TYPE_BOXING = 7; // 0x7
727    field public static final int EXERCISE_SESSION_TYPE_CALISTHENICS = 8; // 0x8
728    field public static final int EXERCISE_SESSION_TYPE_CRICKET = 9; // 0x9
729    field public static final int EXERCISE_SESSION_TYPE_DANCING = 10; // 0xa
730    field public static final int EXERCISE_SESSION_TYPE_ELLIPTICAL = 60; // 0x3c
731    field public static final int EXERCISE_SESSION_TYPE_EXERCISE_CLASS = 11; // 0xb
732    field public static final int EXERCISE_SESSION_TYPE_FENCING = 12; // 0xc
733    field public static final int EXERCISE_SESSION_TYPE_FOOTBALL_AMERICAN = 13; // 0xd
734    field public static final int EXERCISE_SESSION_TYPE_FOOTBALL_AUSTRALIAN = 14; // 0xe
735    field public static final int EXERCISE_SESSION_TYPE_FRISBEE_DISC = 15; // 0xf
736    field public static final int EXERCISE_SESSION_TYPE_GOLF = 16; // 0x10
737    field public static final int EXERCISE_SESSION_TYPE_GUIDED_BREATHING = 17; // 0x11
738    field public static final int EXERCISE_SESSION_TYPE_GYMNASTICS = 18; // 0x12
739    field public static final int EXERCISE_SESSION_TYPE_HANDBALL = 19; // 0x13
740    field public static final int EXERCISE_SESSION_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING = 20; // 0x14
741    field public static final int EXERCISE_SESSION_TYPE_HIKING = 21; // 0x15
742    field public static final int EXERCISE_SESSION_TYPE_ICE_HOCKEY = 22; // 0x16
743    field public static final int EXERCISE_SESSION_TYPE_ICE_SKATING = 23; // 0x17
744    field public static final int EXERCISE_SESSION_TYPE_MARTIAL_ARTS = 24; // 0x18
745    field public static final int EXERCISE_SESSION_TYPE_OTHER_WORKOUT = 58; // 0x3a
746    field public static final int EXERCISE_SESSION_TYPE_PADDLING = 25; // 0x19
747    field public static final int EXERCISE_SESSION_TYPE_PARAGLIDING = 26; // 0x1a
748    field public static final int EXERCISE_SESSION_TYPE_PILATES = 27; // 0x1b
749    field public static final int EXERCISE_SESSION_TYPE_RACQUETBALL = 28; // 0x1c
750    field public static final int EXERCISE_SESSION_TYPE_ROCK_CLIMBING = 29; // 0x1d
751    field public static final int EXERCISE_SESSION_TYPE_ROLLER_HOCKEY = 30; // 0x1e
752    field public static final int EXERCISE_SESSION_TYPE_ROWING = 31; // 0x1f
753    field public static final int EXERCISE_SESSION_TYPE_ROWING_MACHINE = 61; // 0x3d
754    field public static final int EXERCISE_SESSION_TYPE_RUGBY = 32; // 0x20
755    field public static final int EXERCISE_SESSION_TYPE_RUNNING = 33; // 0x21
756    field public static final int EXERCISE_SESSION_TYPE_RUNNING_TREADMILL = 34; // 0x22
757    field public static final int EXERCISE_SESSION_TYPE_SAILING = 35; // 0x23
758    field public static final int EXERCISE_SESSION_TYPE_SCUBA_DIVING = 36; // 0x24
759    field public static final int EXERCISE_SESSION_TYPE_SKATING = 37; // 0x25
760    field public static final int EXERCISE_SESSION_TYPE_SKIING = 38; // 0x26
761    field public static final int EXERCISE_SESSION_TYPE_SNOWBOARDING = 39; // 0x27
762    field public static final int EXERCISE_SESSION_TYPE_SNOWSHOEING = 40; // 0x28
763    field public static final int EXERCISE_SESSION_TYPE_SOCCER = 41; // 0x29
764    field public static final int EXERCISE_SESSION_TYPE_SOFTBALL = 42; // 0x2a
765    field public static final int EXERCISE_SESSION_TYPE_SQUASH = 43; // 0x2b
766    field public static final int EXERCISE_SESSION_TYPE_STAIR_CLIMBING = 44; // 0x2c
767    field public static final int EXERCISE_SESSION_TYPE_STAIR_CLIMBING_MACHINE = 59; // 0x3b
768    field public static final int EXERCISE_SESSION_TYPE_STRENGTH_TRAINING = 45; // 0x2d
769    field public static final int EXERCISE_SESSION_TYPE_STRETCHING = 46; // 0x2e
770    field public static final int EXERCISE_SESSION_TYPE_SURFING = 47; // 0x2f
771    field public static final int EXERCISE_SESSION_TYPE_SWIMMING_OPEN_WATER = 48; // 0x30
772    field public static final int EXERCISE_SESSION_TYPE_SWIMMING_POOL = 49; // 0x31
773    field public static final int EXERCISE_SESSION_TYPE_TABLE_TENNIS = 50; // 0x32
774    field public static final int EXERCISE_SESSION_TYPE_TENNIS = 51; // 0x33
775    field public static final int EXERCISE_SESSION_TYPE_UNKNOWN = 0; // 0x0
776    field public static final int EXERCISE_SESSION_TYPE_VOLLEYBALL = 52; // 0x34
777    field public static final int EXERCISE_SESSION_TYPE_WALKING = 53; // 0x35
778    field public static final int EXERCISE_SESSION_TYPE_WATER_POLO = 54; // 0x36
779    field public static final int EXERCISE_SESSION_TYPE_WEIGHTLIFTING = 55; // 0x37
780    field public static final int EXERCISE_SESSION_TYPE_WHEELCHAIR = 56; // 0x38
781    field public static final int EXERCISE_SESSION_TYPE_YOGA = 57; // 0x39
782  }
783
784  public final class FloorsClimbedRecord extends android.health.connect.datatypes.IntervalRecord {
785    method @FloatRange(from=0.0f, to=1000000.0f) public double getFloors();
786    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Double> FLOORS_CLIMBED_TOTAL;
787  }
788
789  public static final class FloorsClimbedRecord.Builder {
790    ctor public FloorsClimbedRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, double);
791    method @NonNull public android.health.connect.datatypes.FloorsClimbedRecord build();
792    method @NonNull public android.health.connect.datatypes.FloorsClimbedRecord.Builder clearEndZoneOffset();
793    method @NonNull public android.health.connect.datatypes.FloorsClimbedRecord.Builder clearStartZoneOffset();
794    method @NonNull public android.health.connect.datatypes.FloorsClimbedRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
795    method @NonNull public android.health.connect.datatypes.FloorsClimbedRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
796  }
797
798  public final class HeartRateRecord extends android.health.connect.datatypes.IntervalRecord {
799    method @NonNull public java.util.List<android.health.connect.datatypes.HeartRateRecord.HeartRateSample> getSamples();
800    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> BPM_AVG;
801    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> BPM_MAX;
802    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> BPM_MIN;
803    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> HEART_MEASUREMENTS_COUNT;
804  }
805
806  public static final class HeartRateRecord.Builder {
807    ctor public HeartRateRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull java.util.List<android.health.connect.datatypes.HeartRateRecord.HeartRateSample>);
808    method @NonNull public android.health.connect.datatypes.HeartRateRecord build();
809    method @NonNull public android.health.connect.datatypes.HeartRateRecord.Builder clearEndZoneOffset();
810    method @NonNull public android.health.connect.datatypes.HeartRateRecord.Builder clearStartZoneOffset();
811    method @NonNull public android.health.connect.datatypes.HeartRateRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
812    method @NonNull public android.health.connect.datatypes.HeartRateRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
813  }
814
815  public static final class HeartRateRecord.HeartRateSample {
816    ctor public HeartRateRecord.HeartRateSample(long, @NonNull java.time.Instant);
817    method public long getBeatsPerMinute();
818    method @NonNull public java.time.Instant getTime();
819  }
820
821  public final class HeartRateVariabilityRmssdRecord extends android.health.connect.datatypes.InstantRecord {
822    method public double getHeartRateVariabilityMillis();
823  }
824
825  public static final class HeartRateVariabilityRmssdRecord.Builder {
826    ctor public HeartRateVariabilityRmssdRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, double);
827    method @NonNull public android.health.connect.datatypes.HeartRateVariabilityRmssdRecord build();
828    method @NonNull public android.health.connect.datatypes.HeartRateVariabilityRmssdRecord.Builder clearZoneOffset();
829    method @NonNull public android.health.connect.datatypes.HeartRateVariabilityRmssdRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
830  }
831
832  public final class HeightRecord extends android.health.connect.datatypes.InstantRecord {
833    method @NonNull public android.health.connect.datatypes.units.Length getHeight();
834    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length> HEIGHT_AVG;
835    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length> HEIGHT_MAX;
836    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Length> HEIGHT_MIN;
837  }
838
839  public static final class HeightRecord.Builder {
840    ctor public HeightRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Length);
841    method @NonNull public android.health.connect.datatypes.HeightRecord build();
842    method @NonNull public android.health.connect.datatypes.HeightRecord.Builder clearZoneOffset();
843    method @NonNull public android.health.connect.datatypes.HeightRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
844  }
845
846  public final class HydrationRecord extends android.health.connect.datatypes.IntervalRecord {
847    method @NonNull public android.health.connect.datatypes.units.Volume getVolume();
848    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Volume> VOLUME_TOTAL;
849  }
850
851  public static final class HydrationRecord.Builder {
852    ctor public HydrationRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Volume);
853    method @NonNull public android.health.connect.datatypes.HydrationRecord build();
854    method @NonNull public android.health.connect.datatypes.HydrationRecord.Builder clearEndZoneOffset();
855    method @NonNull public android.health.connect.datatypes.HydrationRecord.Builder clearStartZoneOffset();
856    method @NonNull public android.health.connect.datatypes.HydrationRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
857    method @NonNull public android.health.connect.datatypes.HydrationRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
858  }
859
860  public abstract class InstantRecord extends android.health.connect.datatypes.Record {
861    method @NonNull public java.time.Instant getTime();
862    method @NonNull public java.time.ZoneOffset getZoneOffset();
863  }
864
865  public final class IntermenstrualBleedingRecord extends android.health.connect.datatypes.InstantRecord {
866  }
867
868  public static final class IntermenstrualBleedingRecord.Builder {
869    ctor public IntermenstrualBleedingRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant);
870    method @NonNull public android.health.connect.datatypes.IntermenstrualBleedingRecord build();
871    method @NonNull public android.health.connect.datatypes.IntermenstrualBleedingRecord.Builder clearZoneOffset();
872    method @NonNull public android.health.connect.datatypes.IntermenstrualBleedingRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
873  }
874
875  public abstract class IntervalRecord extends android.health.connect.datatypes.Record {
876    method @NonNull public java.time.Instant getEndTime();
877    method @NonNull public java.time.ZoneOffset getEndZoneOffset();
878    method @NonNull public java.time.Instant getStartTime();
879    method @NonNull public java.time.ZoneOffset getStartZoneOffset();
880  }
881
882  public final class LeanBodyMassRecord extends android.health.connect.datatypes.InstantRecord {
883    method @NonNull public android.health.connect.datatypes.units.Mass getMass();
884  }
885
886  public static final class LeanBodyMassRecord.Builder {
887    ctor public LeanBodyMassRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Mass);
888    method @NonNull public android.health.connect.datatypes.LeanBodyMassRecord build();
889    method @NonNull public android.health.connect.datatypes.LeanBodyMassRecord.Builder clearZoneOffset();
890    method @NonNull public android.health.connect.datatypes.LeanBodyMassRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
891  }
892
893  public final class MealType {
894    field public static final int MEAL_TYPE_BREAKFAST = 1; // 0x1
895    field public static final int MEAL_TYPE_DINNER = 3; // 0x3
896    field public static final int MEAL_TYPE_LUNCH = 2; // 0x2
897    field public static final int MEAL_TYPE_SNACK = 4; // 0x4
898    field public static final int MEAL_TYPE_UNKNOWN = 0; // 0x0
899  }
900
901  public final class MenstruationFlowRecord extends android.health.connect.datatypes.InstantRecord {
902    method public int getFlow();
903  }
904
905  public static final class MenstruationFlowRecord.Builder {
906    ctor public MenstruationFlowRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, int);
907    method @NonNull public android.health.connect.datatypes.MenstruationFlowRecord build();
908    method @NonNull public android.health.connect.datatypes.MenstruationFlowRecord.Builder clearZoneOffset();
909    method @NonNull public android.health.connect.datatypes.MenstruationFlowRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
910  }
911
912  public static final class MenstruationFlowRecord.MenstruationFlowType {
913    field public static final int FLOW_HEAVY = 3; // 0x3
914    field public static final int FLOW_LIGHT = 1; // 0x1
915    field public static final int FLOW_MEDIUM = 2; // 0x2
916    field public static final int FLOW_UNKNOWN = 0; // 0x0
917  }
918
919  public final class MenstruationPeriodRecord extends android.health.connect.datatypes.IntervalRecord {
920  }
921
922  public static final class MenstruationPeriodRecord.Builder {
923    ctor public MenstruationPeriodRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant);
924    method @NonNull public android.health.connect.datatypes.MenstruationPeriodRecord build();
925    method @NonNull public android.health.connect.datatypes.MenstruationPeriodRecord.Builder clearEndZoneOffset();
926    method @NonNull public android.health.connect.datatypes.MenstruationPeriodRecord.Builder clearStartZoneOffset();
927    method @NonNull public android.health.connect.datatypes.MenstruationPeriodRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
928    method @NonNull public android.health.connect.datatypes.MenstruationPeriodRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
929  }
930
931  public final class Metadata {
932    method @Nullable public String getClientRecordId();
933    method public long getClientRecordVersion();
934    method @NonNull public android.health.connect.datatypes.DataOrigin getDataOrigin();
935    method @NonNull public android.health.connect.datatypes.Device getDevice();
936    method @NonNull public String getId();
937    method @NonNull public java.time.Instant getLastModifiedTime();
938    method public int getRecordingMethod();
939    field public static final int RECORDING_METHOD_ACTIVELY_RECORDED = 1; // 0x1
940    field public static final int RECORDING_METHOD_AUTOMATICALLY_RECORDED = 2; // 0x2
941    field public static final int RECORDING_METHOD_MANUAL_ENTRY = 3; // 0x3
942    field public static final int RECORDING_METHOD_UNKNOWN = 0; // 0x0
943  }
944
945  public static final class Metadata.Builder {
946    ctor public Metadata.Builder();
947    method @NonNull public android.health.connect.datatypes.Metadata build();
948    method @NonNull public android.health.connect.datatypes.Metadata.Builder setClientRecordId(@Nullable String);
949    method @NonNull public android.health.connect.datatypes.Metadata.Builder setClientRecordVersion(long);
950    method @NonNull public android.health.connect.datatypes.Metadata.Builder setDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin);
951    method @NonNull public android.health.connect.datatypes.Metadata.Builder setDevice(@NonNull android.health.connect.datatypes.Device);
952    method @NonNull public android.health.connect.datatypes.Metadata.Builder setId(@NonNull String);
953    method @NonNull public android.health.connect.datatypes.Metadata.Builder setLastModifiedTime(@NonNull java.time.Instant);
954    method @NonNull public android.health.connect.datatypes.Metadata.Builder setRecordingMethod(int);
955  }
956
957  public final class NutritionRecord extends android.health.connect.datatypes.IntervalRecord {
958    method @Nullable public android.health.connect.datatypes.units.Mass getBiotin();
959    method @Nullable public android.health.connect.datatypes.units.Mass getCaffeine();
960    method @Nullable public android.health.connect.datatypes.units.Mass getCalcium();
961    method @Nullable public android.health.connect.datatypes.units.Mass getChloride();
962    method @Nullable public android.health.connect.datatypes.units.Mass getCholesterol();
963    method @Nullable public android.health.connect.datatypes.units.Mass getChromium();
964    method @Nullable public android.health.connect.datatypes.units.Mass getCopper();
965    method @Nullable public android.health.connect.datatypes.units.Mass getDietaryFiber();
966    method @Nullable public android.health.connect.datatypes.units.Energy getEnergy();
967    method @Nullable public android.health.connect.datatypes.units.Energy getEnergyFromFat();
968    method @Nullable public android.health.connect.datatypes.units.Mass getFolate();
969    method @Nullable public android.health.connect.datatypes.units.Mass getFolicAcid();
970    method @Nullable public android.health.connect.datatypes.units.Mass getIodine();
971    method @Nullable public android.health.connect.datatypes.units.Mass getIron();
972    method @Nullable public android.health.connect.datatypes.units.Mass getMagnesium();
973    method @Nullable public android.health.connect.datatypes.units.Mass getManganese();
974    method @Nullable public String getMealName();
975    method public int getMealType();
976    method @Nullable public android.health.connect.datatypes.units.Mass getMolybdenum();
977    method @Nullable public android.health.connect.datatypes.units.Mass getMonounsaturatedFat();
978    method @Nullable public android.health.connect.datatypes.units.Mass getNiacin();
979    method @Nullable public android.health.connect.datatypes.units.Mass getPantothenicAcid();
980    method @Nullable public android.health.connect.datatypes.units.Mass getPhosphorus();
981    method @Nullable public android.health.connect.datatypes.units.Mass getPolyunsaturatedFat();
982    method @Nullable public android.health.connect.datatypes.units.Mass getPotassium();
983    method @Nullable public android.health.connect.datatypes.units.Mass getProtein();
984    method @Nullable public android.health.connect.datatypes.units.Mass getRiboflavin();
985    method @Nullable public android.health.connect.datatypes.units.Mass getSaturatedFat();
986    method @Nullable public android.health.connect.datatypes.units.Mass getSelenium();
987    method @Nullable public android.health.connect.datatypes.units.Mass getSodium();
988    method @Nullable public android.health.connect.datatypes.units.Mass getSugar();
989    method @Nullable public android.health.connect.datatypes.units.Mass getThiamin();
990    method @Nullable public android.health.connect.datatypes.units.Mass getTotalCarbohydrate();
991    method @Nullable public android.health.connect.datatypes.units.Mass getTotalFat();
992    method @Nullable public android.health.connect.datatypes.units.Mass getTransFat();
993    method @Nullable public android.health.connect.datatypes.units.Mass getUnsaturatedFat();
994    method @Nullable public android.health.connect.datatypes.units.Mass getVitaminA();
995    method @Nullable public android.health.connect.datatypes.units.Mass getVitaminB12();
996    method @Nullable public android.health.connect.datatypes.units.Mass getVitaminB6();
997    method @Nullable public android.health.connect.datatypes.units.Mass getVitaminC();
998    method @Nullable public android.health.connect.datatypes.units.Mass getVitaminD();
999    method @Nullable public android.health.connect.datatypes.units.Mass getVitaminE();
1000    method @Nullable public android.health.connect.datatypes.units.Mass getVitaminK();
1001    method @Nullable public android.health.connect.datatypes.units.Mass getZinc();
1002    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> BIOTIN_TOTAL;
1003    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> CAFFEINE_TOTAL;
1004    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> CALCIUM_TOTAL;
1005    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> CHLORIDE_TOTAL;
1006    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> CHOLESTEROL_TOTAL;
1007    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> CHROMIUM_TOTAL;
1008    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> COPPER_TOTAL;
1009    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> DIETARY_FIBER_TOTAL;
1010    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy> ENERGY_FROM_FAT_TOTAL;
1011    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy> ENERGY_TOTAL;
1012    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> FOLATE_TOTAL;
1013    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> FOLIC_ACID_TOTAL;
1014    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> IODINE_TOTAL;
1015    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> IRON_TOTAL;
1016    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> MAGNESIUM_TOTAL;
1017    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> MANGANESE_TOTAL;
1018    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> MOLYBDENUM_TOTAL;
1019    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> MONOUNSATURATED_FAT_TOTAL;
1020    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> NIACIN_TOTAL;
1021    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> PANTOTHENIC_ACID_TOTAL;
1022    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> PHOSPHORUS_TOTAL;
1023    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> POLYUNSATURATED_FAT_TOTAL;
1024    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> POTASSIUM_TOTAL;
1025    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> PROTEIN_TOTAL;
1026    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> RIBOFLAVIN_TOTAL;
1027    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> SATURATED_FAT_TOTAL;
1028    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> SELENIUM_TOTAL;
1029    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> SODIUM_TOTAL;
1030    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> SUGAR_TOTAL;
1031    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> THIAMIN_TOTAL;
1032    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> TOTAL_CARBOHYDRATE_TOTAL;
1033    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> TOTAL_FAT_TOTAL;
1034    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> TRANS_FAT_TOTAL;
1035    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> UNSATURATED_FAT_TOTAL;
1036    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> VITAMIN_A_TOTAL;
1037    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> VITAMIN_B12_TOTAL;
1038    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> VITAMIN_B6_TOTAL;
1039    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> VITAMIN_C_TOTAL;
1040    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> VITAMIN_D_TOTAL;
1041    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> VITAMIN_E_TOTAL;
1042    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> VITAMIN_K_TOTAL;
1043    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> ZINC_TOTAL;
1044  }
1045
1046  public static final class NutritionRecord.Builder {
1047    ctor public NutritionRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant);
1048    method @NonNull public android.health.connect.datatypes.NutritionRecord build();
1049    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder clearEndZoneOffset();
1050    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder clearStartZoneOffset();
1051    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setBiotin(@Nullable android.health.connect.datatypes.units.Mass);
1052    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setCaffeine(@Nullable android.health.connect.datatypes.units.Mass);
1053    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setCalcium(@Nullable android.health.connect.datatypes.units.Mass);
1054    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setChloride(@Nullable android.health.connect.datatypes.units.Mass);
1055    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setCholesterol(@Nullable android.health.connect.datatypes.units.Mass);
1056    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setChromium(@Nullable android.health.connect.datatypes.units.Mass);
1057    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setCopper(@Nullable android.health.connect.datatypes.units.Mass);
1058    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setDietaryFiber(@Nullable android.health.connect.datatypes.units.Mass);
1059    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
1060    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setEnergy(@Nullable android.health.connect.datatypes.units.Energy);
1061    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setEnergyFromFat(@Nullable android.health.connect.datatypes.units.Energy);
1062    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setFolate(@Nullable android.health.connect.datatypes.units.Mass);
1063    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setFolicAcid(@Nullable android.health.connect.datatypes.units.Mass);
1064    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setIodine(@Nullable android.health.connect.datatypes.units.Mass);
1065    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setIron(@Nullable android.health.connect.datatypes.units.Mass);
1066    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setMagnesium(@Nullable android.health.connect.datatypes.units.Mass);
1067    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setManganese(@Nullable android.health.connect.datatypes.units.Mass);
1068    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setMealName(@NonNull String);
1069    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setMealType(int);
1070    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setMolybdenum(@Nullable android.health.connect.datatypes.units.Mass);
1071    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setMonounsaturatedFat(@Nullable android.health.connect.datatypes.units.Mass);
1072    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setNiacin(@Nullable android.health.connect.datatypes.units.Mass);
1073    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setPantothenicAcid(@Nullable android.health.connect.datatypes.units.Mass);
1074    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setPhosphorus(@Nullable android.health.connect.datatypes.units.Mass);
1075    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setPolyunsaturatedFat(@Nullable android.health.connect.datatypes.units.Mass);
1076    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setPotassium(@Nullable android.health.connect.datatypes.units.Mass);
1077    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setProtein(@Nullable android.health.connect.datatypes.units.Mass);
1078    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setRiboflavin(@Nullable android.health.connect.datatypes.units.Mass);
1079    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setSaturatedFat(@Nullable android.health.connect.datatypes.units.Mass);
1080    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setSelenium(@Nullable android.health.connect.datatypes.units.Mass);
1081    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setSodium(@Nullable android.health.connect.datatypes.units.Mass);
1082    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
1083    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setSugar(@Nullable android.health.connect.datatypes.units.Mass);
1084    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setThiamin(@Nullable android.health.connect.datatypes.units.Mass);
1085    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setTotalCarbohydrate(@Nullable android.health.connect.datatypes.units.Mass);
1086    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setTotalFat(@Nullable android.health.connect.datatypes.units.Mass);
1087    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setTransFat(@Nullable android.health.connect.datatypes.units.Mass);
1088    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setUnsaturatedFat(@Nullable android.health.connect.datatypes.units.Mass);
1089    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setVitaminA(@Nullable android.health.connect.datatypes.units.Mass);
1090    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setVitaminB12(@Nullable android.health.connect.datatypes.units.Mass);
1091    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setVitaminB6(@Nullable android.health.connect.datatypes.units.Mass);
1092    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setVitaminC(@Nullable android.health.connect.datatypes.units.Mass);
1093    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setVitaminD(@Nullable android.health.connect.datatypes.units.Mass);
1094    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setVitaminE(@Nullable android.health.connect.datatypes.units.Mass);
1095    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setVitaminK(@Nullable android.health.connect.datatypes.units.Mass);
1096    method @NonNull public android.health.connect.datatypes.NutritionRecord.Builder setZinc(@Nullable android.health.connect.datatypes.units.Mass);
1097  }
1098
1099  public final class OvulationTestRecord extends android.health.connect.datatypes.InstantRecord {
1100    method public int getResult();
1101  }
1102
1103  public static final class OvulationTestRecord.Builder {
1104    ctor public OvulationTestRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, int);
1105    method @NonNull public android.health.connect.datatypes.OvulationTestRecord build();
1106    method @NonNull public android.health.connect.datatypes.OvulationTestRecord.Builder clearZoneOffset();
1107    method @NonNull public android.health.connect.datatypes.OvulationTestRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
1108  }
1109
1110  public static final class OvulationTestRecord.OvulationTestResult {
1111    field public static final int RESULT_HIGH = 2; // 0x2
1112    field public static final int RESULT_INCONCLUSIVE = 0; // 0x0
1113    field public static final int RESULT_NEGATIVE = 3; // 0x3
1114    field public static final int RESULT_POSITIVE = 1; // 0x1
1115  }
1116
1117  public final class OxygenSaturationRecord extends android.health.connect.datatypes.InstantRecord {
1118    method @NonNull public android.health.connect.datatypes.units.Percentage getPercentage();
1119  }
1120
1121  public static final class OxygenSaturationRecord.Builder {
1122    ctor public OxygenSaturationRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Percentage);
1123    method @NonNull public android.health.connect.datatypes.OxygenSaturationRecord build();
1124    method @NonNull public android.health.connect.datatypes.OxygenSaturationRecord.Builder clearZoneOffset();
1125    method @NonNull public android.health.connect.datatypes.OxygenSaturationRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
1126  }
1127
1128  public final class PowerRecord extends android.health.connect.datatypes.IntervalRecord {
1129    method @NonNull public java.util.List<android.health.connect.datatypes.PowerRecord.PowerRecordSample> getSamples();
1130    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Power> POWER_AVG;
1131    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Power> POWER_MAX;
1132    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Power> POWER_MIN;
1133  }
1134
1135  public static final class PowerRecord.Builder {
1136    ctor public PowerRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull java.util.List<android.health.connect.datatypes.PowerRecord.PowerRecordSample>);
1137    method @NonNull public android.health.connect.datatypes.PowerRecord build();
1138    method @NonNull public android.health.connect.datatypes.PowerRecord.Builder clearEndZoneOffset();
1139    method @NonNull public android.health.connect.datatypes.PowerRecord.Builder clearStartZoneOffset();
1140    method @NonNull public android.health.connect.datatypes.PowerRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
1141    method @NonNull public android.health.connect.datatypes.PowerRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
1142  }
1143
1144  public static final class PowerRecord.PowerRecordSample {
1145    ctor public PowerRecord.PowerRecordSample(@NonNull android.health.connect.datatypes.units.Power, @NonNull java.time.Instant);
1146    method @NonNull public android.health.connect.datatypes.units.Power getPower();
1147    method @NonNull public java.time.Instant getTime();
1148  }
1149
1150  public abstract class Record {
1151    method @NonNull public android.health.connect.datatypes.Metadata getMetadata();
1152  }
1153
1154  public final class RespiratoryRateRecord extends android.health.connect.datatypes.InstantRecord {
1155    method public double getRate();
1156  }
1157
1158  public static final class RespiratoryRateRecord.Builder {
1159    ctor public RespiratoryRateRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @FloatRange(from=0, to=1000) double);
1160    method @NonNull public android.health.connect.datatypes.RespiratoryRateRecord build();
1161    method @NonNull public android.health.connect.datatypes.RespiratoryRateRecord.Builder clearZoneOffset();
1162    method @NonNull public android.health.connect.datatypes.RespiratoryRateRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
1163  }
1164
1165  public final class RestingHeartRateRecord extends android.health.connect.datatypes.InstantRecord {
1166    method public long getBeatsPerMinute();
1167    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> BPM_AVG;
1168    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> BPM_MAX;
1169    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> BPM_MIN;
1170  }
1171
1172  public static final class RestingHeartRateRecord.Builder {
1173    ctor public RestingHeartRateRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @IntRange(from=1, to=300) long);
1174    method @NonNull public android.health.connect.datatypes.RestingHeartRateRecord build();
1175    method @NonNull public android.health.connect.datatypes.RestingHeartRateRecord.Builder clearZoneOffset();
1176    method @NonNull public android.health.connect.datatypes.RestingHeartRateRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
1177  }
1178
1179  public final class SexualActivityRecord extends android.health.connect.datatypes.InstantRecord {
1180    method public int getProtectionUsed();
1181  }
1182
1183  public static final class SexualActivityRecord.Builder {
1184    ctor public SexualActivityRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, int);
1185    method @NonNull public android.health.connect.datatypes.SexualActivityRecord build();
1186    method @NonNull public android.health.connect.datatypes.SexualActivityRecord.Builder clearZoneOffset();
1187    method @NonNull public android.health.connect.datatypes.SexualActivityRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
1188  }
1189
1190  public static final class SexualActivityRecord.SexualActivityProtectionUsed {
1191    field public static final int PROTECTION_USED_PROTECTED = 1; // 0x1
1192    field public static final int PROTECTION_USED_UNKNOWN = 0; // 0x0
1193    field public static final int PROTECTION_USED_UNPROTECTED = 2; // 0x2
1194  }
1195
1196  public final class SleepSessionRecord extends android.health.connect.datatypes.IntervalRecord {
1197    method @Nullable public CharSequence getNotes();
1198    method @NonNull public java.util.List<android.health.connect.datatypes.SleepSessionRecord.Stage> getStages();
1199    method @Nullable public CharSequence getTitle();
1200    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> SLEEP_DURATION_TOTAL;
1201  }
1202
1203  public static final class SleepSessionRecord.Builder {
1204    ctor public SleepSessionRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant);
1205    method @NonNull public android.health.connect.datatypes.SleepSessionRecord build();
1206    method @NonNull public android.health.connect.datatypes.SleepSessionRecord.Builder clearEndZoneOffset();
1207    method @NonNull public android.health.connect.datatypes.SleepSessionRecord.Builder clearStartZoneOffset();
1208    method @NonNull public android.health.connect.datatypes.SleepSessionRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
1209    method @NonNull public android.health.connect.datatypes.SleepSessionRecord.Builder setNotes(@Nullable CharSequence);
1210    method @NonNull public android.health.connect.datatypes.SleepSessionRecord.Builder setStages(@NonNull java.util.List<android.health.connect.datatypes.SleepSessionRecord.Stage>);
1211    method @NonNull public android.health.connect.datatypes.SleepSessionRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
1212    method @NonNull public android.health.connect.datatypes.SleepSessionRecord.Builder setTitle(@Nullable CharSequence);
1213  }
1214
1215  public static class SleepSessionRecord.Stage {
1216    ctor public SleepSessionRecord.Stage(@NonNull java.time.Instant, @NonNull java.time.Instant, int);
1217    method @NonNull public java.time.Instant getEndTime();
1218    method @NonNull public java.time.Instant getStartTime();
1219    method public int getType();
1220  }
1221
1222  public static final class SleepSessionRecord.StageType {
1223    field public static final int STAGE_TYPE_AWAKE = 1; // 0x1
1224    field public static final int STAGE_TYPE_AWAKE_IN_BED = 7; // 0x7
1225    field public static final int STAGE_TYPE_AWAKE_OUT_OF_BED = 3; // 0x3
1226    field public static final int STAGE_TYPE_SLEEPING = 2; // 0x2
1227    field public static final int STAGE_TYPE_SLEEPING_DEEP = 5; // 0x5
1228    field public static final int STAGE_TYPE_SLEEPING_LIGHT = 4; // 0x4
1229    field public static final int STAGE_TYPE_SLEEPING_REM = 6; // 0x6
1230    field public static final int STAGE_TYPE_UNKNOWN = 0; // 0x0
1231  }
1232
1233  public final class SpeedRecord extends android.health.connect.datatypes.IntervalRecord {
1234    method @NonNull public java.util.List<android.health.connect.datatypes.SpeedRecord.SpeedRecordSample> getSamples();
1235    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Velocity> SPEED_AVG;
1236    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Velocity> SPEED_MAX;
1237    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Velocity> SPEED_MIN;
1238  }
1239
1240  public static final class SpeedRecord.Builder {
1241    ctor public SpeedRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull java.util.List<android.health.connect.datatypes.SpeedRecord.SpeedRecordSample>);
1242    method @NonNull public android.health.connect.datatypes.SpeedRecord build();
1243    method @NonNull public android.health.connect.datatypes.SpeedRecord.Builder clearEndZoneOffset();
1244    method @NonNull public android.health.connect.datatypes.SpeedRecord.Builder clearStartZoneOffset();
1245    method @NonNull public android.health.connect.datatypes.SpeedRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
1246    method @NonNull public android.health.connect.datatypes.SpeedRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
1247  }
1248
1249  public static final class SpeedRecord.SpeedRecordSample {
1250    ctor public SpeedRecord.SpeedRecordSample(@NonNull android.health.connect.datatypes.units.Velocity, @NonNull java.time.Instant);
1251    method @NonNull public android.health.connect.datatypes.units.Velocity getSpeed();
1252    method @NonNull public java.time.Instant getTime();
1253  }
1254
1255  public final class StepsCadenceRecord extends android.health.connect.datatypes.IntervalRecord {
1256    method @NonNull public java.util.List<android.health.connect.datatypes.StepsCadenceRecord.StepsCadenceRecordSample> getSamples();
1257    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Double> STEPS_CADENCE_RATE_AVG;
1258    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Double> STEPS_CADENCE_RATE_MAX;
1259    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Double> STEPS_CADENCE_RATE_MIN;
1260  }
1261
1262  public static final class StepsCadenceRecord.Builder {
1263    ctor public StepsCadenceRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull java.util.List<android.health.connect.datatypes.StepsCadenceRecord.StepsCadenceRecordSample>);
1264    method @NonNull public android.health.connect.datatypes.StepsCadenceRecord build();
1265    method @NonNull public android.health.connect.datatypes.StepsCadenceRecord.Builder clearEndZoneOffset();
1266    method @NonNull public android.health.connect.datatypes.StepsCadenceRecord.Builder clearStartZoneOffset();
1267    method @NonNull public android.health.connect.datatypes.StepsCadenceRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
1268    method @NonNull public android.health.connect.datatypes.StepsCadenceRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
1269  }
1270
1271  public static final class StepsCadenceRecord.StepsCadenceRecordSample {
1272    ctor public StepsCadenceRecord.StepsCadenceRecordSample(double, @NonNull java.time.Instant);
1273    method public double getRate();
1274    method @NonNull public java.time.Instant getTime();
1275  }
1276
1277  public final class StepsRecord extends android.health.connect.datatypes.IntervalRecord {
1278    method public long getCount();
1279    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> STEPS_COUNT_TOTAL;
1280  }
1281
1282  public static final class StepsRecord.Builder {
1283    ctor public StepsRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, long);
1284    method @NonNull public android.health.connect.datatypes.StepsRecord build();
1285    method @NonNull public android.health.connect.datatypes.StepsRecord.Builder clearEndZoneOffset();
1286    method @NonNull public android.health.connect.datatypes.StepsRecord.Builder clearStartZoneOffset();
1287    method @NonNull public android.health.connect.datatypes.StepsRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
1288    method @NonNull public android.health.connect.datatypes.StepsRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
1289  }
1290
1291  public final class TotalCaloriesBurnedRecord extends android.health.connect.datatypes.IntervalRecord {
1292    method @NonNull public android.health.connect.datatypes.units.Energy getEnergy();
1293    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Energy> ENERGY_TOTAL;
1294  }
1295
1296  public static final class TotalCaloriesBurnedRecord.Builder {
1297    ctor public TotalCaloriesBurnedRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Energy);
1298    method @NonNull public android.health.connect.datatypes.TotalCaloriesBurnedRecord build();
1299    method @NonNull public android.health.connect.datatypes.TotalCaloriesBurnedRecord.Builder clearEndZoneOffset();
1300    method @NonNull public android.health.connect.datatypes.TotalCaloriesBurnedRecord.Builder clearStartZoneOffset();
1301    method @NonNull public android.health.connect.datatypes.TotalCaloriesBurnedRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
1302    method @NonNull public android.health.connect.datatypes.TotalCaloriesBurnedRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
1303  }
1304
1305  public final class Vo2MaxRecord extends android.health.connect.datatypes.InstantRecord {
1306    method public int getMeasurementMethod();
1307    method public double getVo2MillilitersPerMinuteKilogram();
1308  }
1309
1310  public static final class Vo2MaxRecord.Builder {
1311    ctor public Vo2MaxRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, int, @FloatRange(from=0, to=100) double);
1312    method @NonNull public android.health.connect.datatypes.Vo2MaxRecord build();
1313    method @NonNull public android.health.connect.datatypes.Vo2MaxRecord.Builder clearZoneOffset();
1314    method @NonNull public android.health.connect.datatypes.Vo2MaxRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
1315  }
1316
1317  public static final class Vo2MaxRecord.Vo2MaxMeasurementMethod {
1318    field public static final int MEASUREMENT_METHOD_COOPER_TEST = 3; // 0x3
1319    field public static final int MEASUREMENT_METHOD_HEART_RATE_RATIO = 2; // 0x2
1320    field public static final int MEASUREMENT_METHOD_METABOLIC_CART = 1; // 0x1
1321    field public static final int MEASUREMENT_METHOD_MULTISTAGE_FITNESS_TEST = 4; // 0x4
1322    field public static final int MEASUREMENT_METHOD_OTHER = 0; // 0x0
1323    field public static final int MEASUREMENT_METHOD_ROCKPORT_FITNESS_TEST = 5; // 0x5
1324  }
1325
1326  public final class WeightRecord extends android.health.connect.datatypes.InstantRecord {
1327    method @NonNull public android.health.connect.datatypes.units.Mass getWeight();
1328    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> WEIGHT_AVG;
1329    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> WEIGHT_MAX;
1330    field @NonNull public static final android.health.connect.datatypes.AggregationType<android.health.connect.datatypes.units.Mass> WEIGHT_MIN;
1331  }
1332
1333  public static final class WeightRecord.Builder {
1334    ctor public WeightRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull android.health.connect.datatypes.units.Mass);
1335    method @NonNull public android.health.connect.datatypes.WeightRecord build();
1336    method @NonNull public android.health.connect.datatypes.WeightRecord.Builder clearZoneOffset();
1337    method @NonNull public android.health.connect.datatypes.WeightRecord.Builder setZoneOffset(@NonNull java.time.ZoneOffset);
1338  }
1339
1340  public final class WheelchairPushesRecord extends android.health.connect.datatypes.IntervalRecord {
1341    method public long getCount();
1342    field @NonNull public static final android.health.connect.datatypes.AggregationType<java.lang.Long> WHEEL_CHAIR_PUSHES_COUNT_TOTAL;
1343  }
1344
1345  public static final class WheelchairPushesRecord.Builder {
1346    ctor public WheelchairPushesRecord.Builder(@NonNull android.health.connect.datatypes.Metadata, @NonNull java.time.Instant, @NonNull java.time.Instant, @IntRange(from=1, to=1000000) long);
1347    method @NonNull public android.health.connect.datatypes.WheelchairPushesRecord build();
1348    method @NonNull public android.health.connect.datatypes.WheelchairPushesRecord.Builder clearEndZoneOffset();
1349    method @NonNull public android.health.connect.datatypes.WheelchairPushesRecord.Builder clearStartZoneOffset();
1350    method @NonNull public android.health.connect.datatypes.WheelchairPushesRecord.Builder setEndZoneOffset(@NonNull java.time.ZoneOffset);
1351    method @NonNull public android.health.connect.datatypes.WheelchairPushesRecord.Builder setStartZoneOffset(@NonNull java.time.ZoneOffset);
1352  }
1353
1354}
1355
1356package android.health.connect.datatypes.units {
1357
1358  public final class BloodGlucose implements java.lang.Comparable<android.health.connect.datatypes.units.BloodGlucose> {
1359    method public int compareTo(@NonNull android.health.connect.datatypes.units.BloodGlucose);
1360    method @NonNull public static android.health.connect.datatypes.units.BloodGlucose fromMillimolesPerLiter(double);
1361    method public double getInMillimolesPerLiter();
1362  }
1363
1364  public final class Energy implements java.lang.Comparable<android.health.connect.datatypes.units.Energy> {
1365    method public int compareTo(@NonNull android.health.connect.datatypes.units.Energy);
1366    method @NonNull public static android.health.connect.datatypes.units.Energy fromCalories(double);
1367    method public double getInCalories();
1368  }
1369
1370  public final class Length implements java.lang.Comparable<android.health.connect.datatypes.units.Length> {
1371    method public int compareTo(@NonNull android.health.connect.datatypes.units.Length);
1372    method @NonNull public static android.health.connect.datatypes.units.Length fromMeters(double);
1373    method public double getInMeters();
1374  }
1375
1376  public final class Mass implements java.lang.Comparable<android.health.connect.datatypes.units.Mass> {
1377    method public int compareTo(@NonNull android.health.connect.datatypes.units.Mass);
1378    method @NonNull public static android.health.connect.datatypes.units.Mass fromGrams(double);
1379    method public double getInGrams();
1380  }
1381
1382  public final class Percentage implements java.lang.Comparable<android.health.connect.datatypes.units.Percentage> {
1383    method public int compareTo(@NonNull android.health.connect.datatypes.units.Percentage);
1384    method @NonNull public static android.health.connect.datatypes.units.Percentage fromValue(double);
1385    method public double getValue();
1386  }
1387
1388  public final class Power implements java.lang.Comparable<android.health.connect.datatypes.units.Power> {
1389    method public int compareTo(@NonNull android.health.connect.datatypes.units.Power);
1390    method @NonNull public static android.health.connect.datatypes.units.Power fromWatts(double);
1391    method public double getInWatts();
1392  }
1393
1394  public final class Pressure implements java.lang.Comparable<android.health.connect.datatypes.units.Pressure> {
1395    method public int compareTo(@NonNull android.health.connect.datatypes.units.Pressure);
1396    method @NonNull public static android.health.connect.datatypes.units.Pressure fromMillimetersOfMercury(double);
1397    method public double getInMillimetersOfMercury();
1398  }
1399
1400  public final class Temperature implements java.lang.Comparable<android.health.connect.datatypes.units.Temperature> {
1401    method public int compareTo(@NonNull android.health.connect.datatypes.units.Temperature);
1402    method @NonNull public static android.health.connect.datatypes.units.Temperature fromCelsius(double);
1403    method public double getInCelsius();
1404  }
1405
1406  public final class Velocity implements java.lang.Comparable<android.health.connect.datatypes.units.Velocity> {
1407    method public int compareTo(@NonNull android.health.connect.datatypes.units.Velocity);
1408    method @NonNull public static android.health.connect.datatypes.units.Velocity fromMetersPerSecond(double);
1409    method public double getInMetersPerSecond();
1410  }
1411
1412  public final class Volume implements java.lang.Comparable<android.health.connect.datatypes.units.Volume> {
1413    method public int compareTo(@NonNull android.health.connect.datatypes.units.Volume);
1414    method @NonNull public static android.health.connect.datatypes.units.Volume fromLiters(double);
1415    method public double getInLiters();
1416  }
1417
1418}
1419
1420