• 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.user;
18 
19 import static com.android.car.internal.ExcludeFromCodeCoverageGeneratedReport.BOILERPLATE_CODE;
20 
21 import android.os.Parcelable;
22 
23 import com.android.car.internal.ExcludeFromCodeCoverageGeneratedReport;
24 import com.android.car.internal.util.DataClass;
25 
26 /**
27  * User start results.
28  *
29  * @hide
30  */
31 @DataClass(
32         genToString = true,
33         genHiddenConstructor = true,
34         genHiddenConstDefs = true)
35 public final class UserStartResult implements Parcelable, OperationResult {
36 
37     /**
38     * When user start is successful.
39     *
40     * @hide
41     */
42     @Status
43     public static final int STATUS_SUCCESSFUL = CommonResults.STATUS_SUCCESSFUL;
44 
45     /**
46     * When user start failed.
47     *
48     * @hide
49     */
50     @Status
51     public static final int STATUS_ANDROID_FAILURE = CommonResults.STATUS_ANDROID_FAILURE;
52 
53     /**
54      * When user to start is same as current user.
55      *
56      * @hide
57      */
58     @Status
59     public static final int STATUS_SUCCESSFUL_USER_IS_CURRENT_USER =
60             CommonResults.LAST_COMMON_STATUS + 1;
61 
62     /**
63      * When user to start does not exist.
64      *
65      * @hide
66      */
67     @Status
68     public static final int STATUS_USER_DOES_NOT_EXIST = CommonResults.LAST_COMMON_STATUS + 2;
69 
70     /**
71     * Gets the user start result status.
72     *
73     * @return either {@link UserStartRsult#STATUS_SUCCESSFUL},
74     *         {@link UserStartResult#STATUS_SUCCESSFUL_USER_IS_CURRENT_USER},
75     *         {@link UserStartResult#STATUS_ANDROID_FAILURE},
76     *         {@link UserStartResult#STATUS_USER_DOES_NOT_EXIST}, or
77     */
78     private final @Status int mStatus;
79 
80     @Override
isSuccess()81     public boolean isSuccess() {
82         return mStatus == STATUS_SUCCESSFUL || mStatus == STATUS_SUCCESSFUL_USER_IS_CURRENT_USER;
83     }
84 
85 
86 
87     // Code below generated by codegen v1.0.23.
88     //
89     // DO NOT MODIFY!
90     // CHECKSTYLE:OFF Generated code
91     //
92     // To regenerate run:
93     // $ codegen $ANDROID_BUILD_TOP/packages/services/Car/car-lib/src/android/car/user/UserStartResult.java
94     //
95     // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
96     //   Settings > Editor > Code Style > Formatter Control
97     //@formatter:off
98 
99 
100     /** @hide */
101     @android.annotation.IntDef(prefix = "STATUS_", value = {
102         STATUS_SUCCESSFUL,
103         STATUS_ANDROID_FAILURE,
104         STATUS_SUCCESSFUL_USER_IS_CURRENT_USER,
105         STATUS_USER_DOES_NOT_EXIST
106     })
107     @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
108     @DataClass.Generated.Member
109     public @interface Status {}
110 
111     /** @hide */
112     @DataClass.Generated.Member
113     @ExcludeFromCodeCoverageGeneratedReport(reason = BOILERPLATE_CODE)
statusToString(@tatus int value)114     public static String statusToString(@Status int value) {
115         switch (value) {
116             case STATUS_SUCCESSFUL:
117                     return "STATUS_SUCCESSFUL";
118             case STATUS_ANDROID_FAILURE:
119                     return "STATUS_ANDROID_FAILURE";
120             case STATUS_SUCCESSFUL_USER_IS_CURRENT_USER:
121                     return "STATUS_SUCCESSFUL_USER_IS_CURRENT_USER";
122             case STATUS_USER_DOES_NOT_EXIST:
123                     return "STATUS_USER_DOES_NOT_EXIST";
124             default: return Integer.toHexString(value);
125         }
126     }
127 
128     /**
129      * Creates a new UserStartResult.
130      *
131      * @param status
132      *   Gets the user start result status.
133      *
134      *   @return either {@link UserStartRsult#STATUS_SUCCESSFUL},
135      *           {@link UserStartResult#STATUS_ANDROID_FAILURE},
136      *           {@link UserStartResult#STATUS_SUCCESSFUL_USER_IS_CURRENT_USER},
137      *           {@link UserStartResult#STATUS_USER_DOES_NOT_EXIST}, or
138      * @hide
139      */
140     @DataClass.Generated.Member
UserStartResult( @tatus int status)141     public UserStartResult(
142             @Status int status) {
143         this.mStatus = status;
144 
145         if (!(mStatus == STATUS_SUCCESSFUL)
146                 && !(mStatus == STATUS_ANDROID_FAILURE)
147                 && !(mStatus == STATUS_SUCCESSFUL_USER_IS_CURRENT_USER)
148                 && !(mStatus == STATUS_USER_DOES_NOT_EXIST)) {
149             throw new java.lang.IllegalArgumentException(
150                     "status was " + mStatus + " but must be one of: "
151                             + "STATUS_SUCCESSFUL(" + STATUS_SUCCESSFUL + "), "
152                             + "STATUS_ANDROID_FAILURE(" + STATUS_ANDROID_FAILURE + "), "
153                             + "STATUS_SUCCESSFUL_USER_IS_CURRENT_USER(" + STATUS_SUCCESSFUL_USER_IS_CURRENT_USER + "), "
154                             + "STATUS_USER_DOES_NOT_EXIST(" + STATUS_USER_DOES_NOT_EXIST + ")");
155         }
156 
157 
158         // onConstructed(); // You can define this method to get a callback
159     }
160 
161     /**
162      * Gets the user start result status.
163      *
164      * @return either {@link UserStartRsult#STATUS_SUCCESSFUL},
165      *         {@link UserStartResult#STATUS_ANDROID_FAILURE},
166      *         {@link UserStartResult#STATUS_SUCCESSFUL_USER_IS_CURRENT_USER},
167      *         {@link UserStartResult#STATUS_USER_DOES_NOT_EXIST}, or
168      */
169     @DataClass.Generated.Member
getStatus()170     public @Status int getStatus() {
171         return mStatus;
172     }
173 
174     @Override
175     @DataClass.Generated.Member
toString()176     public String toString() {
177         // You can override field toString logic by defining methods like:
178         // String fieldNameToString() { ... }
179 
180         return "UserStartResult { " +
181                 "status = " + statusToString(mStatus) +
182         " }";
183     }
184 
185     @Override
186     @DataClass.Generated.Member
187     @ExcludeFromCodeCoverageGeneratedReport(reason = BOILERPLATE_CODE)
writeToParcel(@ndroid.annotation.NonNull android.os.Parcel dest, int flags)188     public void writeToParcel(@android.annotation.NonNull android.os.Parcel dest, int flags) {
189         // You can override field parcelling by defining methods like:
190         // void parcelFieldName(Parcel dest, int flags) { ... }
191 
192         dest.writeInt(mStatus);
193     }
194 
195     @Override
196     @DataClass.Generated.Member
197     @ExcludeFromCodeCoverageGeneratedReport(reason = BOILERPLATE_CODE)
describeContents()198     public int describeContents() { return 0; }
199 
200     /** @hide */
201     @SuppressWarnings({"unchecked", "RedundantCast"})
202     @DataClass.Generated.Member
UserStartResult(@ndroid.annotation.NonNull android.os.Parcel in)203     /* package-private */ UserStartResult(@android.annotation.NonNull android.os.Parcel in) {
204         // You can override field unparcelling by defining methods like:
205         // static FieldType unparcelFieldName(Parcel in) { ... }
206 
207         int status = in.readInt();
208 
209         this.mStatus = status;
210 
211         if (!(mStatus == STATUS_SUCCESSFUL)
212                 && !(mStatus == STATUS_ANDROID_FAILURE)
213                 && !(mStatus == STATUS_SUCCESSFUL_USER_IS_CURRENT_USER)
214                 && !(mStatus == STATUS_USER_DOES_NOT_EXIST)) {
215             throw new java.lang.IllegalArgumentException(
216                     "status was " + mStatus + " but must be one of: "
217                             + "STATUS_SUCCESSFUL(" + STATUS_SUCCESSFUL + "), "
218                             + "STATUS_ANDROID_FAILURE(" + STATUS_ANDROID_FAILURE + "), "
219                             + "STATUS_SUCCESSFUL_USER_IS_CURRENT_USER(" + STATUS_SUCCESSFUL_USER_IS_CURRENT_USER + "), "
220                             + "STATUS_USER_DOES_NOT_EXIST(" + STATUS_USER_DOES_NOT_EXIST + ")");
221         }
222 
223 
224         // onConstructed(); // You can define this method to get a callback
225     }
226 
227     @DataClass.Generated.Member
228     public static final @android.annotation.NonNull Parcelable.Creator<UserStartResult> CREATOR
229             = new Parcelable.Creator<UserStartResult>() {
230         @Override
231         public UserStartResult[] newArray(int size) {
232             return new UserStartResult[size];
233         }
234 
235         @Override
236         public UserStartResult createFromParcel(@android.annotation.NonNull android.os.Parcel in) {
237             return new UserStartResult(in);
238         }
239     };
240 
241     @DataClass.Generated(
242             time = 1673056382532L,
243             codegenVersion = "1.0.23",
244             sourceFile = "packages/services/Car/car-lib/src/android/car/user/UserStartResult.java",
245             inputSignatures = "public static final @android.car.user.UserStartResult.Status @android.car.annotation.AddedInOrBefore int STATUS_SUCCESSFUL\npublic static final @android.car.user.UserStartResult.Status @android.car.annotation.AddedInOrBefore int STATUS_ANDROID_FAILURE\npublic static final @android.car.user.UserStartResult.Status @android.car.annotation.AddedInOrBefore int STATUS_SUCCESSFUL_USER_IS_CURRENT_USER\npublic static final @android.car.user.UserStartResult.Status @android.car.annotation.AddedInOrBefore int STATUS_USER_DOES_NOT_EXIST\nprivate final @android.car.user.UserStartResult.Status int mStatus\npublic @java.lang.Override @android.car.annotation.AddedInOrBefore boolean isSuccess()\nclass UserStartResult extends java.lang.Object implements [android.os.Parcelable, android.car.user.OperationResult]\n@com.android.car.internal.util.DataClass(genToString=true, genHiddenConstructor=true, genHiddenConstDefs=true)")
246     @Deprecated
__metadata()247     private void __metadata() {}
248 
249 
250     //@formatter:on
251     // End of generated code
252 
253 }
254