• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 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.car.watchdog;
18 
19 import static com.android.car.internal.ExcludeFromCodeCoverageGeneratedReport.BOILERPLATE_CODE;
20 
21 import android.annotation.NonNull;
22 import android.annotation.SystemApi;
23 import android.annotation.UserIdInt;
24 import android.car.annotation.AddedInOrBefore;
25 import android.os.Parcelable;
26 
27 import com.android.car.internal.ExcludeFromCodeCoverageGeneratedReport;
28 import com.android.car.internal.util.AnnotationValidations;
29 import com.android.car.internal.util.DataClass;
30 
31 /**
32  * Killable state for a package.
33  *
34  * @hide
35  */
36 @SystemApi
37 @DataClass(genToString = true, genHiddenConstructor = true, genHiddenConstDefs = true)
38 public final class PackageKillableState implements Parcelable {
39     /**
40      * A package is killable.
41      */
42     @AddedInOrBefore(majorVersion = 33)
43     public static final int KILLABLE_STATE_YES = 1;
44 
45     /**
46      * A package is not killable.
47      */
48     @AddedInOrBefore(majorVersion = 33)
49     public static final int KILLABLE_STATE_NO = 2;
50 
51     /**
52      * A package is never killable i.e., it's setting cannot be updated.
53      */
54     @AddedInOrBefore(majorVersion = 33)
55     public static final int KILLABLE_STATE_NEVER = 3;
56 
57     /**
58      * Name of the package.
59      */
60     private @NonNull String mPackageName;
61 
62     /**
63      * Id of the user.
64      */
65     private @UserIdInt int mUserId;
66 
67     /**
68      * Killable state of the user's package.
69      */
70     private @KillableState int mKillableState;
71 
72 
73 
74     // Code below generated by codegen v1.0.23.
75     //
76     // DO NOT MODIFY!
77     // CHECKSTYLE:OFF Generated code
78     //
79     // To regenerate run:
80     // $ codegen $ANDROID_BUILD_TOP/packages/services/Car/car-lib/src/android/car/watchdog/PackageKillableState.java
81     //
82     // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
83     //   Settings > Editor > Code Style > Formatter Control
84     //@formatter:off
85 
86 
87     /** @hide */
88     @android.annotation.IntDef(prefix = "KILLABLE_STATE_", value = {
89         KILLABLE_STATE_YES,
90         KILLABLE_STATE_NO,
91         KILLABLE_STATE_NEVER
92     })
93     @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
94     @DataClass.Generated.Member
95     public @interface KillableState {}
96 
97     /** @hide */
98     @DataClass.Generated.Member
99     @AddedInOrBefore(majorVersion = 33)
killableStateToString(@illableState int value)100     public static String killableStateToString(@KillableState int value) {
101         switch (value) {
102             case KILLABLE_STATE_YES:
103                     return "KILLABLE_STATE_YES";
104             case KILLABLE_STATE_NO:
105                     return "KILLABLE_STATE_NO";
106             case KILLABLE_STATE_NEVER:
107                     return "KILLABLE_STATE_NEVER";
108             default: return Integer.toHexString(value);
109         }
110     }
111 
112     /**
113      * Creates a new PackageKillableState.
114      *
115      * @param packageName
116      *   Name of the package.
117      * @param userId
118      *   Id of the user.
119      * @param killableState
120      *   Killable state of the user's package.
121      * @hide
122      */
123     @DataClass.Generated.Member
PackageKillableState( @onNull String packageName, @UserIdInt int userId, @KillableState int killableState)124     public PackageKillableState(
125             @NonNull String packageName,
126             @UserIdInt int userId,
127             @KillableState int killableState) {
128         this.mPackageName = packageName;
129         AnnotationValidations.validate(
130                 NonNull.class, null, mPackageName);
131         this.mUserId = userId;
132         AnnotationValidations.validate(
133                 UserIdInt.class, null, mUserId);
134         this.mKillableState = killableState;
135 
136         if (!(mKillableState == KILLABLE_STATE_YES)
137                 && !(mKillableState == KILLABLE_STATE_NO)
138                 && !(mKillableState == KILLABLE_STATE_NEVER)) {
139             throw new java.lang.IllegalArgumentException(
140                     "killableState was " + mKillableState + " but must be one of: "
141                             + "KILLABLE_STATE_YES(" + KILLABLE_STATE_YES + "), "
142                             + "KILLABLE_STATE_NO(" + KILLABLE_STATE_NO + "), "
143                             + "KILLABLE_STATE_NEVER(" + KILLABLE_STATE_NEVER + ")");
144         }
145 
146 
147         // onConstructed(); // You can define this method to get a callback
148     }
149 
150     /**
151      * Name of the package.
152      */
153     @DataClass.Generated.Member
154     @AddedInOrBefore(majorVersion = 33)
getPackageName()155     public @NonNull String getPackageName() {
156         return mPackageName;
157     }
158 
159     /**
160      * Id of the user.
161      */
162     @DataClass.Generated.Member
163     @AddedInOrBefore(majorVersion = 33)
getUserId()164     public @UserIdInt int getUserId() {
165         return mUserId;
166     }
167 
168     /**
169      * Killable state of the user's package.
170      */
171     @DataClass.Generated.Member
172     @AddedInOrBefore(majorVersion = 33)
getKillableState()173     public @KillableState int getKillableState() {
174         return mKillableState;
175     }
176 
177     @Override
178     @DataClass.Generated.Member
179     @AddedInOrBefore(majorVersion = 33)
toString()180     public String toString() {
181         // You can override field toString logic by defining methods like:
182         // String fieldNameToString() { ... }
183 
184         return "PackageKillableState { " +
185                 "packageName = " + mPackageName + ", " +
186                 "userId = " + mUserId + ", " +
187                 "killableState = " + killableStateToString(mKillableState) +
188         " }";
189     }
190 
191     @Override
192     @DataClass.Generated.Member
193     @AddedInOrBefore(majorVersion = 33)
writeToParcel(@onNull android.os.Parcel dest, int flags)194     public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
195         // You can override field parcelling by defining methods like:
196         // void parcelFieldName(Parcel dest, int flags) { ... }
197 
198         dest.writeString(mPackageName);
199         dest.writeInt(mUserId);
200         dest.writeInt(mKillableState);
201     }
202 
203     @Override
204     @DataClass.Generated.Member
205     @ExcludeFromCodeCoverageGeneratedReport(reason = BOILERPLATE_CODE)
206     @AddedInOrBefore(majorVersion = 33)
describeContents()207     public int describeContents() { return 0; }
208 
209     /** @hide */
210     @SuppressWarnings({"unchecked", "RedundantCast"})
211     @DataClass.Generated.Member
PackageKillableState(@onNull android.os.Parcel in)212     /* package-private */ PackageKillableState(@NonNull android.os.Parcel in) {
213         // You can override field unparcelling by defining methods like:
214         // static FieldType unparcelFieldName(Parcel in) { ... }
215 
216         String packageName = in.readString();
217         int userId = in.readInt();
218         int killableState = in.readInt();
219 
220         this.mPackageName = packageName;
221         AnnotationValidations.validate(
222                 NonNull.class, null, mPackageName);
223         this.mUserId = userId;
224         AnnotationValidations.validate(
225                 UserIdInt.class, null, mUserId);
226         this.mKillableState = killableState;
227 
228         if (!(mKillableState == KILLABLE_STATE_YES)
229                 && !(mKillableState == KILLABLE_STATE_NO)
230                 && !(mKillableState == KILLABLE_STATE_NEVER)) {
231             throw new java.lang.IllegalArgumentException(
232                     "killableState was " + mKillableState + " but must be one of: "
233                             + "KILLABLE_STATE_YES(" + KILLABLE_STATE_YES + "), "
234                             + "KILLABLE_STATE_NO(" + KILLABLE_STATE_NO + "), "
235                             + "KILLABLE_STATE_NEVER(" + KILLABLE_STATE_NEVER + ")");
236         }
237 
238 
239         // onConstructed(); // You can define this method to get a callback
240     }
241 
242     @DataClass.Generated.Member
243     @AddedInOrBefore(majorVersion = 33)
244     public static final @NonNull Parcelable.Creator<PackageKillableState> CREATOR
245             = new Parcelable.Creator<PackageKillableState>() {
246         @Override
247         public PackageKillableState[] newArray(int size) {
248             return new PackageKillableState[size];
249         }
250 
251         @Override
252         public PackageKillableState createFromParcel(@NonNull android.os.Parcel in) {
253             return new PackageKillableState(in);
254         }
255     };
256 
257     @DataClass.Generated(
258             time = 1628099314740L,
259             codegenVersion = "1.0.23",
260             sourceFile = "packages/services/Car/car-lib/src/android/car/watchdog/PackageKillableState.java",
261             inputSignatures = "public static final  int KILLABLE_STATE_YES\npublic static final  int KILLABLE_STATE_NO\npublic static final  int KILLABLE_STATE_NEVER\nprivate @android.annotation.NonNull java.lang.String mPackageName\nprivate @android.annotation.UserIdInt int mUserId\nprivate @android.car.watchdog.PackageKillableState.KillableState int mKillableState\nclass PackageKillableState extends java.lang.Object implements [android.os.Parcelable]\n@com.android.car.internal.util.DataClass(genToString=true, genHiddenConstructor=true, genHiddenConstDefs=true)")
262     @Deprecated
263     @ExcludeFromCodeCoverageGeneratedReport(reason = BOILERPLATE_CODE)
__metadata()264     private void __metadata() {}
265 
266 
267     //@formatter:on
268     // End of generated code
269 
270 }
271