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