• Home
Name Date Size #Lines LOC

..--

ActivityDatesRequestParcel.aidlD04-Jul-202589 42

ActivityDatesRequestParcel.javaD04-Jul-20253.4 KiB10060

ActivityDatesResponseParcel.aidlD04-Jul-202590 42

ActivityDatesResponseParcel.javaD04-Jul-20252.7 KiB8751

AggregateDataRequestParcel.aidlD04-Jul-202590 52

AggregateDataRequestParcel.javaD04-Jul-20256.8 KiB196149

AggregateDataResponseParcel.aidlD04-Jul-202591 52

AggregateDataResponseParcel.javaD04-Jul-202514.6 KiB361286

ApplicationInfoResponseParcel.aidlD04-Jul-202592 42

ApplicationInfoResponseParcel.javaD04-Jul-20253.9 KiB11372

DeleteUsingFiltersRequestParcel.aidlD04-Jul-202595 52

DeleteUsingFiltersRequestParcel.javaD04-Jul-20256.2 KiB176132

DeletedLogsParcel.javaD04-Jul-20252.7 KiB8955

GetPriorityResponseParcel.aidlD04-Jul-202589 52

GetPriorityResponseParcel.javaD04-Jul-20252.8 KiB7750

HealthConnectExceptionParcel.aidlD04-Jul-202592 52

HealthConnectExceptionParcel.javaD04-Jul-20252.5 KiB7647

IAccessLogsResponseCallback.aidlD04-Jul-2025496 157

IActivityDatesResponseCallback.aidlD04-Jul-2025506 167

IAggregateRecordsResponseCallback.aidlD04-Jul-2025510 177

IApplicationInfoResponseCallback.aidlD04-Jul-2025514 167

ICanRestoreResponseCallback.aidlD04-Jul-2025413 156

IChangeLogsResponseCallback.aidlD04-Jul-2025483 167

IDataStagingFinishedCallback.aidlD04-Jul-2025333 126

IEmptyResponseCallback.aidlD04-Jul-2025399 156

IGetChangeLogTokenCallback.aidlD04-Jul-2025498 177

IGetChangesForBackupResponseCallback.aidlD04-Jul-2025520 167

IGetHealthConnectDataStateCallback.aidlD04-Jul-2025440 137

IGetHealthConnectMigrationUiStateCallback.aidlD04-Jul-2025471 127

IGetLatestMetadataForBackupResponseCallback.aidlD04-Jul-2025548 167

IGetPriorityResponseCallback.aidlD04-Jul-2025503 177

IHealthConnectService.aidlD04-Jul-202522.7 KiB572189

IInsertRecordsResponseCallback.aidlD04-Jul-2025504 177

IMedicalDataSourceResponseCallback.aidlD04-Jul-2025500 177

IMedicalDataSourcesResponseCallback.aidlD04-Jul-2025506 177

IMedicalResourceListParcelResponseCallback.aidlD04-Jul-2025593 188

IMedicalResourceTypeInfosCallback.aidlD04-Jul-2025521 177

IMedicalResourcesResponseCallback.aidlD04-Jul-2025513 177

IMigrationCallback.aidlD04-Jul-2025445 176

IReadMedicalResourcesResponseCallback.aidlD04-Jul-2025515 177

IReadRecordsResponseCallback.aidlD04-Jul-2025495 177

IRecordTypeInfoResponseCallback.aidlD04-Jul-2025517 177

InsertRecordsResponseParcel.aidlD04-Jul-202591 52

InsertRecordsResponseParcel.javaD04-Jul-20252.4 KiB8144

MedicalResourceListParcel.aidlD04-Jul-202589 42

MedicalResourceListParcel.javaD04-Jul-20252.9 KiB8952

ReadMedicalResourcesRequestParcel.aidlD04-Jul-202597 42

ReadMedicalResourcesRequestParcel.javaD04-Jul-20254.7 KiB13292

ReadRecordsRequestParcel.aidlD04-Jul-202589 52

ReadRecordsRequestParcel.javaD04-Jul-20255.9 KiB175125

ReadRecordsResponseParcel.aidlD04-Jul-202590 52

ReadRecordsResponseParcel.javaD04-Jul-20252.4 KiB8045

RecordIdFiltersParcel.javaD04-Jul-20253.5 KiB9868

RecordTypeInfoResponseParcel.aidlD04-Jul-202593 52

RecordTypeInfoResponseParcel.javaD04-Jul-20255.6 KiB13798

RecordsParcel.aidlD04-Jul-202577 52

RecordsParcel.javaD04-Jul-20254.1 KiB12380

UpdatePriorityRequestParcel.aidlD04-Jul-202591 52

UpdatePriorityRequestParcel.javaD04-Jul-20252.6 KiB8052

UpsertMedicalResourceRequestsParcel.aidlD04-Jul-202598 42

UpsertMedicalResourceRequestsParcel.javaD04-Jul-20253.1 KiB9355

ReadMedicalResourcesRequestParcel.aidl

1 package android.health.connect.aidl;
2 
3 /** @hide */
4 parcelable  ReadMedicalResourcesRequestParcel;

ReadMedicalResourcesRequestParcel.java

1 /*
2  * Copyright (C) 2024 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package android.health.connect.aidl;
17 
18 import static android.health.connect.Constants.MAXIMUM_PAGE_SIZE;
19 import static android.health.connect.Constants.MINIMUM_PAGE_SIZE;
20 import static android.health.connect.datatypes.MedicalDataSource.validateMedicalDataSourceIds;
21 import static android.health.connect.datatypes.MedicalResource.validateMedicalResourceType;
22 import static android.health.connect.datatypes.validation.ValidationUtils.requireInRange;
23 
24 import static java.util.Objects.requireNonNull;
25 
26 import android.annotation.IntRange;
27 import android.annotation.NonNull;
28 import android.annotation.Nullable;
29 import android.health.connect.HealthConnectManager;
30 import android.health.connect.ReadMedicalResourcesInitialRequest;
31 import android.health.connect.ReadMedicalResourcesPageRequest;
32 import android.health.connect.datatypes.MedicalResource;
33 import android.os.Parcel;
34 import android.os.Parcelable;
35 import android.util.ArraySet;
36 
37 import java.util.ArrayList;
38 import java.util.HashSet;
39 import java.util.Set;
40 
41 /**
42  * A Parcel to carry read request to {@link HealthConnectManager#readMedicalResources}.
43  *
44  * <p>If {@code pageToken} in the request parcel is {@code null}, it means it's the initial request.
45  *
46  * @hide
47  */
48 public class ReadMedicalResourcesRequestParcel implements Parcelable {
49     private final boolean mIsPageRequest;
50     @MedicalResource.MedicalResourceType private int mMedicalResourceType;
51     @NonNull private Set<String> mDataSourceIds = Set.of();
52     @Nullable private String mPageToken = null;
53     private final int mPageSize;
54 
ReadMedicalResourcesRequestParcel(ReadMedicalResourcesInitialRequest request)55     public ReadMedicalResourcesRequestParcel(ReadMedicalResourcesInitialRequest request) {
56         mIsPageRequest = false;
57         mMedicalResourceType = request.getMedicalResourceType();
58         mDataSourceIds = request.getDataSourceIds();
59         mPageSize = request.getPageSize();
60     }
61 
ReadMedicalResourcesRequestParcel(ReadMedicalResourcesPageRequest request)62     public ReadMedicalResourcesRequestParcel(ReadMedicalResourcesPageRequest request) {
63         mIsPageRequest = true;
64         mPageToken = request.getPageToken();
65         mPageSize = request.getPageSize();
66     }
67 
ReadMedicalResourcesRequestParcel(Parcel in)68     private ReadMedicalResourcesRequestParcel(Parcel in) {
69         mIsPageRequest = in.readBoolean();
70         mMedicalResourceType = in.readInt();
71         mDataSourceIds = new HashSet<>(requireNonNull(in.createStringArrayList()));
72         validateMedicalDataSourceIds(mDataSourceIds);
73         mPageToken = in.readString();
74         mPageSize = in.readInt();
75         requireInRange(mPageSize, MINIMUM_PAGE_SIZE, MAXIMUM_PAGE_SIZE, "pageSize");
76 
77         if (mIsPageRequest && mPageToken == null) {
78             throw new IllegalArgumentException(
79                     "pageToken cannot be null when reading Parcel from page request.");
80         } else if (!mIsPageRequest) {
81             validateMedicalResourceType(mMedicalResourceType);
82         }
83     }
84 
85     public static final Creator<ReadMedicalResourcesRequestParcel> CREATOR =
86             new Creator<>() {
87                 @Override
88                 public ReadMedicalResourcesRequestParcel createFromParcel(Parcel in) {
89                     return new ReadMedicalResourcesRequestParcel(in);
90                 }
91 
92                 @Override
93                 public ReadMedicalResourcesRequestParcel[] newArray(int size) {
94                     return new ReadMedicalResourcesRequestParcel[size];
95                 }
96             };
97 
98     @MedicalResource.MedicalResourceType
getMedicalResourceType()99     public int getMedicalResourceType() {
100         return mMedicalResourceType;
101     }
102 
103     @NonNull
getDataSourceIds()104     public Set<String> getDataSourceIds() {
105         return new ArraySet<>(mDataSourceIds);
106     }
107 
108     @Nullable
getPageToken()109     public String getPageToken() {
110         return mPageToken;
111     }
112 
113     @IntRange(from = MINIMUM_PAGE_SIZE, to = MAXIMUM_PAGE_SIZE)
getPageSize()114     public int getPageSize() {
115         return mPageSize;
116     }
117 
118     @Override
describeContents()119     public int describeContents() {
120         return 0;
121     }
122 
123     @Override
writeToParcel(@onNull Parcel dest, int flags)124     public void writeToParcel(@NonNull Parcel dest, int flags) {
125         dest.writeBoolean(mIsPageRequest);
126         dest.writeInt(mMedicalResourceType);
127         dest.writeStringList(new ArrayList<>(mDataSourceIds));
128         dest.writeString(mPageToken);
129         dest.writeInt(mPageSize);
130     }
131 }
132