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