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