1 /* 2 * Copyright (C) 2022 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 17 package android.adservices.ondevicepersonalization; 18 19 import android.annotation.NonNull; 20 import android.annotation.Nullable; 21 import android.os.Parcelable; 22 23 import com.android.ondevicepersonalization.internal.util.AnnotationValidations; 24 import com.android.ondevicepersonalization.internal.util.DataClass; 25 26 import java.util.Collections; 27 import java.util.List; 28 29 /** 30 * Parcelable version of {@link WebTriggerOutput}. 31 * @hide 32 */ 33 @DataClass(genAidl = false, genBuilder = false) 34 public final class WebTriggerOutputParcel implements Parcelable { 35 /** 36 * Persistent data to be written to the REQUESTS table after 37 * {@link IsolatedWorker#onWebTrigger(WebTriggerInput, android.os.OutcomeReceiver)} 38 * completes. If null, no persistent data will be written. 39 */ 40 @Nullable private RequestLogRecord mRequestLogRecord = null; 41 42 /** 43 * A list of {@link EventLogRecord}. Writes events to the EVENTS table and associates 44 * them with requests with the specified corresponding {@link RequestLogRecord} from 45 * {@link EventLogRecord#getRequestLogRecord()}. 46 * If the event does not contain a {@link RequestLogRecord} that was previously written 47 * by this service, the {@link EventLogRecord} is not written. 48 * 49 */ 50 @DataClass.PluralOf("eventLogRecord") 51 @NonNull private List<EventLogRecord> mEventLogRecords = Collections.emptyList(); 52 53 /** @hide */ WebTriggerOutputParcel(@onNull WebTriggerOutput value)54 public WebTriggerOutputParcel(@NonNull WebTriggerOutput value) { 55 this(value.getRequestLogRecord(), value.getEventLogRecords()); 56 } 57 58 59 60 // Code below generated by codegen v1.0.23. 61 // 62 // DO NOT MODIFY! 63 // CHECKSTYLE:OFF Generated code 64 // 65 // To regenerate run: 66 // $ codegen $ANDROID_BUILD_TOP/packages/modules/OnDevicePersonalization/framework/java/android/adservices/ondevicepersonalization/WebTriggerOutputParcel.java 67 // 68 // To exclude the generated code from IntelliJ auto-formatting enable (one-time): 69 // Settings > Editor > Code Style > Formatter Control 70 //@formatter:off 71 72 73 /** 74 * Creates a new WebTriggerOutputParcel. 75 * 76 * @param requestLogRecord 77 * Persistent data to be written to the REQUESTS table after 78 * {@link IsolatedWorker#onWebTrigger(WebTriggerInput, android.os.OutcomeReceiver)} 79 * completes. If null, no persistent data will be written. 80 * @param eventLogRecords 81 * A list of {@link EventLogRecord}. Writes events to the EVENTS table and associates 82 * them with requests with the specified corresponding {@link RequestLogRecord} from 83 * {@link EventLogRecord#getRequestLogRecord()}. 84 * If the event does not contain a {@link RequestLogRecord} that was previously written 85 * by this service, the {@link EventLogRecord} is not written. 86 */ 87 @DataClass.Generated.Member WebTriggerOutputParcel( @ullable RequestLogRecord requestLogRecord, @NonNull List<EventLogRecord> eventLogRecords)88 public WebTriggerOutputParcel( 89 @Nullable RequestLogRecord requestLogRecord, 90 @NonNull List<EventLogRecord> eventLogRecords) { 91 this.mRequestLogRecord = requestLogRecord; 92 this.mEventLogRecords = eventLogRecords; 93 AnnotationValidations.validate( 94 NonNull.class, null, mEventLogRecords); 95 96 // onConstructed(); // You can define this method to get a callback 97 } 98 99 /** 100 * Persistent data to be written to the REQUESTS table after 101 * {@link IsolatedWorker#onWebTrigger(WebTriggerInput, android.os.OutcomeReceiver)} 102 * completes. If null, no persistent data will be written. 103 */ 104 @DataClass.Generated.Member getRequestLogRecord()105 public @Nullable RequestLogRecord getRequestLogRecord() { 106 return mRequestLogRecord; 107 } 108 109 /** 110 * A list of {@link EventLogRecord}. Writes events to the EVENTS table and associates 111 * them with requests with the specified corresponding {@link RequestLogRecord} from 112 * {@link EventLogRecord#getRequestLogRecord()}. 113 * If the event does not contain a {@link RequestLogRecord} that was previously written 114 * by this service, the {@link EventLogRecord} is not written. 115 */ 116 @DataClass.Generated.Member getEventLogRecords()117 public @NonNull List<EventLogRecord> getEventLogRecords() { 118 return mEventLogRecords; 119 } 120 121 @Override 122 @DataClass.Generated.Member writeToParcel(@onNull android.os.Parcel dest, int flags)123 public void writeToParcel(@NonNull android.os.Parcel dest, int flags) { 124 // You can override field parcelling by defining methods like: 125 // void parcelFieldName(Parcel dest, int flags) { ... } 126 127 byte flg = 0; 128 if (mRequestLogRecord != null) flg |= 0x1; 129 dest.writeByte(flg); 130 if (mRequestLogRecord != null) dest.writeTypedObject(mRequestLogRecord, flags); 131 dest.writeParcelableList(mEventLogRecords, flags); 132 } 133 134 @Override 135 @DataClass.Generated.Member describeContents()136 public int describeContents() { return 0; } 137 138 /** @hide */ 139 @SuppressWarnings({"unchecked", "RedundantCast"}) 140 @DataClass.Generated.Member WebTriggerOutputParcel(@onNull android.os.Parcel in)141 /* package-private */ WebTriggerOutputParcel(@NonNull android.os.Parcel in) { 142 // You can override field unparcelling by defining methods like: 143 // static FieldType unparcelFieldName(Parcel in) { ... } 144 145 byte flg = in.readByte(); 146 RequestLogRecord requestLogRecord = (flg & 0x1) == 0 ? null : (RequestLogRecord) in.readTypedObject(RequestLogRecord.CREATOR); 147 List<EventLogRecord> eventLogRecords = new java.util.ArrayList<>(); 148 in.readParcelableList(eventLogRecords, EventLogRecord.class.getClassLoader()); 149 150 this.mRequestLogRecord = requestLogRecord; 151 this.mEventLogRecords = eventLogRecords; 152 AnnotationValidations.validate( 153 NonNull.class, null, mEventLogRecords); 154 155 // onConstructed(); // You can define this method to get a callback 156 } 157 158 @DataClass.Generated.Member 159 public static final @NonNull Parcelable.Creator<WebTriggerOutputParcel> CREATOR 160 = new Parcelable.Creator<WebTriggerOutputParcel>() { 161 @Override 162 public WebTriggerOutputParcel[] newArray(int size) { 163 return new WebTriggerOutputParcel[size]; 164 } 165 166 @Override 167 public WebTriggerOutputParcel createFromParcel(@NonNull android.os.Parcel in) { 168 return new WebTriggerOutputParcel(in); 169 } 170 }; 171 172 @DataClass.Generated( 173 time = 1704482141383L, 174 codegenVersion = "1.0.23", 175 sourceFile = "packages/modules/OnDevicePersonalization/framework/java/android/adservices/ondevicepersonalization/WebTriggerOutputParcel.java", 176 inputSignatures = "private @android.annotation.Nullable android.adservices.ondevicepersonalization.RequestLogRecord mRequestLogRecord\nprivate @com.android.ondevicepersonalization.internal.util.DataClass.PluralOf(\"eventLogRecord\") @android.annotation.NonNull java.util.List<android.adservices.ondevicepersonalization.EventLogRecord> mEventLogRecords\nclass WebTriggerOutputParcel extends java.lang.Object implements [android.os.Parcelable]\n@com.android.ondevicepersonalization.internal.util.DataClass(genAidl=false, genBuilder=false)") 177 @Deprecated __metadata()178 private void __metadata() {} 179 180 181 //@formatter:on 182 // End of generated code 183 184 } 185