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