1// Signature format: 2.0 2package android.health.connect { 3 4 public class ApplicationInfoResponse { 5 method @NonNull public java.util.List<android.health.connect.datatypes.AppInfo> getApplicationInfoList(); 6 } 7 8 public final class DeleteUsingFiltersRequest { 9 method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOrigins(); 10 method @NonNull public java.util.Set<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes(); 11 method @Nullable public android.health.connect.TimeRangeFilter getTimeRangeFilter(); 12 } 13 14 public static final class DeleteUsingFiltersRequest.Builder { 15 ctor public DeleteUsingFiltersRequest.Builder(); 16 method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin); 17 method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addRecordType(@NonNull Class<? extends android.health.connect.datatypes.Record>); 18 method @NonNull public android.health.connect.DeleteUsingFiltersRequest build(); 19 method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearDataOrigins(); 20 method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearRecordTypes(); 21 method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder setTimeRangeFilter(@Nullable android.health.connect.TimeRangeFilter); 22 } 23 24 public final class FetchDataOriginsPriorityOrderResponse { 25 method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginsPriorityOrder(); 26 } 27 28 public final class HealthConnectDataState implements android.os.Parcelable { 29 method public int describeContents(); 30 method public int getDataMigrationState(); 31 method public int getDataRestoreError(); 32 method public int getDataRestoreState(); 33 method public void writeToParcel(@NonNull android.os.Parcel, int); 34 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.HealthConnectDataState> CREATOR; 35 field public static final int MIGRATION_STATE_ALLOWED = 4; // 0x4 36 field public static final int MIGRATION_STATE_APP_UPGRADE_REQUIRED = 1; // 0x1 37 field public static final int MIGRATION_STATE_COMPLETE = 5; // 0x5 38 field public static final int MIGRATION_STATE_IDLE = 0; // 0x0 39 field public static final int MIGRATION_STATE_IN_PROGRESS = 3; // 0x3 40 field public static final int MIGRATION_STATE_MODULE_UPGRADE_REQUIRED = 2; // 0x2 41 field public static final int RESTORE_ERROR_FETCHING_DATA = 2; // 0x2 42 field public static final int RESTORE_ERROR_NONE = 0; // 0x0 43 field public static final int RESTORE_ERROR_UNKNOWN = 1; // 0x1 44 field public static final int RESTORE_ERROR_VERSION_DIFF = 3; // 0x3 45 field public static final int RESTORE_STATE_IDLE = 0; // 0x0 46 field public static final int RESTORE_STATE_IN_PROGRESS = 2; // 0x2 47 field public static final int RESTORE_STATE_PENDING = 1; // 0x1 48 } 49 50 public class HealthConnectManager { 51 method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_PERMISSIONS) public void deleteRecords(@NonNull android.health.connect.DeleteUsingFiltersRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>); 52 method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void fetchDataOriginsPriorityOrder(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.FetchDataOriginsPriorityOrderResponse,android.health.connect.HealthConnectException>); 53 method @RequiresPermission(android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA) public void finishMigration(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.migration.MigrationException>); 54 method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void getContributorApplicationsInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.ApplicationInfoResponse,android.health.connect.HealthConnectException>); 55 method @RequiresPermission(anyOf={android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION, android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA}) public void getHealthConnectDataState(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.HealthConnectDataState,android.health.connect.HealthConnectException>); 56 method @NonNull public static java.util.Set<java.lang.String> getHealthPermissions(@NonNull android.content.Context); 57 method @IntRange(from=0, to=7300) @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public int getRecordRetentionPeriodInDays(); 58 method @RequiresPermission(android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA) public void insertMinDataMigrationSdkExtensionVersion(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.migration.MigrationException>); 59 method public static boolean isHealthPermission(@NonNull android.content.Context, @NonNull String); 60 method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void queryAccessLogs(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.health.connect.accesslog.AccessLog>,android.health.connect.HealthConnectException>); 61 method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void queryActivityDates(@NonNull java.util.List<java.lang.Class<? extends android.health.connect.datatypes.Record>>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<java.time.LocalDate>,android.health.connect.HealthConnectException>); 62 method @FlaggedApi("com.android.healthfitness.flags.personal_health_record") @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void queryAllMedicalResourceTypeInfos(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.health.connect.MedicalResourceTypeInfo>,android.health.connect.HealthConnectException>); 63 method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void queryAllRecordTypesInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.Map<java.lang.Class<? extends android.health.connect.datatypes.Record>,android.health.connect.RecordTypeInfoResponse>,android.health.connect.HealthConnectException>); 64 method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void setRecordRetentionPeriodInDays(@IntRange(from=0, to=7300) int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>); 65 method @RequiresPermission(android.Manifest.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA) public void stageAllHealthConnectRemoteData(@NonNull java.util.Map<java.lang.String,android.os.ParcelFileDescriptor>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.restore.StageRemoteDataException>) throws java.lang.NullPointerException; 66 method @RequiresPermission(android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA) public void startMigration(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.migration.MigrationException>); 67 method @RequiresPermission(android.Manifest.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA) public void updateDataDownloadState(int); 68 method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void updateDataOriginPriorityOrder(@NonNull android.health.connect.UpdateDataOriginPriorityOrderRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>); 69 method @RequiresPermission(android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA) public void writeMigrationData(@NonNull java.util.List<android.health.connect.migration.MigrationEntity>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.migration.MigrationException>); 70 field public static final String ACTION_HEALTH_CONNECT_MIGRATION_READY = "android.health.connect.action.HEALTH_CONNECT_MIGRATION_READY"; 71 field public static final String ACTION_HEALTH_HOME_SETTINGS = "android.health.connect.action.HEALTH_HOME_SETTINGS"; 72 field public static final String ACTION_MANAGE_HEALTH_DATA = "android.health.connect.action.MANAGE_HEALTH_DATA"; 73 field public static final String ACTION_REQUEST_HEALTH_PERMISSIONS = "android.health.connect.action.REQUEST_HEALTH_PERMISSIONS"; 74 field public static final String ACTION_SHOW_MIGRATION_INFO = "android.health.connect.action.SHOW_MIGRATION_INFO"; 75 field public static final int DATA_DOWNLOAD_COMPLETE = 4; // 0x4 76 field public static final int DATA_DOWNLOAD_FAILED = 3; // 0x3 77 field public static final int DATA_DOWNLOAD_RETRY = 2; // 0x2 78 field public static final int DATA_DOWNLOAD_STARTED = 1; // 0x1 79 field public static final int DATA_DOWNLOAD_STATE_UNKNOWN = 0; // 0x0 80 } 81 82 public class HealthDataCategory { 83 field public static final int ACTIVITY = 1; // 0x1 84 field public static final int BODY_MEASUREMENTS = 2; // 0x2 85 field public static final int CYCLE_TRACKING = 3; // 0x3 86 field public static final int NUTRITION = 4; // 0x4 87 field public static final int SLEEP = 5; // 0x5 88 field public static final int UNKNOWN = 0; // 0x0 89 field public static final int VITALS = 6; // 0x6 90 field @FlaggedApi("com.android.healthfitness.flags.mindfulness") public static final int WELLNESS = 7; // 0x7 91 } 92 93 public class HealthPermissionCategory { 94 field public static final int ACTIVE_CALORIES_BURNED = 1; // 0x1 95 field @FlaggedApi("com.android.healthfitness.flags.activity_intensity") public static final int ACTIVITY_INTENSITY = 42; // 0x2a 96 field public static final int BASAL_BODY_TEMPERATURE = 33; // 0x21 97 field public static final int BASAL_METABOLIC_RATE = 9; // 0x9 98 field public static final int BLOOD_GLUCOSE = 26; // 0x1a 99 field public static final int BLOOD_PRESSURE = 27; // 0x1b 100 field public static final int BODY_FAT = 10; // 0xa 101 field public static final int BODY_TEMPERATURE = 28; // 0x1c 102 field public static final int BODY_WATER_MASS = 11; // 0xb 103 field public static final int BONE_MASS = 12; // 0xc 104 field public static final int CERVICAL_MUCUS = 18; // 0x12 105 field public static final int DISTANCE = 2; // 0x2 106 field public static final int ELEVATION_GAINED = 3; // 0x3 107 field public static final int EXERCISE = 4; // 0x4 108 field public static final int FLOORS_CLIMBED = 5; // 0x5 109 field public static final int HEART_RATE = 29; // 0x1d 110 field public static final int HEART_RATE_VARIABILITY = 30; // 0x1e 111 field public static final int HEIGHT = 13; // 0xd 112 field public static final int HYDRATION = 23; // 0x17 113 field public static final int INTERMENSTRUAL_BLEEDING = 38; // 0x26 114 field public static final int LEAN_BODY_MASS = 15; // 0xf 115 field public static final int MENSTRUATION = 20; // 0x14 116 field @FlaggedApi("com.android.healthfitness.flags.mindfulness") public static final int MINDFULNESS = 41; // 0x29 117 field public static final int NUTRITION = 24; // 0x18 118 field public static final int OVULATION_TEST = 21; // 0x15 119 field public static final int OXYGEN_SATURATION = 31; // 0x1f 120 field @FlaggedApi("com.android.healthconnect.flags.training_plans") public static final int PLANNED_EXERCISE = 40; // 0x28 121 field public static final int POWER = 36; // 0x24 122 field public static final int RESPIRATORY_RATE = 32; // 0x20 123 field public static final int RESTING_HEART_RATE = 34; // 0x22 124 field public static final int SEXUAL_ACTIVITY = 22; // 0x16 125 field @FlaggedApi("com.android.healthconnect.flags.skin_temperature") public static final int SKIN_TEMPERATURE = 39; // 0x27 126 field public static final int SLEEP = 25; // 0x19 127 field public static final int SPEED = 37; // 0x25 128 field public static final int STEPS = 6; // 0x6 129 field public static final int TOTAL_CALORIES_BURNED = 35; // 0x23 130 field public static final int UNKNOWN = 0; // 0x0 131 field public static final int VO2_MAX = 7; // 0x7 132 field public static final int WEIGHT = 17; // 0x11 133 field public static final int WHEELCHAIR_PUSHES = 8; // 0x8 134 } 135 136 public final class HealthPermissions { 137 field public static final String HEALTH_PERMISSION_GROUP = "android.permission-group.HEALTH"; 138 field public static final String MANAGE_HEALTH_DATA_PERMISSION = "android.permission.MANAGE_HEALTH_DATA"; 139 field public static final String MANAGE_HEALTH_PERMISSIONS = "android.permission.MANAGE_HEALTH_PERMISSIONS"; 140 } 141 142 @FlaggedApi("com.android.healthfitness.flags.personal_health_record") public final class MedicalResourceTypeInfo implements android.os.Parcelable { 143 ctor public MedicalResourceTypeInfo(int, @NonNull java.util.Set<android.health.connect.datatypes.MedicalDataSource>); 144 method public int describeContents(); 145 method @NonNull public java.util.Set<android.health.connect.datatypes.MedicalDataSource> getContributingDataSources(); 146 method public int getMedicalResourceType(); 147 method public void writeToParcel(@NonNull android.os.Parcel, int); 148 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.MedicalResourceTypeInfo> CREATOR; 149 } 150 151 public class RecordTypeInfoResponse { 152 method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getContributingPackages(); 153 method public int getDataCategory(); 154 method public int getPermissionCategory(); 155 } 156 157 public final class UpdateDataOriginPriorityOrderRequest { 158 ctor public UpdateDataOriginPriorityOrderRequest(@NonNull java.util.List<android.health.connect.datatypes.DataOrigin>, int); 159 method public int getDataCategory(); 160 method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginInOrder(); 161 } 162 163} 164 165package android.health.connect.accesslog { 166 167 public final class AccessLog implements android.os.Parcelable { 168 method public int describeContents(); 169 method @NonNull public java.time.Instant getAccessTime(); 170 method @FlaggedApi("com.android.healthfitness.flags.personal_health_record") @NonNull public java.util.Set<java.lang.Integer> getMedicalResourceTypes(); 171 method public int getOperationType(); 172 method @NonNull public String getPackageName(); 173 method @NonNull public java.util.List<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes(); 174 method @FlaggedApi("com.android.healthfitness.flags.personal_health_record") public boolean isMedicalDataSourceAccessed(); 175 method public void writeToParcel(@NonNull android.os.Parcel, int); 176 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.accesslog.AccessLog> CREATOR; 177 } 178 179 public static final class AccessLog.OperationType { 180 field public static final int OPERATION_TYPE_DELETE = 1; // 0x1 181 field public static final int OPERATION_TYPE_READ = 2; // 0x2 182 field public static final int OPERATION_TYPE_UPSERT = 0; // 0x0 183 } 184 185} 186 187package android.health.connect.datatypes { 188 189 public abstract class Record { 190 method public int getRecordType(); 191 } 192 193 public final class RecordTypeIdentifier { 194 field public static final int RECORD_TYPE_ACTIVE_CALORIES_BURNED = 2; // 0x2 195 field @FlaggedApi("com.android.healthfitness.flags.activity_intensity") public static final int RECORD_TYPE_ACTIVITY_INTENSITY = 42; // 0x2a 196 field public static final int RECORD_TYPE_BASAL_BODY_TEMPERATURE = 20; // 0x14 197 field public static final int RECORD_TYPE_BASAL_METABOLIC_RATE = 16; // 0x10 198 field public static final int RECORD_TYPE_BLOOD_GLUCOSE = 25; // 0x19 199 field public static final int RECORD_TYPE_BLOOD_PRESSURE = 23; // 0x17 200 field public static final int RECORD_TYPE_BODY_FAT = 17; // 0x11 201 field public static final int RECORD_TYPE_BODY_TEMPERATURE = 29; // 0x1d 202 field public static final int RECORD_TYPE_BODY_WATER_MASS = 34; // 0x22 203 field public static final int RECORD_TYPE_BONE_MASS = 32; // 0x20 204 field public static final int RECORD_TYPE_CERVICAL_MUCUS = 19; // 0x13 205 field public static final int RECORD_TYPE_CYCLING_PEDALING_CADENCE = 12; // 0xc 206 field public static final int RECORD_TYPE_DISTANCE = 7; // 0x7 207 field public static final int RECORD_TYPE_ELEVATION_GAINED = 4; // 0x4 208 field public static final int RECORD_TYPE_EXERCISE_SESSION = 37; // 0x25 209 field public static final int RECORD_TYPE_FLOORS_CLIMBED = 5; // 0x5 210 field public static final int RECORD_TYPE_HEART_RATE = 11; // 0xb 211 field public static final int RECORD_TYPE_HEART_RATE_VARIABILITY_RMSSD = 35; // 0x23 212 field public static final int RECORD_TYPE_HEIGHT = 24; // 0x18 213 field public static final int RECORD_TYPE_HYDRATION = 3; // 0x3 214 field public static final int RECORD_TYPE_INTERMENSTRUAL_BLEEDING = 36; // 0x24 215 field public static final int RECORD_TYPE_LEAN_BODY_MASS = 27; // 0x1b 216 field public static final int RECORD_TYPE_MENSTRUATION_FLOW = 21; // 0x15 217 field public static final int RECORD_TYPE_MENSTRUATION_PERIOD = 10; // 0xa 218 field @FlaggedApi("com.android.healthfitness.flags.mindfulness") public static final int RECORD_TYPE_MINDFULNESS_SESSION = 41; // 0x29 219 field public static final int RECORD_TYPE_NUTRITION = 8; // 0x8 220 field public static final int RECORD_TYPE_OVULATION_TEST = 30; // 0x1e 221 field public static final int RECORD_TYPE_OXYGEN_SATURATION = 22; // 0x16 222 field @FlaggedApi("com.android.healthconnect.flags.training_plans") public static final int RECORD_TYPE_PLANNED_EXERCISE_SESSION = 40; // 0x28 223 field public static final int RECORD_TYPE_POWER = 13; // 0xd 224 field public static final int RECORD_TYPE_RESPIRATORY_RATE = 31; // 0x1f 225 field public static final int RECORD_TYPE_RESTING_HEART_RATE = 33; // 0x21 226 field public static final int RECORD_TYPE_SEXUAL_ACTIVITY = 28; // 0x1c 227 field @FlaggedApi("com.android.healthconnect.flags.skin_temperature") public static final int RECORD_TYPE_SKIN_TEMPERATURE = 39; // 0x27 228 field public static final int RECORD_TYPE_SLEEP_SESSION = 38; // 0x26 229 field public static final int RECORD_TYPE_SPEED = 14; // 0xe 230 field public static final int RECORD_TYPE_STEPS = 1; // 0x1 231 field public static final int RECORD_TYPE_STEPS_CADENCE = 15; // 0xf 232 field public static final int RECORD_TYPE_TOTAL_CALORIES_BURNED = 9; // 0x9 233 field public static final int RECORD_TYPE_UNKNOWN = 0; // 0x0 234 field public static final int RECORD_TYPE_VO2_MAX = 18; // 0x12 235 field public static final int RECORD_TYPE_WEIGHT = 26; // 0x1a 236 field public static final int RECORD_TYPE_WHEELCHAIR_PUSHES = 6; // 0x6 237 } 238 239} 240 241package android.health.connect.migration { 242 243 public final class AppInfoMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable { 244 method @Nullable public byte[] getAppIcon(); 245 method @NonNull public String getAppName(); 246 method @NonNull public String getPackageName(); 247 method public void writeToParcel(@NonNull android.os.Parcel, int); 248 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.AppInfoMigrationPayload> CREATOR; 249 } 250 251 public static final class AppInfoMigrationPayload.Builder { 252 ctor public AppInfoMigrationPayload.Builder(@NonNull String, @NonNull String); 253 method @NonNull public android.health.connect.migration.AppInfoMigrationPayload build(); 254 method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppIcon(@Nullable byte[]); 255 method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppName(@NonNull String); 256 method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setPackageName(@NonNull String); 257 } 258 259 public final class MetadataMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable { 260 method public int getRecordRetentionPeriodDays(); 261 method public void writeToParcel(@NonNull android.os.Parcel, int); 262 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MetadataMigrationPayload> CREATOR; 263 } 264 265 public static final class MetadataMigrationPayload.Builder { 266 ctor public MetadataMigrationPayload.Builder(); 267 method @NonNull public android.health.connect.migration.MetadataMigrationPayload build(); 268 method @NonNull public android.health.connect.migration.MetadataMigrationPayload.Builder setRecordRetentionPeriodDays(@IntRange(from=0x0, to=0x1c84) int); 269 } 270 271 public final class MigrationEntity implements android.os.Parcelable { 272 ctor public MigrationEntity(@NonNull String, @NonNull android.health.connect.migration.MigrationPayload); 273 method public int describeContents(); 274 method @NonNull public String getEntityId(); 275 method @NonNull public android.health.connect.migration.MigrationPayload getPayload(); 276 method public void writeToParcel(@NonNull android.os.Parcel, int); 277 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationEntity> CREATOR; 278 } 279 280 public final class MigrationException extends java.lang.RuntimeException implements android.os.Parcelable { 281 ctor public MigrationException(@Nullable String, int, @Nullable String); 282 method public int describeContents(); 283 method public int getErrorCode(); 284 method @Nullable public String getFailedEntityId(); 285 method public void writeToParcel(@NonNull android.os.Parcel, int); 286 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationException> CREATOR; 287 field public static final int ERROR_INTERNAL = 1; // 0x1 288 field public static final int ERROR_MIGRATE_ENTITY = 2; // 0x2 289 field public static final int ERROR_MIGRATION_UNAVAILABLE = 3; // 0x3 290 } 291 292 public abstract class MigrationPayload implements android.os.Parcelable { 293 method public int describeContents(); 294 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationPayload> CREATOR; 295 } 296 297 public final class PermissionMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable { 298 method @NonNull public java.time.Instant getFirstGrantTime(); 299 method @NonNull public String getHoldingPackageName(); 300 method @NonNull public java.util.List<java.lang.String> getPermissions(); 301 method public void writeToParcel(@NonNull android.os.Parcel, int); 302 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PermissionMigrationPayload> CREATOR; 303 } 304 305 public static final class PermissionMigrationPayload.Builder { 306 ctor public PermissionMigrationPayload.Builder(@NonNull String, @NonNull java.time.Instant); 307 method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder addPermission(@NonNull String); 308 method @NonNull public android.health.connect.migration.PermissionMigrationPayload build(); 309 method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setFirstGrantTime(@NonNull java.time.Instant); 310 method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setHoldingPackageName(@NonNull String); 311 } 312 313 public final class PriorityMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable { 314 method public int getDataCategory(); 315 method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOrigins(); 316 method public void writeToParcel(@NonNull android.os.Parcel, int); 317 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PriorityMigrationPayload> CREATOR; 318 } 319 320 public static final class PriorityMigrationPayload.Builder { 321 ctor public PriorityMigrationPayload.Builder(); 322 method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin); 323 method @NonNull public android.health.connect.migration.PriorityMigrationPayload build(); 324 method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder setDataCategory(int); 325 } 326 327 public final class RecordMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable { 328 method @NonNull public String getOriginAppName(); 329 method @NonNull public String getOriginPackageName(); 330 method @NonNull public android.health.connect.datatypes.Record getRecord(); 331 method public void writeToParcel(@NonNull android.os.Parcel, int); 332 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.RecordMigrationPayload> CREATOR; 333 } 334 335 public static final class RecordMigrationPayload.Builder { 336 ctor public RecordMigrationPayload.Builder(@NonNull String, @NonNull String, @NonNull android.health.connect.datatypes.Record); 337 method @NonNull public android.health.connect.migration.RecordMigrationPayload build(); 338 method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginAppName(@NonNull String); 339 method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginPackageName(@NonNull String); 340 method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setRecord(@NonNull android.health.connect.datatypes.Record); 341 } 342 343} 344 345package android.health.connect.restore { 346 347 public final class StageRemoteDataException extends java.lang.RuntimeException implements android.os.Parcelable { 348 method public int describeContents(); 349 method @NonNull public java.util.Map<java.lang.String,android.health.connect.HealthConnectException> getExceptionsByFileNames(); 350 method public void writeToParcel(@NonNull android.os.Parcel, int); 351 field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.restore.StageRemoteDataException> CREATOR; 352 } 353 354} 355 356