• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.ondevicepersonalization;
18 
19 import android.annotation.NonNull;
20 import android.annotation.Nullable;
21 import android.os.Parcelable;
22 import android.os.PersistableBundle;
23 
24 import com.android.ondevicepersonalization.internal.util.AnnotationValidations;
25 import com.android.ondevicepersonalization.internal.util.DataClass;
26 
27 /**
28  * The input data for an {@link IsolatedComputationHandler}.
29  *
30  * @hide
31  */
32 @DataClass(genBuilder = true, genEqualsHashCode = true)
33 public final class ExecuteInput implements Parcelable {
34     /** The package name of the calling app. */
35     @NonNull String mAppPackageName;
36 
37     /** Parameters provided by the app to the {@link IsolatedComputationService}. */
38     @Nullable PersistableBundle mAppParams;
39 
40 
41 
42     // Code below generated by codegen v1.0.23.
43     //
44     // DO NOT MODIFY!
45     // CHECKSTYLE:OFF Generated code
46     //
47     // To regenerate run:
48     // $ codegen $ANDROID_BUILD_TOP/packages/modules/OnDevicePersonalization/framework/java/android/ondevicepersonalization/ExecuteInput.java
49     //
50     // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
51     //   Settings > Editor > Code Style > Formatter Control
52     //@formatter:off
53 
54 
55     @DataClass.Generated.Member
ExecuteInput( @onNull String appPackageName, @Nullable PersistableBundle appParams)56     /* package-private */ ExecuteInput(
57             @NonNull String appPackageName,
58             @Nullable PersistableBundle appParams) {
59         this.mAppPackageName = appPackageName;
60         AnnotationValidations.validate(
61                 NonNull.class, null, mAppPackageName);
62         this.mAppParams = appParams;
63 
64         // onConstructed(); // You can define this method to get a callback
65     }
66 
67     /**
68      * The package name of the calling app.
69      */
70     @DataClass.Generated.Member
getAppPackageName()71     public @NonNull String getAppPackageName() {
72         return mAppPackageName;
73     }
74 
75     /**
76      * Parameters provided by the app to the {@link IsolatedComputationService}.
77      */
78     @DataClass.Generated.Member
getAppParams()79     public @Nullable PersistableBundle getAppParams() {
80         return mAppParams;
81     }
82 
83     @Override
84     @DataClass.Generated.Member
equals(@ullable Object o)85     public boolean equals(@Nullable Object o) {
86         // You can override field equality logic by defining either of the methods like:
87         // boolean fieldNameEquals(ExecuteInput other) { ... }
88         // boolean fieldNameEquals(FieldType otherValue) { ... }
89 
90         if (this == o) return true;
91         if (o == null || getClass() != o.getClass()) return false;
92         @SuppressWarnings("unchecked")
93         ExecuteInput that = (ExecuteInput) o;
94         //noinspection PointlessBooleanExpression
95         return true
96                 && java.util.Objects.equals(mAppPackageName, that.mAppPackageName)
97                 && java.util.Objects.equals(mAppParams, that.mAppParams);
98     }
99 
100     @Override
101     @DataClass.Generated.Member
hashCode()102     public int hashCode() {
103         // You can override field hashCode logic by defining methods like:
104         // int fieldNameHashCode() { ... }
105 
106         int _hash = 1;
107         _hash = 31 * _hash + java.util.Objects.hashCode(mAppPackageName);
108         _hash = 31 * _hash + java.util.Objects.hashCode(mAppParams);
109         return _hash;
110     }
111 
112     @Override
113     @DataClass.Generated.Member
writeToParcel(@onNull android.os.Parcel dest, int flags)114     public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
115         // You can override field parcelling by defining methods like:
116         // void parcelFieldName(Parcel dest, int flags) { ... }
117 
118         byte flg = 0;
119         if (mAppParams != null) flg |= 0x2;
120         dest.writeByte(flg);
121         dest.writeString(mAppPackageName);
122         if (mAppParams != null) dest.writeTypedObject(mAppParams, flags);
123     }
124 
125     @Override
126     @DataClass.Generated.Member
describeContents()127     public int describeContents() { return 0; }
128 
129     /** @hide */
130     @SuppressWarnings({"unchecked", "RedundantCast"})
131     @DataClass.Generated.Member
ExecuteInput(@onNull android.os.Parcel in)132     /* package-private */ ExecuteInput(@NonNull android.os.Parcel in) {
133         // You can override field unparcelling by defining methods like:
134         // static FieldType unparcelFieldName(Parcel in) { ... }
135 
136         byte flg = in.readByte();
137         String appPackageName = in.readString();
138         PersistableBundle appParams = (flg & 0x2) == 0 ? null : (PersistableBundle) in.readTypedObject(PersistableBundle.CREATOR);
139 
140         this.mAppPackageName = appPackageName;
141         AnnotationValidations.validate(
142                 NonNull.class, null, mAppPackageName);
143         this.mAppParams = appParams;
144 
145         // onConstructed(); // You can define this method to get a callback
146     }
147 
148     @DataClass.Generated.Member
149     public static final @NonNull Parcelable.Creator<ExecuteInput> CREATOR
150             = new Parcelable.Creator<ExecuteInput>() {
151         @Override
152         public ExecuteInput[] newArray(int size) {
153             return new ExecuteInput[size];
154         }
155 
156         @Override
157         public ExecuteInput createFromParcel(@NonNull android.os.Parcel in) {
158             return new ExecuteInput(in);
159         }
160     };
161 
162     /**
163      * A builder for {@link ExecuteInput}
164      */
165     @SuppressWarnings("WeakerAccess")
166     @DataClass.Generated.Member
167     public static final class Builder {
168 
169         private @NonNull String mAppPackageName;
170         private @Nullable PersistableBundle mAppParams;
171 
172         private long mBuilderFieldsSet = 0L;
173 
174         /**
175          * Creates a new Builder.
176          */
Builder()177         public Builder() {
178         }
179 
180         /**
181          * Creates a new Builder.
182          *
183          * @param appPackageName
184          *   The package name of the calling app.
185          * @param appParams
186          *   Parameters provided by the app to the {@link IsolatedComputationService}.
187          */
Builder( @onNull String appPackageName, @Nullable PersistableBundle appParams)188         public Builder(
189                 @NonNull String appPackageName,
190                 @Nullable PersistableBundle appParams) {
191             mAppPackageName = appPackageName;
192             AnnotationValidations.validate(
193                     NonNull.class, null, mAppPackageName);
194             mAppParams = appParams;
195         }
196 
197         /**
198          * The package name of the calling app.
199          */
200         @DataClass.Generated.Member
setAppPackageName(@onNull String value)201         public @NonNull Builder setAppPackageName(@NonNull String value) {
202             checkNotUsed();
203             mBuilderFieldsSet |= 0x1;
204             mAppPackageName = value;
205             return this;
206         }
207 
208         /**
209          * Parameters provided by the app to the {@link IsolatedComputationService}.
210          */
211         @DataClass.Generated.Member
setAppParams(@onNull PersistableBundle value)212         public @NonNull Builder setAppParams(@NonNull PersistableBundle value) {
213             checkNotUsed();
214             mBuilderFieldsSet |= 0x2;
215             mAppParams = value;
216             return this;
217         }
218 
219         /** Builds the instance. This builder should not be touched after calling this! */
build()220         public @NonNull ExecuteInput build() {
221             checkNotUsed();
222             mBuilderFieldsSet |= 0x4; // Mark builder used
223 
224             ExecuteInput o = new ExecuteInput(
225                     mAppPackageName,
226                     mAppParams);
227             return o;
228         }
229 
checkNotUsed()230         private void checkNotUsed() {
231             if ((mBuilderFieldsSet & 0x4) != 0) {
232                 throw new IllegalStateException(
233                         "This Builder should not be reused. Use a new Builder instance instead");
234             }
235         }
236     }
237 
238     @DataClass.Generated(
239             time = 1680551305542L,
240             codegenVersion = "1.0.23",
241             sourceFile = "packages/modules/OnDevicePersonalization/framework/java/android/ondevicepersonalization/ExecuteInput.java",
242             inputSignatures = " @android.annotation.NonNull java.lang.String mAppPackageName\n @android.annotation.Nullable android.os.PersistableBundle mAppParams\nclass ExecuteInput extends java.lang.Object implements [android.os.Parcelable]\n@com.android.ondevicepersonalization.internal.util.DataClass(genBuilder=true, genEqualsHashCode=true)")
243     @Deprecated
__metadata()244     private void __metadata() {}
245 
246 
247     //@formatter:on
248     // End of generated code
249 
250 }
251