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