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