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